Class MethodBuilder

  • All Implemented Interfaces:
    java.lang.reflect.AnnotatedElement

    public final class MethodBuilder
    extends MethodInfo
    • Field Detail

      • _name

        private final java.lang.String _name
      • _declaringType

        private final TypeBuilder<?> _declaringType
      • _modifiers

        private final int _modifiers
      • _thrownTypes

        private TypeList _thrownTypes
      • _isFinished

        private boolean _isFinished
      • _body

        private byte[] _body
      • _numberOfExceptions

        private int _numberOfExceptions
      • _defaultValue

        private java.lang.Object _defaultValue
    • Constructor Detail

      • MethodBuilder

        MethodBuilder​(java.lang.String name,
                      int modifiers,
                      Type<?> returnType,
                      TypeList parameterTypes,
                      TypeList thrownTypes,
                      TypeBuilder<?> declaringType)
    • Method Detail

      • verifyNotGeneric

        void verifyNotGeneric()
      • verifyNotAbstract

        void verifyNotAbstract()
      • getCodeGenerator

        public CodeGenerator getCodeGenerator​(int initialSize)
      • getName

        public java.lang.String getName()
        Overrides:
        getName in class MethodInfo
      • getRawMethod

        public java.lang.reflect.Method getRawMethod()
        Specified by:
        getRawMethod in class MethodInfo
      • setDefaultValue

        public void setDefaultValue​(java.lang.Object value)
      • getParameterTypes

        public TypeList getParameterTypes()
      • getDefinedParameters

        public java.util.List<ParameterBuilder> getDefinedParameters()
      • isTypeCreated

        public boolean isTypeCreated()
      • isFinished

        public boolean isFinished()
      • setReturnType

        public void setReturnType​(Type<?> type)
      • verifyCodeGeneratorNotCreated

        void verifyCodeGeneratorNotCreated()
      • setSignature

        public void setSignature​(Type<?> returnType,
                                 TypeList parameterTypes)
      • setParameters

        public void setParameters​(TypeList types)
      • setThrownTypes

        public void setThrownTypes​(TypeList types)
      • addCustomAnnotation

        public <A extends java.lang.annotation.Annotation> void addCustomAnnotation​(AnnotationBuilder<A> annotation)
      • getAnnotation

        public <T extends java.lang.annotation.Annotation> T getAnnotation​(java.lang.Class<T> annotationClass)
        Specified by:
        getAnnotation in interface java.lang.reflect.AnnotatedElement
        Overrides:
        getAnnotation in class MethodInfo
      • getAnnotations

        @NotNull
        public java.lang.annotation.Annotation[] getAnnotations()
        Specified by:
        getAnnotations in interface java.lang.reflect.AnnotatedElement
        Overrides:
        getAnnotations in class MethodInfo
      • getDeclaredAnnotations

        @NotNull
        public java.lang.annotation.Annotation[] getDeclaredAnnotations()
        Specified by:
        getDeclaredAnnotations in interface java.lang.reflect.AnnotatedElement
        Overrides:
        getDeclaredAnnotations in class MethodInfo
      • isAnnotationPresent

        public boolean isAnnotationPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
        Specified by:
        isAnnotationPresent in interface java.lang.reflect.AnnotatedElement
        Overrides:
        isAnnotationPresent in class MethodInfo
      • appendDescription

        public java.lang.StringBuilder appendDescription​(java.lang.StringBuilder sb)
        Overrides:
        appendDescription in class MethodInfo
      • appendSimpleDescription

        public java.lang.StringBuilder appendSimpleDescription​(java.lang.StringBuilder sb)
        Overrides:
        appendSimpleDescription in class MethodInfo
      • appendErasedSignature

        public java.lang.StringBuilder appendErasedSignature​(java.lang.StringBuilder sb)
        Overrides:
        appendErasedSignature in class MethodInfo
      • appendSignature

        public java.lang.StringBuilder appendSignature​(java.lang.StringBuilder sb)
        Overrides:
        appendSignature in class MethodInfo
      • defineGenericParameters

        public GenericParameterBuilder<?>[] defineGenericParameters​(java.lang.String... names)
      • defineParameter

        public ParameterBuilder defineParameter​(int position,
                                                java.lang.String name)
      • createMethodBody

        public void createMethodBody​(byte[] bytecode,
                                     int size)
      • getBody

        byte[] getBody()
      • getNumberOfExceptions

        int getNumberOfExceptions()
      • createMethodBodyHelper

        void createMethodBodyHelper​(CodeGenerator code)
      • calculateNumberOfExceptions

        private static int calculateNumberOfExceptions​(__ExceptionInfo[] exceptions)
      • releaseBakedStructures

        void releaseBakedStructures()