Interface IExtendedAnnotation

All Superinterfaces:
IAnnotation

public interface IExtendedAnnotation extends IAnnotation
Description of an extended annotation structure as described in the JVM specifications (added in JavaSE-1.8). This interface may be implemented by clients.
Since:
3.10
  • Method Details

    • getTargetType

      int getTargetType()
      Answer back the target type as described in the JVM specifications.
      Returns:
      the target type
    • getOffset

      int getOffset()
      Answer back the offset. For a target_type value equals to:
      target_type offset description
      0x43 (INSTANCE_OF), 0x44 (NEW), 0x45 (CONSTRUCTOR_REFERENCE), 0x46 (METHOD_REFERENCE) The offset within the bytecodes of the instanceof bytecode for INSTANCE_OF, the new bytecode for NEW and the implementing instruction for either a CONSTRUCTOR_REFERENCE or METHOD_REFERENCE.
      0x47 (CAST), 0x48 (CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT), 0x49 (METHOD_INVOCATION_TYPE_ARGUMENT), 0x4A (CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT), 0x4B (METHOD_REFERENCE_TYPE_ARGUMENT) The offset within the bytecodes of the new bytecode for constructor call, or the relevant bytecode for method invocation or method reference. For CAST the offset may point to the checkcast or another instruction as it is possible the cast may have been discarded by the compiler if it were a no-op.
      Returns:
      the offset
    • getExceptionTableIndex

      int getExceptionTableIndex()
      Answer back the exception table index when the target_type is EXCEPTION_PARAMETER.
      Returns:
      the exception table index
    • getLocalVariableRefenceInfoLength

      int getLocalVariableRefenceInfoLength()
      Answer back the local variable reference info table length of this entry as specified in the JVM specifications.

      This is defined only for annotations related to a local variable.

      Returns:
      the local variable reference info table length of this entry as specified in the JVM specifications
    • getLocalVariableTable

      ILocalVariableReferenceInfo[] getLocalVariableTable()
      Answer back the local variable reference info table of this entry as specified in the JVM specifications. Answer an empty array if none.

      This is defined only for annotations related to a local variable.

      Returns:
      the local variable reference info table of this entry as specified in the JVM specifications. Answer an empty array if none
    • getParameterIndex

      int getParameterIndex()
      Answer back the method parameter index.

      The index is 0-based.

      Returns:
      the method parameter index
    • getTypeParameterIndex

      int getTypeParameterIndex()
      Answer back the index of the type parameter of the class or method

      The index is 0-based.

      Returns:
      the index of the type parameter of the class or method
    • getTypeParameterBoundIndex

      int getTypeParameterBoundIndex()
      Answer back the index of the bound of the type parameter of the method or class

      The index is 0-based.

      Returns:
      the index of the bound of the type parameter of the method or class
    • getAnnotationTypeIndex

      int getAnnotationTypeIndex()
      Answer back the index in the given different situations.

      The index is 0-based.

      target_type offset description
      0x10 (CLASS_EXTENDS) the index of the type in the clause: -1 (65535) is used if the annotation is on the superclass type, and the value i is used if the annotation is on the ith superinterface type (counting from zero).
      0x17 (THROWS) the index of the exception type in the clause: the value i denotes an annotation of the ith exception type (counting from zero).
      0x47 (CAST), 0x48 (CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT), 0x49 (METHOD_INVOCATION_TYPE_ARGUMENT), 0x4A (CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT), 0x4B (METHOD_REFERENCE_TYPE_ARGUMENT) the type argument index in the expression
      Returns:
      the index in the given different situations
    • getTypePath

      int[][] getTypePath()
      Answer back the locations of the annotated type as described in the JVM specifications.

      This is used for parameterized and array types.

      Returns:
      the locations of the annotated type