org.codehaus.groovy.ast
Class InnerClassNode

java.lang.Object
  extended by org.codehaus.groovy.ast.ASTNode
      extended by org.codehaus.groovy.ast.AnnotatedNode
          extended by org.codehaus.groovy.ast.ClassNode
              extended by org.codehaus.groovy.ast.InnerClassNode
All Implemented Interfaces:
org.objectweb.asm.Opcodes
Direct Known Subclasses:
InterfaceHelperClassNode

public class InnerClassNode
extends ClassNode

Represents an inner class declaration

Version:
$Revision: 13563 $
Author:
James Strachan

Field Summary
 
Fields inherited from class org.codehaus.groovy.ast.ClassNode
clazz, EMPTY_ARRAY, isPrimaryNode, lazyInitLock, SUPER, THIS
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6
 
Constructor Summary
InnerClassNode(ClassNode outerClass, String name, int modifiers, ClassNode superClass)
           
InnerClassNode(ClassNode outerClass, String name, int modifiers, ClassNode superClass, ClassNode[] interfaces, MixinNode[] mixins)
           
 
Method Summary
 ClassNode getOuterClass()
          Helper method to avoid casting to inner class
 FieldNode getOuterField(String name)
           
 
Methods inherited from class org.codehaus.groovy.ast.ClassNode
addConstructor, addConstructor, addField, addField, addInterface, addMethod, addMethod, addMixin, addObjectInitializerStatements, addProperty, addProperty, addStaticInitializerStatements, addSyntheticMethod, addTransform, declaresInterface, equals, getAbstractMethods, getAllDeclaredMethods, getAllInterfaces, getAnnotations, getAnnotations, getCompileUnit, getComponentType, getDeclaredConstructors, getDeclaredField, getDeclaredMethod, getDeclaredMethods, getDeclaredMethodsMap, getEnclosingMethod, getField, getFields, getGenericsTypes, getGetterMethod, getInterfaces, getMethod, getMethods, getMethods, getMixins, getModifiers, getModule, getName, getNameWithoutPackage, getObjectInitializerStatements, getPackageName, getPlainNodeReference, getProperties, getProperty, getSetterMethod, getSuperClass, getTransforms, getTypeClass, getUnresolvedSuperClass, getUnresolvedSuperClass, hasDeclaredMethod, hashCode, hasMethod, hasPackageName, hasPossibleMethod, hasPossibleStaticMethod, hasProperty, implementsInterface, isAnnotated, isAnnotationDefinition, isArray, isDerivedFrom, isDerivedFromGroovyObject, isEnum, isGenericsPlaceHolder, isInterface, isPrimaryClassNode, isResolved, isScript, isScriptBody, isStaticClass, isUsingGenerics, makeArray, parametersEqual, positionStmtsAfterEnumInitStmts, redirect, renameField, setAnnotated, setCompileUnit, setEnclosingMethod, setGenericsPlaceHolder, setGenericsTypes, setInterfaces, setModifiers, setModule, setName, setRedirect, setScript, setScriptBody, setStaticClass, setSuperClass, setUnresolvedSuperClass, setUsingGenerics, toString, tryFindPossibleMethod, visitContents
 
Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode
addAnnotation, addAnnotations, getDeclaringClass, isSynthetic, setDeclaringClass, setSynthetic
 
Methods inherited from class org.codehaus.groovy.ast.ASTNode
getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setSourcePosition, visit
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InnerClassNode

public InnerClassNode(ClassNode outerClass,
                      String name,
                      int modifiers,
                      ClassNode superClass)
Parameters:
name - is the full name of the class
modifiers - the modifiers, @see org.objectweb.asm.Opcodes
superClass - the base class name - use "java.lang.Object" if no direct base class

InnerClassNode

public InnerClassNode(ClassNode outerClass,
                      String name,
                      int modifiers,
                      ClassNode superClass,
                      ClassNode[] interfaces,
                      MixinNode[] mixins)
Parameters:
name - is the full name of the class
modifiers - the modifiers, @see org.objectweb.asm.Opcodes
superClass - the base class name - use "java.lang.Object" if no direct base class
Method Detail

getOuterClass

public ClassNode getOuterClass()
Description copied from class: ClassNode
Helper method to avoid casting to inner class

Overrides:
getOuterClass in class ClassNode

getOuterField

public FieldNode getOuterField(String name)
Overrides:
getOuterField in class ClassNode
Returns:
the field node on the outer class or null if this is not an inner class

Copyright © 2003-2010 The Codehaus. All rights reserved.