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
Parsing MuhClass will complain that Error: (3, 1) No default constructor in scratch.MuhAnnotation.
I think this is a red herring. But the real error is that MuhAnnotation has ParseExceptions as it doesn't expect the nested type MuhSubAnnotation.
Using a similar example and using the command-line compiler, I can reproduce this ST:
Exception in thread "main" gw.lang.parser.exceptions.ParseResultsException: Errors:
Unexpected token: '}' [line:1 col:38] in
line 1: {@scratch.MuhSubAnnotation(:value="")}
Line Number: 1 Column: 38
Expecting '}' to close statement block. [line:1 col:38] in
line 1: {@scratch.MuhSubAnnotation(:value="")}
Line Number: 1 Column: 38
at gw.internal.gosu.parser.ParserBase.verifyParsedElement(ParserBase.java:292)
at gw.internal.gosu.parser.ParserBase.verifyParsedElement(ParserBase.java:263)
at gw.internal.gosu.parser.GosuParser.parseProgram(GosuParser.java:811)
at gw.internal.gosu.parser.GosuParser.parseProgram(GosuParser.java:732)
at gw.internal.gosu.parser.GosuParser.parseProgram(GosuParser.java:727)
at gw.internal.gosu.parser.GosuParser.parseProgram(GosuParser.java:722)
at gw.internal.gosu.parser.GosuParser.parseExpOrProgram(GosuParser.java:1083)
at gw.internal.gosu.parser.java.classinfo.CompileTimeExpressionParser.parse(CompileTimeExpressionParser.java:66)
at gw.internal.gosu.parser.AnnotationConstructorGenerator.makeDefaultValueExpression(AnnotationConstructorGenerator.java:201)
at gw.internal.gosu.parser.AnnotationConstructorGenerator.makeLegacyAllArgsAnnotationConstructor(AnnotationConstructorGenerator.java:181)
at gw.internal.gosu.parser.AnnotationConstructorGenerator.addLegacyConstructors(AnnotationConstructorGenerator.java:60)
at gw.internal.gosu.parser.AnnotationConstructorGenerator.generateAnnotationConstructors(AnnotationConstructorGenerator.java:44)
at gw.internal.gosu.parser.JavaTypeInfo$3.init(JavaTypeInfo.java:237)
at gw.internal.gosu.parser.JavaTypeInfo$3.init(JavaTypeInfo.java:231)
at gw.util.concurrent.LockingLazyVar.get(LockingLazyVar.java:53)
at gw.internal.gosu.parser.JavaTypeInfo.getDeclaredConstructors(JavaTypeInfo.java:418)
at gw.lang.reflect.FeatureManager.maybeInitConstructors(FeatureManager.java:434) - (scratch.MuhAnnotation)
at gw.lang.reflect.FeatureManager.getConstructors(FeatureManager.java:250)
at gw.internal.gosu.parser.JavaTypeInfo.getConstructors(JavaTypeInfo.java:377)
at gw.internal.gosu.parser.JavaTypeInfo.getConstructors(JavaTypeInfo.java:371)
at gw.internal.gosu.parser.JavaTypeInfo.getConstructor(JavaTypeInfo.java:396)
at gw.internal.gosu.parser.GosuParser.parseNewExpressionOrAnnotation(GosuParser.java:4557)
at gw.internal.gosu.parser.GosuParser._parseNewExpressionOrAnnotation(GosuParser.java:4304)
at gw.internal.gosu.parser.GosuParser.parseNewExpressionOrAnnotation(GosuParser.java:4251)
at gw.internal.gosu.parser.ParserBase.parseAnnotation(ParserBase.java:1869)
at gw.internal.gosu.parser.ParserBase.parseModifiers(ParserBase.java:1674)
at gw.internal.gosu.parser.GosuClassParser.parseModifiersForClass(GosuClassParser.java:2032)
at gw.internal.gosu.parser.GosuClassParser.parseClassType(GosuClassParser.java:1901)
at gw.internal.gosu.parser.GosuClassParser.parseHeader(GosuClassParser.java:1706)
at gw.internal.gosu.parser.GosuClassParser.parseDefinitions(GosuClassParser.java:415)
at gw.internal.gosu.parser.GosuClass.compileDefinitionsIfNeeded(GosuClass.java:1551)
at gw.internal.gosu.parser.GosuClass.compileDefinitionsIfNeeded(GosuClass.java:1494)
at gw.internal.gosu.parser.GosuClass.isValid(GosuClass.java:925)
at gw.internal.gosu.parser.GosuClass_Proxy.isValid(gw.internal.gosu.parser.GosuClass_Proxy:2)
at gw.lang.gosuc.simple.GosuCompiler.compile(GosuCompiler.java:267)
at gw.lang.gosuc.simple.GosuCompiler.compileGosuSources(GosuCompiler.java:194)
at gw.lang.gosuc.simple.GosuCompiler.compile(GosuCompiler.java:112)
at gw.lang.gosuc.cli.CommandLineCompiler.execute(CommandLineCompiler.java:81)
at gw.lang.gosuc.cli.CommandLineCompiler.invoke(CommandLineCompiler.java:42)
at gw.lang.gosuc.cli.CommandLineCompiler.main(CommandLineCompiler.java:32)
In Lab, create three files:
Parsing MuhClass will complain that
Error: (3, 1) No default constructor in scratch.MuhAnnotation.
I think this is a red herring. But the real error is that
MuhAnnotation
has ParseExceptions as it doesn't expect the nested typeMuhSubAnnotation
.Using a similar example and using the command-line compiler, I can reproduce this ST:
You can find this example at https://github.com/gosu-lang/example-gradle-hybrid/tree/anno. Clone the repo, checkout branch
anno
then run./gradlew clean compileGosu
The text was updated successfully, but these errors were encountered: