Package org.codehaus.groovy.ast.decompiled

# Class DecompiledClassNode

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.ClassNode
org.codehaus.groovy.ast.decompiled.DecompiledClassNode

All Implemented Interfaces:
  `GroovydocHolder<AnnotatedNode>`, `NodeMetaDataHandler`, `org.objectweb.asm.Opcodes`

    public class DecompiledClassNode
    extends ClassNode

A `ClassNode` kind representing the classes coming from *.class files decompiled using ASM.

See Also:
  `AsmDecompiler`

- ## Field Summary

  ### Fields inherited from class org.codehaus.groovy.ast.ClassNode

  `clazz, EMPTY_ARRAY, innerClasses, isPrimaryNode, lazyInitLock, SUPER, THIS`

  ### Fields inherited from interface groovy.lang.groovydoc.GroovydocHolder

  `DOC_COMMENT`

  ### 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_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, 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, INTEGER, INVOKEDYNAMIC, 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, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V9`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `DecompiledClassNode​(ClassStub classData, AsmReferenceResolver resolver)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `java.util.List<AnnotationNode>` | `getAnnotations()` |
  `java.util.List<AnnotationNode>` | `getAnnotations​(ClassNode type)` |
  `long` | `getCompilationTimeStamp()` |
  `java.util.List<ConstructorNode>` | `getDeclaredConstructors()` |
  `FieldNode` | `getDeclaredField​(java.lang.String name)` | Finds a field matching the given name in this class.
  `java.util.List<MethodNode>` | `getDeclaredMethods​(java.lang.String name)` | This method returns a list of all methods of the given name defined in the current class
  `java.util.List<FieldNode>` | `getFields()` |
  `GenericsType[]` | `getGenericsTypes()` |
  `ClassNode[]` | `getInterfaces()` |
  `java.util.List<MethodNode>` | `getMethods()` |
  `java.lang.Class` | `getTypeClass()` | Returns the concrete class this classnode relates to.
  `ClassNode[]` | `getUnresolvedInterfaces​(boolean useRedirect)` |
  `ClassNode` | `getUnresolvedSuperClass​(boolean useRedirect)` |
  `boolean` | `isParameterized()` |
  `boolean` | `isResolved()` |
  `boolean` | `isUsingGenerics()` |
  `void` | `setGenericsPlaceHolder​(boolean b)` |
  `java.lang.String` | `setName​(java.lang.String name)` |
  `void` | `setRedirect​(ClassNode cn)` | Sets this instance as proxy for the given `ClassNode`.
  `void` | `setUsingGenerics​(boolean b)` |

  ### Methods inherited from class org.codehaus.groovy.ast.ClassNode

  `addConstructor, addConstructor, addField, addField, addFieldFirst, addFieldFirst, addInterface, addMethod, addMethod, addMixin, addObjectInitializerStatements, addProperty, addProperty, addStaticInitializerStatements, addSyntheticMethod, addTransform, asGenericsType, declaresAnyInterfaces, declaresInterface, equals, getAbstractMethods, getAllDeclaredMethods, getAllInterfaces, getCompileUnit, getComponentType, getDeclaredConstructor, getDeclaredMethod, getDeclaredMethodsMap, getEnclosingMethod, getField, getFieldIndex, getGetterMethod, getGetterMethod, getInnerClasses, getMethod, getMethods, getMixins, getModifiers, getModule, getName, getNameWithoutPackage, getObjectInitializerStatements, getOuterClass, getOuterClasses, getOuterField, getPackage, getPackageName, getPlainNodeReference, getProperties, getProperty, getSetterMethod, getSetterMethod, getSuperClass, getText, getTransforms, getUnresolvedInterfaces, getUnresolvedName, getUnresolvedSuperClass, hasDeclaredMethod, hashCode, hasMethod, hasPackageName, hasPossibleMethod, hasPossibleStaticMethod, hasProperty, implementsAnyInterfaces, implementsInterface, isAbstract, isAnnotated, isAnnotationDefinition, isArray, isDerivedFrom, isDerivedFromGroovyObject, isEnum, isGenericsPlaceHolder, isInterface, isPrimaryClassNode, isRedirectNode, isScript, isScriptBody, isStaticClass, isSyntheticPublic, makeArray, parametersEqual, positionStmtsAfterEnumInitStmts, redirect, removeConstructor, removeField, removeMethod, renameField, setAnnotated, setCompileUnit, setEnclosingMethod, setGenericsTypes, setInterfaces, setMixins, setModifiers, setModule, setScript, setScriptBody, setStaticClass, setSuperClass, setSyntheticPublic, setUnresolvedSuperClass, toString, toString, tryFindPossibleMethod, visitContents`

  ### Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode

  `addAnnotation, addAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`

  ### Methods inherited from class org.codehaus.groovy.ast.ASTNode

  `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler

  `copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData`

- ## Constructor Details

  - ### DecompiledClassNode

    public DecompiledClassNode​(ClassStub classData, AsmReferenceResolver resolver)

- ## Method Details

  - ### getCompilationTimeStamp

    public long getCompilationTimeStamp()

  - ### getTypeClass

    public java.lang.Class getTypeClass()
    Description copied from class: `ClassNode`
    Returns the concrete class this classnode relates to. However, this method is inherently unsafe as it may return null depending on the compile phase you are using. AST transformations should never use this method directly, but rather obtain a new class node using `ClassNode.getPlainNodeReference()`.
    Overrides:
      `getTypeClass` in class `ClassNode`
    Returns:
      the class this classnode relates to. May return null.

  - ### isParameterized

    public boolean isParameterized()

  - ### isResolved

    public boolean isResolved()
    Overrides:
      `isResolved` in class `ClassNode`

  - ### setName

    public java.lang.String setName​(java.lang.String name)
    Overrides:
      `setName` in class `ClassNode`

  - ### setRedirect

    public void setRedirect​(ClassNode cn)
    Description copied from class: `ClassNode`
    Sets this instance as proxy for the given `ClassNode`.
    Overrides:
      `setRedirect` in class `ClassNode`
    Parameters:
      `cn` - the class to redirect to; if `null` the redirect is removed

  - ### setUsingGenerics

    public void setUsingGenerics​(boolean b)
    Overrides:
      `setUsingGenerics` in class `ClassNode`

  - ### setGenericsPlaceHolder

    public void setGenericsPlaceHolder​(boolean b)
    Overrides:
      `setGenericsPlaceHolder` in class `ClassNode`

  - ### getAnnotations

    public java.util.List<AnnotationNode> getAnnotations()
    Overrides:
      `getAnnotations` in class `ClassNode`

  - ### getAnnotations

    public java.util.List<AnnotationNode> getAnnotations​(ClassNode type)
    Overrides:
      `getAnnotations` in class `ClassNode`

  - ### getGenericsTypes

    public GenericsType[] getGenericsTypes()
    Overrides:
      `getGenericsTypes` in class `ClassNode`

  - ### getInterfaces

    public ClassNode[] getInterfaces()
    Overrides:
      `getInterfaces` in class `ClassNode`
    Returns:
      the interfaces implemented by this `ClassNode`

  - ### getUnresolvedInterfaces

    public ClassNode[] getUnresolvedInterfaces​(boolean useRedirect)
    Overrides:
      `getUnresolvedInterfaces` in class `ClassNode`

  - ### getUnresolvedSuperClass

    public ClassNode getUnresolvedSuperClass​(boolean useRedirect)
    Overrides:
      `getUnresolvedSuperClass` in class `ClassNode`

  - ### isUsingGenerics

    public boolean isUsingGenerics()
    Overrides:
      `isUsingGenerics` in class `ClassNode`

  - ### getDeclaredConstructors

    public java.util.List<ConstructorNode> getDeclaredConstructors()
    Overrides:
      `getDeclaredConstructors` in class `ClassNode`

  - ### getDeclaredField

    public FieldNode getDeclaredField​(java.lang.String name)
    Description copied from class: `ClassNode`
    Finds a field matching the given name in this class.
    Overrides:
      `getDeclaredField` in class `ClassNode`
    Parameters:
      `name` - the name of the field of interest
    Returns:
      the method matching the given name and parameters or null

  - ### getDeclaredMethods

    public java.util.List<MethodNode> getDeclaredMethods​(java.lang.String name)
    Description copied from class: `ClassNode`
    This method returns a list of all methods of the given name defined in the current class
    Overrides:
      `getDeclaredMethods` in class `ClassNode`
    Returns:
      the method list
    See Also:
      `ClassNode.getMethods(String)`

  - ### getFields

    public java.util.List<FieldNode> getFields()
    Overrides:
      `getFields` in class `ClassNode`
    Returns:
      the fields associated with this `ClassNode`

  - ### getMethods

    public java.util.List<MethodNode> getMethods()
    Overrides:
      `getMethods` in class `ClassNode`
    Returns:
      the methods associated with this `ClassNode`