Skip to content

NPE: "transformLoader" is null when using macro #1409

@chrylis

Description

@chrylis

In 4.25-SNAPSHOT version 4.8.0.v202210112349-e2209, I am getting compilation errors due to an NPE inside the compiler. This seems to be triggered when I'm using the Groovy MacroClass function.

Caused by: java.lang.NullPointerException: Cannot invoke "groovy.lang.GroovyClassLoader.getResources(String)" because "transformLoader" is null
	at org.codehaus.groovy.transform.ASTTransformationVisitor.doAddGlobalTransforms(ASTTransformationVisitor.java:342)
	at org.codehaus.groovy.transform.ASTTransformationVisitor.addGlobalTransforms(ASTTransformationVisitor.java:334)
	at org.codehaus.groovy.transform.ASTTransformationVisitor.addPhaseOperations(ASTTransformationVisitor.java:279)
	at org.codehaus.groovy.control.CompilationUnit.addPhaseOperations(CompilationUnit.java:335)
	at org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:190)
	at org.codehaus.groovy.control.CompilationUnit.<init>(CompilationUnit.java:161)
	at org.codehaus.groovy.ast.builder.AstStringCompiler.compile(AstStringCompiler.java:68)
	at org.codehaus.groovy.ast.builder.AstBuilder.buildFromString(AstBuilder.groovy:100)
	at org.codehaus.groovy.macro.runtime.MacroBuilder.macro(MacroBuilder.java:75)
	at org.codehaus.groovy.macro.runtime.MacroBuilder.macro(MacroBuilder.java:56)
	at org.codehaus.groovy.macro.runtime.MacroBuilder.macro(MacroBuilder.java:52)
	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:318)
	at com.example.MyAstTransformation.buildTypeComponents(MyAstTransformation.groovy:128) // return new MacroClass {...}
	at com.example.MyAstTransformation.visit(MyAstTransformation.groovy:70)
	at org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:199)
	at org.codehaus.groovy.transform.ASTTransformationVisitor.lambda$2(ASTTransformationVisitor.java:298)
	at org.codehaus.groovy.control.CompilationUnit$IPrimaryClassNodeOperation.doPhaseOperation(CompilationUnit.java:972)
	... 16 more

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions