Class ExtendedAnnotation
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.util.ClassFileStruct
org.aspectj.org.eclipse.jdt.internal.core.util.ExtendedAnnotation
-
Constructor Summary
ConstructorsConstructorDescriptionExtendedAnnotation(byte[] classFileBytes, IConstantPool constantPool, int offset) Constructor for ExtendedAnnotation, builds an annotation from the supplied bytestream. -
Method Summary
Modifier and TypeMethodDescriptionintAnswer back the index in the given different situations.Answer back the components as described in the JVM specifications.intAnswer back the number of components as described in the JVM specifications.intAnswer back the exception table index when the target_type is EXCEPTION_PARAMETER.intAnswer 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.intAnswer back the offset.intAnswer back the method parameter index.intAnswer back the target type as described in the JVM specifications.intAnswer back the type index as described in the JVM specifications.char[]Answer back the type name as described in the JVM specifications.intAnswer back the index of the bound of the type parameter of the method or classintAnswer 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 ClassFormatException Constructor for ExtendedAnnotation, builds an annotation from the supplied bytestream.- Throws:
ClassFormatException
-
-
Method Details
-
getTypeIndex
public int getTypeIndex()Description copied from interface:IAnnotationAnswer back the type index as described in the JVM specifications.- Specified by:
getTypeIndexin interfaceIAnnotation- Returns:
- the type index
-
getComponentsNumber
public int getComponentsNumber()Description copied from interface:IAnnotationAnswer back the number of components as described in the JVM specifications.- Specified by:
getComponentsNumberin interfaceIAnnotation- Returns:
- the type index
-
getComponents
Description copied from interface:IAnnotationAnswer back the components as described in the JVM specifications. Answer an empty collection if none.- Specified by:
getComponentsin interfaceIAnnotation- Returns:
- the components
-
getTypeName
public char[] getTypeName()Description copied from interface:IAnnotationAnswer back the type name as described in the JVM specifications.- Specified by:
getTypeNamein interfaceIAnnotation- Returns:
- the type name
-
getTargetType
public int getTargetType()Description copied from interface:IExtendedAnnotationAnswer back the target type as described in the JVM specifications.- Specified by:
getTargetTypein interfaceIExtendedAnnotation- Returns:
- the target type
-
getExceptionTableIndex
public int getExceptionTableIndex()Description copied from interface:IExtendedAnnotationAnswer back the exception table index when the target_type is EXCEPTION_PARAMETER.- Specified by:
getExceptionTableIndexin interfaceIExtendedAnnotation- Returns:
- the exception table index
-
getOffset
public int getOffset()Description copied from interface:IExtendedAnnotationAnswer 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 instanceofbytecode for INSTANCE_OF, thenewbytecode 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 newbytecode for constructor call, or the relevant bytecode for method invocation or method reference. For CAST the offset may point to thecheckcastor another instruction as it is possible the cast may have been discarded by the compiler if it were a no-op.- Specified by:
getOffsetin interfaceIExtendedAnnotation- Returns:
- the offset
-
getLocalVariableRefenceInfoLength
public int getLocalVariableRefenceInfoLength()Description copied from interface:IExtendedAnnotationAnswer 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:
getLocalVariableRefenceInfoLengthin interfaceIExtendedAnnotation- Returns:
- the local variable reference info table length of this entry as specified in the JVM specifications
-
getLocalVariableTable
Description copied from interface:IExtendedAnnotationAnswer 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:
getLocalVariableTablein 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:IExtendedAnnotationAnswer back the method parameter index.The index is 0-based.
- Specified by:
getParameterIndexin interfaceIExtendedAnnotation- Returns:
- the method parameter index
-
getTypeParameterIndex
public int getTypeParameterIndex()Description copied from interface:IExtendedAnnotationAnswer back the index of the type parameter of the class or methodThe index is 0-based.
- Specified by:
getTypeParameterIndexin interfaceIExtendedAnnotation- Returns:
- the index of the type parameter of the class or method
-
getTypeParameterBoundIndex
public int getTypeParameterBoundIndex()Description copied from interface:IExtendedAnnotationAnswer back the index of the bound of the type parameter of the method or classThe index is 0-based.
- Specified by:
getTypeParameterBoundIndexin interfaceIExtendedAnnotation- Returns:
- the index of the bound of the type parameter of the method or class
-
getTypePath
public int[][] getTypePath()Description copied from interface:IExtendedAnnotationAnswer back the locations of the annotated type as described in the JVM specifications.This is used for parameterized and array types.
- Specified by:
getTypePathin interfaceIExtendedAnnotation- Returns:
- the locations of the annotated type
-
getAnnotationTypeIndex
public int getAnnotationTypeIndex()Description copied from interface:IExtendedAnnotationAnswer 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 valueiis used if the annotation is on theith superinterface type (counting from zero).0x17 (THROWS) the index of the exception type in the clause: the value idenotes an annotation of theith 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:
getAnnotationTypeIndexin interfaceIExtendedAnnotation- Returns:
- the index in the given different situations
-