Package io.airlift.bytecode
Class MethodDefinition
- java.lang.Object
-
- io.airlift.bytecode.MethodDefinition
-
@NotThreadSafe public class MethodDefinition extends Object
-
-
Constructor Summary
Constructors Constructor Description MethodDefinition(ClassDefinition declaringClass, EnumSet<Access> access, String name, ParameterizedType returnType, Parameter... parameters)MethodDefinition(ClassDefinition declaringClass, EnumSet<Access> access, String name, ParameterizedType returnType, Iterable<Parameter> parameters)
-
Method Summary
-
-
-
Constructor Detail
-
MethodDefinition
public MethodDefinition(ClassDefinition declaringClass, EnumSet<Access> access, String name, ParameterizedType returnType, Parameter... parameters)
-
MethodDefinition
public MethodDefinition(ClassDefinition declaringClass, EnumSet<Access> access, String name, ParameterizedType returnType, Iterable<Parameter> parameters)
-
-
Method Detail
-
getDeclaringClass
public ClassDefinition getDeclaringClass()
-
getAnnotations
public List<AnnotationDefinition> getAnnotations()
-
getParameterAnnotations
public List<AnnotationDefinition> getParameterAnnotations(int index)
-
getName
public String getName()
-
getReturnType
public ParameterizedType getReturnType()
-
getParameterTypes
public List<ParameterizedType> getParameterTypes()
-
getExceptions
public List<ParameterizedType> getExceptions()
-
addException
public MethodDefinition addException(Class<? extends Throwable> exceptionClass)
-
comment
public MethodDefinition comment(String format, Object... args)
-
getComment
public String getComment()
-
getScope
public Scope getScope()
-
getThis
public Variable getThis()
-
getMethodDescriptor
public String getMethodDescriptor()
-
getBody
public BytecodeBlock getBody()
-
declareAnnotation
public AnnotationDefinition declareAnnotation(Class<?> type)
-
declareAnnotation
public AnnotationDefinition declareAnnotation(ParameterizedType type)
-
declareParameterAnnotation
public AnnotationDefinition declareParameterAnnotation(Class<?> type, int parameterIndex)
-
declareParameterAnnotation
public AnnotationDefinition declareParameterAnnotation(ParameterizedType type, int parameterIndex)
-
visit
public void visit(org.objectweb.asm.ClassVisitor visitor)
-
visit
public void visit(org.objectweb.asm.ClassVisitor visitor, boolean addReturn)
-
toSourceString
public String toSourceString()
-
methodDescription
public static String methodDescription(Class<?> returnType, Class<?>... parameterTypes)
-
methodDescription
public static String methodDescription(Class<?> returnType, List<Class<?>> parameterTypes)
-
methodDescription
public static String methodDescription(ParameterizedType returnType, ParameterizedType... parameterTypes)
-
methodDescription
public static String methodDescription(ParameterizedType returnType, List<ParameterizedType> parameterTypes)
-
genericMethodSignature
public static String genericMethodSignature(ParameterizedType returnType, ParameterizedType... parameterTypes)
-
genericMethodSignature
public static String genericMethodSignature(ParameterizedType returnType, List<ParameterizedType> parameterTypes)
-
-