paulk-asert commented on PR #3016: URL: https://github.com/apache/groovy/pull/3016#issuecomment-6393362310
Thanks Daniel. 1. Yes, that's intentional. When the base has no (Binding) constructor, ModuleNode's contextual constructor is super() followed by setBinding(context), so it goes the same way as the no-arg one. I've expanded the comment to say so. A consequence: a base with only argument constructors gives a script that GroovyShell can't run itself, which is expected, since such bases are instantiated by the hosting engine. 2. Agreed. The Verifier weaves initializers in later, and the @Field test covers that. 3. Agreed, I'd leave generating the script constructors from the resolved base as follow-up work for 7. 4. I checked this one with a precompiled base passed as scriptBaseClass. When nothing is inherited, the Verifier adds a default constructor, so the script still fails with the same "Implicit super constructor PrivBase() is undefined for generated constructor" error as before, not a class with no constructors. The CI failure is the groovy-lsp publishDiagnostics race, which is now fixed on master. A rebase will clear it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
