Class NdTypeAnnotation
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.nd.NdStruct
org.aspectj.org.eclipse.jdt.internal.core.nd.java.NdAnnotation
org.aspectj.org.eclipse.jdt.internal.core.nd.java.NdTypeAnnotation
- All Implemented Interfaces:
IDestructable,INdStruct
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic FieldPointerstatic FieldBytestatic FieldBytestatic FieldBytestatic FieldBytestatic StructDef<NdTypeAnnotation>Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.nd.java.NdAnnotation
ANNOTATION_TYPE, ELEMENT_VALUE_PAIRS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestruct()Intended to be implemented by objects which require a custom destruction step.intbytebyteintbyte[]voidsetPath(byte[] path)voidsetTargetInfo(byte arg0, byte arg1)voidsetTargetInfo(int arg)voidsetTargetType(int targetType)Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.nd.java.NdAnnotation
allocateValuePairs, createValuePair, getElementValuePairs, getType, setTypeMethods inherited from class org.aspectj.org.eclipse.jdt.internal.core.nd.NdStruct
getAddress, getDB, getNd
-
Field Details
-
TARGET_TYPE
-
TARGET_ARG0
-
TARGET_ARG1
-
PATH_LENGTH
-
PATH
-
type
-
-
Constructor Details
-
NdTypeAnnotation
-
-
Method Details
-
setPath
public void setPath(byte[] path) -
setTargetInfo
public void setTargetInfo(int arg) -
getTargetInfoArg0
public byte getTargetInfoArg0() -
getTargetInfoArg1
public byte getTargetInfoArg1() -
getTarget
public int getTarget() -
setTargetInfo
public void setTargetInfo(byte arg0, byte arg1) -
setTargetType
public void setTargetType(int targetType)- Parameters:
targetType- one of the constants fromAnnotationTargetTypeConstants
-
getTargetType
public int getTargetType()- Returns:
- one of the constants from
AnnotationTargetTypeConstants
-
getTypePath
public byte[] getTypePath() -
destruct
public void destruct()Description copied from interface:IDestructableIntended to be implemented by objects which require a custom destruction step. This should normally not be invoked by clients, since custom destruction is just one step in tearing down an object. The normal way to tear down an object isNdNode.delete()If you are writing code that must run as part of delete (or are implementing part of the destruct method on a custom ITypeFactory)the correct steps to destructing an object are:
- Invoke this destruct method (which serves the same purpose as the user-implemented portion of a C++ destructor)
- Invoke ITypeFactory.destructFields to destruct its fields (which serves the same purpose as the compiler-implemented portion of a C++ destructor)
- Invoke Database.free on its address to free up memory allocated for the object itself. (Which serves the same purpose as the memory deallocation step in the C++ delete operator)
Normally, first two steps are performed together as part of ITypeFactory.destruct
- Specified by:
destructin interfaceIDestructable
-