org.codehaus.groovy.ast
Class MethodNode

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

public class MethodNode
extends AnnotatedNode
implements org.objectweb.asm.Opcodes

Represents a method declaration

Version:
$Revision: 14593 $
Author:
James Strachan

Field Summary
 
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
MethodNode(String name, int modifiers, ClassNode returnType, Parameter[] parameters, ClassNode[] exceptions, Statement code)
           
 
Method Summary
 Statement getCode()
           
 ClassNode[] getExceptions()
           
 Statement getFirstStatement()
           
 GenericsType[] getGenericsTypes()
           
 int getModifiers()
           
 String getName()
           
 Parameter[] getParameters()
           
 ClassNode getReturnType()
           
 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.
 VariableScope getVariableScope()
           
 boolean hasAnnotationDefault()
           
 boolean hasDefaultValue()
           
 boolean isAbstract()
           
 boolean isDynamicReturnType()
           
 boolean isPrivate()
           
 boolean isProtected()
           
 boolean isPublic()
           
 boolean isStatic()
           
 boolean isVoidMethod()
           
 void setAnnotationDefault(boolean b)
           
 void setCode(Statement code)
           
 void setGenericsTypes(GenericsType[] genericsTypes)
           
 void setModifiers(int modifiers)
           
 void setParameters(Parameter[] parameters)
           
 void setReturnType(ClassNode returnType)
           
 void setVariableScope(VariableScope variableScope)
           
 String toString()
           
 
Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode
addAnnotation, addAnnotations, getAnnotations, getAnnotations, 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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MethodNode

public MethodNode(String name,
                  int modifiers,
                  ClassNode returnType,
                  Parameter[] parameters,
                  ClassNode[] exceptions,
                  Statement code)
Method Detail

getTypeDescriptor

public 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, I'm using the format of a Java declaration without parameter names.


isVoidMethod

public boolean isVoidMethod()

getCode

public Statement getCode()

setCode

public void setCode(Statement code)

getModifiers

public int getModifiers()

setModifiers

public void setModifiers(int modifiers)

getName

public String getName()

getParameters

public Parameter[] getParameters()

setParameters

public void setParameters(Parameter[] parameters)

getReturnType

public ClassNode getReturnType()

getVariableScope

public VariableScope getVariableScope()

setVariableScope

public void setVariableScope(VariableScope variableScope)

isDynamicReturnType

public boolean isDynamicReturnType()

isAbstract

public boolean isAbstract()

isStatic

public boolean isStatic()

isPublic

public boolean isPublic()

isPrivate

public boolean isPrivate()

isProtected

public boolean isProtected()

hasDefaultValue

public boolean hasDefaultValue()

toString

public String toString()
Overrides:
toString in class Object

setReturnType

public void setReturnType(ClassNode returnType)

getExceptions

public ClassNode[] getExceptions()

getFirstStatement

public Statement getFirstStatement()

getGenericsTypes

public GenericsType[] getGenericsTypes()

setGenericsTypes

public void setGenericsTypes(GenericsType[] genericsTypes)

setAnnotationDefault

public void setAnnotationDefault(boolean b)

hasAnnotationDefault

public boolean hasAnnotationDefault()

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