Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
ClassNode:306 has
if ((modifiers & ACC_INTERFACE) == 0) addField("$ownClass", ACC_STATIC|ACC_PUBLIC|ACC_FINAL, ClassHelper.CLASS_Type, new ClassExpression(this)).setSynthetic(true); transformInstances = new EnumMap<CompilePhase, Map<Class <? extends ASTTransformation>, Set<ASTNode>>>(CompilePhase.class); for (CompilePhase phase : CompilePhase.values()) { transformInstances.put(phase, new HashMap<Class <? extends ASTTransformation>, Set<ASTNode>>()); }
which should be moved somewhere else. The "$ownclass" probably into verifier and the for transformInstances (moved to GROOVY-3588) we need to find a good place. At last there is no sense in addeding these instances to a ClassNode, that is no primary class node. The code above is for example executed for each class creation in ClassHelper, which looks very surplus