Interface TypeWriter.MethodPool.Record

    • Method Detail

      • getVisibility

        Visibility getVisibility()
        The visibility to enforce for this method.
        Returns:
        The visibility to enforce for this method.
      • prepend

        TypeWriter.MethodPool.Record prepend​(ByteCodeAppender byteCodeAppender)
        Prepends the given method appender to this entry.
        Parameters:
        byteCodeAppender - The byte code appender to prepend.
        Returns:
        This entry with the given code prepended.
      • apply

        void apply​(org.objectweb.asm.ClassVisitor classVisitor,
                   Implementation.Context implementationContext,
                   AnnotationValueFilter.Factory annotationValueFilterFactory)
        Applies this method entry. This method can always be called and might be a no-op.
        Parameters:
        classVisitor - The class visitor to which this entry should be applied.
        implementationContext - The implementation context to which this entry should be applied.
        annotationValueFilterFactory - The annotation value filter factory to apply when writing annotations.
      • applyHead

        void applyHead​(org.objectweb.asm.MethodVisitor methodVisitor)
        Applies the head of this entry. Applying an entry is only possible if a method is defined, i.e. the sort of this entry is not TypeWriter.MethodPool.Record.Sort.SKIPPED.
        Parameters:
        methodVisitor - The method visitor to which this entry should be applied.
      • applyBody

        void applyBody​(org.objectweb.asm.MethodVisitor methodVisitor,
                       Implementation.Context implementationContext,
                       AnnotationValueFilter.Factory annotationValueFilterFactory)
        Applies the body of this entry. Applying the body of an entry is only possible if a method is implemented, i.e. the sort of this entry is TypeWriter.MethodPool.Record.Sort.IMPLEMENTED.
        Parameters:
        methodVisitor - The method visitor to which this entry should be applied.
        implementationContext - The implementation context to which this entry should be applied.
        annotationValueFilterFactory - The annotation value filter factory to apply when writing annotations.
      • applyAttributes

        void applyAttributes​(org.objectweb.asm.MethodVisitor methodVisitor,
                             AnnotationValueFilter.Factory annotationValueFilterFactory)
        Applies the attributes of this entry. Applying the body of an entry is only possible if a method is implemented, i.e. the sort of this entry is TypeWriter.MethodPool.Record.Sort.DEFINED.
        Parameters:
        methodVisitor - The method visitor to which this entry should be applied.
        annotationValueFilterFactory - The annotation value filter factory to apply when writing annotations.
      • applyCode

        ByteCodeAppender.Size applyCode​(org.objectweb.asm.MethodVisitor methodVisitor,
                                        Implementation.Context implementationContext)
        Applies the code of this entry. Applying the body of an entry is only possible if a method is implemented, i.e. the sort of this entry is TypeWriter.MethodPool.Record.Sort.IMPLEMENTED.
        Parameters:
        methodVisitor - The method visitor to which this entry should be applied.
        implementationContext - The implementation context to which this entry should be applied.
        Returns:
        The size requirements of the implemented code.