Class ExtendedAnnotation
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.util.ClassFileStruct
org.aspectj.org.eclipse.jdt.internal.core.util.ExtendedAnnotation
- All Implemented Interfaces:
IAnnotation
,IExtendedAnnotation
- Since:
- 3.10
-
Constructor Summary
ConstructorDescriptionExtendedAnnotation(byte[] classFileBytes, IConstantPool constantPool, int offset)
Constructor for ExtendedAnnotation, builds an annotation from the supplied bytestream. -
Method Summary
Modifier and TypeMethodDescriptionint
Answer back the index in the given different situations.Answer back the components as described in the JVM specifications.int
Answer back the number of components as described in the JVM specifications.int
Answer back the exception table index when the target_type is EXCEPTION_PARAMETER.int
Answer back the local variable reference info table length of this entry as specified in the JVM specifications.Answer back the local variable reference info table of this entry as specified in the JVM specifications.int
Answer back the offset.int
Answer back the method parameter index.int
Answer back the target type as described in the JVM specifications.int
Answer back the type index as described in the JVM specifications.char[]
Answer back the type name as described in the JVM specifications.int
Answer back the index of the bound of the type parameter of the method or classint
Answer back the index of the type parameter of the class or methodint[][]
Answer back the locations of the annotated type as described in the JVM specifications.
-
Constructor Details
-
ExtendedAnnotation
public ExtendedAnnotation(byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatExceptionConstructor for ExtendedAnnotation, builds an annotation from the supplied bytestream.- Parameters:
classFileBytes
-constantPool
-offset
-- Throws:
ClassFormatException
-
-
Method Details
-
getTypeIndex
public int getTypeIndex()Description copied from interface:IAnnotation
Answer back the type index as described in the JVM specifications.- Specified by:
getTypeIndex
in interfaceIAnnotation
- Returns:
- the type index
-
getComponentsNumber
public int getComponentsNumber()Description copied from interface:IAnnotation
Answer back the number of components as described in the JVM specifications.- Specified by:
getComponentsNumber
in interfaceIAnnotation
- Returns:
- the type index
-
getComponents
Description copied from interface:IAnnotation
Answer back the components as described in the JVM specifications. Answer an empty collection if none.- Specified by:
getComponents
in interfaceIAnnotation
- Returns:
- the components
-
getTypeName
public char[] getTypeName()Description copied from interface:IAnnotation
Answer back the type name as described in the JVM specifications.- Specified by:
getTypeName
in interfaceIAnnotation
- Returns:
- the type name
-
getTargetType
public int getTargetType()Description copied from interface:IExtendedAnnotation
Answer back the target type as described in the JVM specifications.- Specified by:
getTargetType
in interfaceIExtendedAnnotation
- Returns:
- the target type
-
getExceptionTableIndex
public int getExceptionTableIndex()Description copied from interface:IExtendedAnnotation
Answer back the exception table index when the target_type is EXCEPTION_PARAMETER.- Specified by:
getExceptionTableIndex
in interfaceIExtendedAnnotation
- Returns:
- the exception table index
-
getOffset
public int getOffset()Description copied from interface:IExtendedAnnotation
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, thenew
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 thecheckcast
or another instruction as it is possible the cast may have been discarded by the compiler if it were a no-op.- Specified by:
getOffset
in interfaceIExtendedAnnotation
- Returns:
- the offset
-
getLocalVariableRefenceInfoLength
public int getLocalVariableRefenceInfoLength()Description copied from interface:IExtendedAnnotation
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.
- Specified by:
getLocalVariableRefenceInfoLength
in interfaceIExtendedAnnotation
- Returns:
- the local variable reference info table length of this entry as specified in the JVM specifications
-
getLocalVariableTable
Description copied from interface:IExtendedAnnotation
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.
- Specified by:
getLocalVariableTable
in interfaceIExtendedAnnotation
- Returns:
- the local variable reference info table of this entry as specified in the JVM specifications. Answer an empty array if none
-
getParameterIndex
public int getParameterIndex()Description copied from interface:IExtendedAnnotation
Answer back the method parameter index.The index is 0-based.
- Specified by:
getParameterIndex
in interfaceIExtendedAnnotation
- Returns:
- the method parameter index
-
getTypeParameterIndex
public int getTypeParameterIndex()Description copied from interface:IExtendedAnnotation
Answer back the index of the type parameter of the class or methodThe index is 0-based.
- Specified by:
getTypeParameterIndex
in interfaceIExtendedAnnotation
- Returns:
- the index of the type parameter of the class or method
-
getTypeParameterBoundIndex
public int getTypeParameterBoundIndex()Description copied from interface:IExtendedAnnotation
Answer back the index of the bound of the type parameter of the method or classThe index is 0-based.
- Specified by:
getTypeParameterBoundIndex
in interfaceIExtendedAnnotation
- Returns:
- the index of the bound of the type parameter of the method or class
-
getTypePath
public int[][] getTypePath()Description copied from interface:IExtendedAnnotation
Answer back the locations of the annotated type as described in the JVM specifications.This is used for parameterized and array types.
- Specified by:
getTypePath
in interfaceIExtendedAnnotation
- Returns:
- the locations of the annotated type
-
getAnnotationTypeIndex
public int getAnnotationTypeIndex()Description copied from interface:IExtendedAnnotation
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 valuei
is used if the annotation is on thei
th superinterface type (counting from zero).0x17 (THROWS) the index of the exception type in the clause: the value i
denotes an annotation of thei
th 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 - Specified by:
getAnnotationTypeIndex
in interfaceIExtendedAnnotation
- Returns:
- the index in the given different situations
-