예제 #1
0
 private static boolean classNodeUsesReferences(ClassNode classNode) {
   boolean ret = classNode.getSuperClass() == ClassHelper.CLOSURE_TYPE;
   if (ret) return ret;
   if (classNode instanceof InnerClassNode) {
     InnerClassNode inner = (InnerClassNode) classNode;
     return inner.isAnonymous();
   }
   return false;
 }
  public void visitClass(ClassNode node) {
    // AIC are already done, doing them here again will lead
    // to wrong scopes
    if (node instanceof InnerClassNode) {
      InnerClassNode in = (InnerClassNode) node;
      if (in.isAnonymous()) return;
    }

    pushState();

    prepareVisit(node);

    super.visitClass(node);
    popState();
  }