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

Fix entry generation for classes implementing custom interfaces with registered members #376

Merged
merged 6 commits into from
Nov 28, 2022

Conversation

chippmann
Copy link
Contributor

@chippmann chippmann commented Nov 15, 2022

This fixes the entry generation for classes which implement custom interfaces.

Sub sequentially this also increases the amount of data the entry generator receives in order to do its job. Previously it only received registered classes, functions, properties and constructors. Now it receives every class, function and property the symbol processor finds. This allows for additional checks on not registered members or not explicitly registered members.

This also adds compiler checks for the cases where any member overrides a registered member of a supertype but is itself not registered. These checks only emit warnings as this might be wanted by the developer in some cases.

This also fixes an inconsistency where we previously enforces overridden registered functions to be explicitly registered as well, but we did not enforce the same for properties. This is now the case and produces both compiler and IDE warnings in these cases

Note:
Before review: Please take a look at the discussion regarding the registration enforcement changes on Discord in the #development channel. Once we make a decision I'll document it here.

Edit: For now we enforce registration for overridden members.

Resolves #371

piiertho
piiertho previously approved these changes Nov 19, 2022
Sub sequentially this also increases the amount of data the entry generator receives in order to do its job. Previously it only received registered classes, functions, properties and constructors. Now it receives every class, function and property from the symbol processor. This allows for additional checks on not registered members or not explicitly registered members.
@chippmann chippmann merged commit 906a5e6 into master Nov 28, 2022
@chippmann chippmann deleted the bugfix/#371 branch November 28, 2022 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Registering properties of custom interfaces breaks code generation
3 participants