Package org.codehaus.groovy.ast
Class MethodNode
- java.lang.Object
- 
- org.codehaus.groovy.ast.ASTNode
- 
- org.codehaus.groovy.ast.AnnotatedNode
- 
- org.codehaus.groovy.ast.MethodNode
 
 
 
- 
- All Implemented Interfaces:
- GroovydocHolder<AnnotatedNode>,- NodeMetaDataHandler,- org.objectweb.asm.Opcodes
 - Direct Known Subclasses:
- ConstructorNode,- ExtensionMethodNode
 
 public class MethodNode extends AnnotatedNode implements org.objectweb.asm.Opcodes Represents a method declaration.
- 
- 
Field Summary- 
Fields inherited from interface groovy.lang.groovydoc.GroovydocHolderDOC_COMMENT
 - 
Fields inherited from interface org.objectweb.asm.OpcodesAALOAD, 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, V9
 
- 
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedMethodNode()MethodNode(String name, int modifiers, ClassNode returnType, Parameter[] parameters, ClassNode[] exceptions, Statement code)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description StatementgetCode()ClassNode[]getExceptions()StatementgetFirstStatement()GenericsType[]getGenericsTypes()intgetModifiers()StringgetName()Parameter[]getParameters()ClassNodegetReturnType()StringgetText()Provides a nicely formatted string of the method definition.StringgetTypeDescriptor()The type descriptor for a method node is a string containing the name of the method, its return type, and its parameter types in a canonical form.VariableScopegetVariableScope()booleanhasAnnotationDefault()booleanhasDefaultValue()booleanisAbstract()booleanisDefault()booleanisDynamicReturnType()booleanisFinal()booleanisPackageScope()booleanisPrivate()booleanisProtected()booleanisPublic()booleanisScriptBody()booleanisStatic()booleanisStaticConstructor()booleanisSyntheticPublic()Indicates that this method has been "promoted" to public by Groovy when in fact there was no public modifier explicitly in the source code.booleanisVoidMethod()voidsetAnnotationDefault(boolean hasDefaultValue)voidsetCode(Statement code)voidsetGenericsTypes(GenericsType[] genericsTypes)voidsetIsScriptBody()Sets the flag for this method to indicate it is a script body implementation.voidsetModifiers(int modifiers)voidsetParameters(Parameter[] parameters)voidsetReturnType(ClassNode returnType)voidsetSyntheticPublic(boolean syntheticPublic)voidsetVariableScope(VariableScope variableScope)StringtoString()- 
Methods inherited from class org.codehaus.groovy.ast.AnnotatedNodeaddAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic
 - 
Methods inherited from class org.codehaus.groovy.ast.ASTNodecopyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandlercopyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData
 
- 
 
- 
- 
- 
Method Detail- 
getTypeDescriptorpublic String getTypeDescriptor() The type descriptor for a method node is a string containing the name of the method, its return type, and its parameter types in a canonical form. For simplicity, we use the format of a Java declaration without parameter names or generics.
 - 
getCodepublic Statement getCode() 
 - 
setCodepublic void setCode(Statement code) 
 - 
getModifierspublic int getModifiers() 
 - 
setModifierspublic void setModifiers(int modifiers) 
 - 
getNamepublic String getName() 
 - 
getParameterspublic Parameter[] getParameters() 
 - 
setParameterspublic void setParameters(Parameter[] parameters) 
 - 
hasDefaultValuepublic boolean hasDefaultValue() - Returns:
- trueif any parameter has a default value
 
 - 
getReturnTypepublic ClassNode getReturnType() 
 - 
setReturnTypepublic void setReturnType(ClassNode returnType) 
 - 
isDynamicReturnTypepublic boolean isDynamicReturnType() 
 - 
isVoidMethodpublic boolean isVoidMethod() 
 - 
getVariableScopepublic VariableScope getVariableScope() 
 - 
setVariableScopepublic void setVariableScope(VariableScope variableScope) 
 - 
isAbstractpublic boolean isAbstract() 
 - 
isDefaultpublic boolean isDefault() 
 - 
isFinalpublic boolean isFinal() 
 - 
isStaticpublic boolean isStatic() 
 - 
isPublicpublic boolean isPublic() 
 - 
isPrivatepublic boolean isPrivate() 
 - 
isProtectedpublic boolean isProtected() 
 - 
isPackageScopepublic boolean isPackageScope() 
 - 
getExceptionspublic ClassNode[] getExceptions() 
 - 
getFirstStatementpublic Statement getFirstStatement() 
 - 
getGenericsTypespublic GenericsType[] getGenericsTypes() 
 - 
setGenericsTypespublic void setGenericsTypes(GenericsType[] genericsTypes) 
 - 
hasAnnotationDefaultpublic boolean hasAnnotationDefault() - Returns:
- trueif annotation method has a default value
 
 - 
setAnnotationDefaultpublic void setAnnotationDefault(boolean hasDefaultValue) 
 - 
isScriptBodypublic boolean isScriptBody() - Returns:
- trueif this method is the run method from a script
 
 - 
setIsScriptBodypublic void setIsScriptBody() Sets the flag for this method to indicate it is a script body implementation.- See Also:
- ModuleNode.createStatementsClass()
 
 - 
isStaticConstructorpublic boolean isStaticConstructor() 
 - 
isSyntheticPublicpublic boolean isSyntheticPublic() Indicates that this method has been "promoted" to public by Groovy when in fact there was no public modifier explicitly in the source code. I.e. it remembers that it has applied Groovy's "public methods by default" rule. This property is typically only of interest to AST transform writers.- Returns:
- trueif this class is public but had no explicit public modifier
 
 - 
setSyntheticPublicpublic void setSyntheticPublic(boolean syntheticPublic) 
 - 
getTextpublic String getText() Provides a nicely formatted string of the method definition. For simplicity, generic types on some of the elements are not displayed.
 
- 
 
-