Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.7-beta-1
    • 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

      Attachments

        1. groovy-3255.patch
          2 kB
          René de Bloois

        Activity

          People

            paulk Paul King
            blackdrag Jochen Theodorou
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: