Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Private callbacks and properties #35

Closed
8 tasks done
mabar opened this issue Nov 26, 2022 · 3 comments
Closed
8 tasks done

Private callbacks and properties #35

mabar opened this issue Nov 26, 2022 · 3 comments

Comments

@mabar
Copy link
Member

mabar commented Nov 26, 2022

Follow up of #30 and #31

Currently are private callbacks and properties supported only in final classes. To support them on any classes, following must be resolved:

  • meta validation must distinguish between classes in hierarchy
  • - for each method/property must be used declaring class, not current class
  • - multiple private methods/properties with same name must work (binding needs classname for private methods/properties)
  • - public and protected methods must be validated in context of both defining and overriding class (to find source of error as well as ensuring overriding method e.g. changing parameters count from 1 to 2 is not broken) - continues in Callbacks covariance and contravariance #56
  • - public and protected properties should not allow to be redefined (or at least their rules cannot be changed) - continues in Fields invariance #55
  • - private properties with same must enforce different field name to avoid collisions
  • before call must be method/property binded to context of class which defines it
  • ! ensure metadata specify exact source - it matters whether annotation/attribute was defined on parent or child class !
@mabar mabar changed the title Private callbacks Private callbacks and properties Nov 28, 2022
@mabar
Copy link
Member Author

mabar commented Jan 16, 2023

Private mapped properties and callbacks are supported in any class since c1d7940

Traits and interfaces support was not checked yet. And neither overriding of public/protected properties/methods.

@mabar
Copy link
Member Author

mabar commented Jan 27, 2023

Mostly done, rest continues in issues linked to related tasks

@mabar mabar closed this as completed Jan 27, 2023
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

1 participant