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, THISFields inherited from interface groovy.lang.groovydoc.GroovydocHolder
DOC_COMMENTFields 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)longgetCompilationTimeStamp()java.util.List<ConstructorNode>getDeclaredConstructors()FieldNodegetDeclaredField(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 classjava.util.List<FieldNode>getFields()GenericsType[]getGenericsTypes()ClassNode[]getInterfaces()java.util.List<MethodNode>getMethods()java.lang.ClassgetTypeClass()Returns the concrete class this classnode relates to.ClassNode[]getUnresolvedInterfaces(boolean useRedirect)ClassNodegetUnresolvedSuperClass(boolean useRedirect)booleanisParameterized()booleanisResolved()booleanisUsingGenerics()voidsetGenericsPlaceHolder(boolean b)java.lang.StringsetName(java.lang.String name)voidsetRedirect(ClassNode cn)Sets this instance as proxy for the givenClassNode.voidsetUsingGenerics(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, visitContentsMethods inherited from class org.codehaus.groovy.ast.AnnotatedNode
addAnnotation, addAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSyntheticMethods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visitMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler
copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
Constructor Details
-
DecompiledClassNode
-
-
Method Details
-
getCompilationTimeStamp
public long getCompilationTimeStamp() -
getTypeClass
public java.lang.Class getTypeClass()Description copied from class:ClassNodeReturns 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 usingClassNode.getPlainNodeReference().- Overrides:
getTypeClassin classClassNode- Returns:
- the class this classnode relates to. May return null.
-
isParameterized
public boolean isParameterized() -
isResolved
public boolean isResolved()- Overrides:
isResolvedin classClassNode
-
setName
public java.lang.String setName(java.lang.String name) -
setRedirect
Description copied from class:ClassNodeSets this instance as proxy for the givenClassNode.- Overrides:
setRedirectin classClassNode- Parameters:
cn- the class to redirect to; ifnullthe redirect is removed
-
setUsingGenerics
public void setUsingGenerics(boolean b)- Overrides:
setUsingGenericsin classClassNode
-
setGenericsPlaceHolder
public void setGenericsPlaceHolder(boolean b)- Overrides:
setGenericsPlaceHolderin classClassNode
-
getAnnotations
- Overrides:
getAnnotationsin classClassNode
-
getAnnotations
- Overrides:
getAnnotationsin classClassNode
-
getGenericsTypes
- Overrides:
getGenericsTypesin classClassNode
-
getInterfaces
- Overrides:
getInterfacesin classClassNode- Returns:
- the interfaces implemented by this
ClassNode
-
getUnresolvedInterfaces
- Overrides:
getUnresolvedInterfacesin classClassNode
-
getUnresolvedSuperClass
- Overrides:
getUnresolvedSuperClassin classClassNode
-
isUsingGenerics
public boolean isUsingGenerics()- Overrides:
isUsingGenericsin classClassNode
-
getDeclaredConstructors
- Overrides:
getDeclaredConstructorsin classClassNode
-
getDeclaredField
Description copied from class:ClassNodeFinds a field matching the given name in this class.- Overrides:
getDeclaredFieldin classClassNode- Parameters:
name- the name of the field of interest- Returns:
- the method matching the given name and parameters or null
-
getDeclaredMethods
Description copied from class:ClassNodeThis method returns a list of all methods of the given name defined in the current class- Overrides:
getDeclaredMethodsin classClassNode- Returns:
- the method list
- See Also:
ClassNode.getMethods(String)
-
getFields
-
getMethods
- Overrides:
getMethodsin classClassNode- Returns:
- the methods associated with this
ClassNode
-