You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, I don't really know the implications. It seems like any consequences would be benign unless the user somehow modified the capsule system topology using such a capsule.
Should we implement a check to prevent this? I'm pretty sure that it would be straightforward to implement.
The text was updated successfully, but these errors were encountered:
It may be worth it to implement it, since any extenders make the annotations in the template become meaningless to the derived class. An alternative is that we could require the templates to be final classes instead to indicate this explicitly. The same could apply for many of the generated classes such as Console$Thread, which probably shouldn't be extended.
Though I like the idea of using final on user-defined templates because it makes the Java compiler do the check for us. But I see three problems with requiring the user to use final:
It adds extra syntax.
It adds an additional rule that the user needs to know about right away and to use every time.
To enforce the use of final we would need to write and maintain another static check. If we are doing so, why not just write a check that looks for subtypes.
But I agree 100% with your idea to mark generated artifacts as final.
Right now, I don't really know the implications. It seems like any consequences would be benign unless the user somehow modified the capsule system topology using such a capsule.
Should we implement a check to prevent this? I'm pretty sure that it would be straightforward to implement.
The text was updated successfully, but these errors were encountered: