Top Fields Constructors Methods
org.aspectj.asm.internal

public Class ProgramElement

extends Object
implements IProgramElement
Class Inheritance
All Implemented Interfaces
org.aspectj.asm.IProgramElement, java.io.Serializable
Imports
java.util.ArrayList, .Collections, .HashMap, .Iterator, .List, .Map, org.aspectj.asm.AsmManager, .HierarchyWalker, .IProgramElement, org.aspectj.bridge.IMessage, .ISourceLocation

Authors
Mik Kersten, Andy Clement

Field Summary

Modifier and TypeField and Description
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
public transient AsmManager
protected List<IProgramElement>
private String
private IProgramElement.Kind
public Map<String, Object>
public int
protected String
protected IProgramElement
private static final long
public static boolean
protected ISourceLocation
private static final String

Constructor Summary

AccessConstructor and Description
public
ProgramElement()

Used during deserialization

public
ProgramElement(AsmManager asm, String name, IProgramElement.Kind kind, List<IProgramElement> children)

Use to create program element nodes that do not correspond to source locations

public
ProgramElement(AsmManager asm, String name, IProgramElement.Kind kind, ISourceLocation sourceLocation, int modifiers, String comment, List<IProgramElement> children)

Method Summary

Modifier and TypeMethod and Description
public void
public void
addChild(int position, IProgramElement child)

public void
public void
addModifiers(IProgramElement.Modifiers newModifier)

Convenience mechanism for setting new modifiers which do not require knowledge of the private internal representation

private void
public static IProgramElement.Accessibility
genAccessibility(int modifiers)

private static List<IProgramElement.Modifiers>
genModifiers(int modifiers)

public IProgramElement.Accessibility
public String
public String
public String
public List<IProgramElement>
public String
getCorrespondingType()

Implements org.aspectj.asm.IProgramElement.getCorrespondingType.

This correponds to both method return types and field types.
public String
public String
public Map<String, List<String>>
public String
public String
public IProgramElement.ExtraInformation
public String
public String
public String
getHandleIdentifier()

Implements org.aspectj.asm.IProgramElement.getHandleIdentifier.

The format of the string handle is not specified, but is stable across compilation sessions.
public String
public IProgramElement.Kind
public IMessage
public AsmManager
public List<IProgramElement.Modifiers>
public String
public String
public List<String>
public List<char[]>
public List<String>
public List<char[]>
public IProgramElement
public List<String>
public int
public String[]
public ISourceLocation
public String
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public static String
public boolean
public void
public void
public void
setAnnotationType(String
the annotation type, eg. p.q.r.Foo
fullyQualifiedAnnotationType
)

Implements org.aspectj.asm.IProgramElement.setAnnotationType.

public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
setParameterSignatures(List<char[]> list, List<String> sourceRefs)

Implements org.aspectj.asm.IProgramElement.setParameterSignatures.

Set the parameter signatures for this method/constructor.
public void
public void
public void
public void
public void
public String
toLabelString()

Implements org.aspectj.asm.IProgramElement.toLabelString.

Includes name, parameter types (if any) and details (if any).
public String
toLabelString(boolean getFullyQualifiedArgTypes)

Implements org.aspectj.asm.IProgramElement.toLabelString.

public String
toLinkLabelString()

Implements org.aspectj.asm.IProgramElement.toLinkLabelString.

TODO: move the "parent != null"→injar heuristic to more explicit
public String
toLinkLabelString(boolean getFullyQualifiedArgTypes)

Implements org.aspectj.asm.IProgramElement.toLinkLabelString.

public String
public String
public String
toSignatureString(boolean getFullyQualifiedArgTypes)

Implements org.aspectj.asm.IProgramElement.toSignatureString.

public String
toString()

Overrides java.lang.Object.toString.

Implements org.aspectj.asm.IProgramElement.toString.

Returns a string representation of the object.
public static String
trim(String fqname)

Trim down fully qualified types to their short form (e.g., a.b.c.D<e.f.G> becomes D<G>)

public IProgramElement
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

AccAbstractback to summary
private static final int AccAbstract
AccFinalback to summary
private static final int AccFinal
AccNativeback to summary
private static final int AccNative
AccPrivateback to summary
private static final int AccPrivate
AccPrivilegedback to summary
private static final int AccPrivileged
AccProtectedback to summary
private static final int AccProtected
AccPublicback to summary
private static final int AccPublic
AccStaticback to summary
private static final int AccStatic
AccSynchronizedback to summary
private static final int AccSynchronized
AccTransientback to summary
private static final int AccTransient
AccVolatileback to summary
private static final int AccVolatile
asmback to summary
public transient AsmManager asm
childrenback to summary
protected List<IProgramElement> children
handleback to summary
private String handle
kindback to summary
private IProgramElement.Kind kind
kvpairsback to summary
public Map<String, Object> kvpairs
modifiersback to summary
public int modifiers
nameback to summary
protected String name
parentback to summary
protected IProgramElement parent
serialVersionUIDback to summary
private static final long serialVersionUID
shortITDNamesback to summary
public static boolean shortITDNames
sourceLocationback to summary
protected ISourceLocation sourceLocation
UNDEFINEDback to summary
private static final String UNDEFINED

Constructor Detail

ProgramElementback to summary
public ProgramElement()

Used during deserialization

ProgramElementback to summary
public ProgramElement(AsmManager asm, String name, IProgramElement.Kind kind, List<IProgramElement> children)

Use to create program element nodes that do not correspond to source locations

ProgramElementback to summary
public ProgramElement(AsmManager asm, String name, IProgramElement.Kind kind, ISourceLocation sourceLocation, int modifiers, String comment, List<IProgramElement> children)

Method Detail

addChildback to summary
public void addChild(IProgramElement child)

Implements org.aspectj.asm.IProgramElement.addChild.

addChildback to summary
public void addChild(int position, IProgramElement child)
addFullyQualifiedNameback to summary
public void addFullyQualifiedName(String fqname)

Implements org.aspectj.asm.IProgramElement.addFullyQualifiedName.

addModifiersback to summary
public void addModifiers(IProgramElement.Modifiers newModifier)

Convenience mechanism for setting new modifiers which do not require knowledge of the private internal representation

fixMapback to summary
private void fixMap()
genAccessibilityback to summary
public static IProgramElement.Accessibility genAccessibility(int modifiers)
genModifiersback to summary
private static List<IProgramElement.Modifiers> genModifiers(int modifiers)
getAccessibilityback to summary
public IProgramElement.Accessibility getAccessibility()

Implements org.aspectj.asm.IProgramElement.getAccessibility.

getAnnotationTypeback to summary
public String getAnnotationType()

Implements org.aspectj.asm.IProgramElement.getAnnotationType.

Returns:String

Doc from org.aspectj.asm.IProgramElement.getAnnotationType.

the fully qualified annotation type, eg. p.q.r.Foo

getBytecodeNameback to summary
public String getBytecodeName()

Implements org.aspectj.asm.IProgramElement.getBytecodeName.

getBytecodeSignatureback to summary
public String getBytecodeSignature()

Implements org.aspectj.asm.IProgramElement.getBytecodeSignature.

getChildrenback to summary
public List<IProgramElement> getChildren()

Implements org.aspectj.asm.IProgramElement.getChildren.

getCorrespondingTypeback to summary
public String getCorrespondingType()

Implements org.aspectj.asm.IProgramElement.getCorrespondingType.

Doc from org.aspectj.asm.IProgramElement.getCorrespondingType.

This correponds to both method return types and field types.

getCorrespondingTypeback to summary
public String getCorrespondingType(boolean getFullyQualifiedType)

Implements org.aspectj.asm.IProgramElement.getCorrespondingType.

getCorrespondingTypeSignatureback to summary
public String getCorrespondingTypeSignature()

Implements org.aspectj.asm.IProgramElement.getCorrespondingTypeSignature.

Returns:String

Doc from org.aspectj.asm.IProgramElement.getCorrespondingTypeSignature.

the return type of a method or type of a field in signature form (e.g. Ljava/lang/String;)

getDeclareParentsMapback to summary
public Map<String, List<String>> getDeclareParentsMap()

Implements org.aspectj.asm.IProgramElement.getDeclareParentsMap.

Annotations
@SuppressWarnings:unchecked
getDeclaringTypeback to summary
public String getDeclaringType()

Implements org.aspectj.asm.IProgramElement.getDeclaringType.

getDetailsback to summary
public String getDetails()

Implements org.aspectj.asm.IProgramElement.getDetails.

getExtraInfoback to summary
public IProgramElement.ExtraInformation getExtraInfo()

Implements org.aspectj.asm.IProgramElement.getExtraInfo.

getFormalCommentback to summary
public String getFormalComment()

Implements org.aspectj.asm.IProgramElement.getFormalComment.

Returns:String

Doc from org.aspectj.asm.IProgramElement.getFormalComment.

the javadoc comment for this program element, null if not available

getFullyQualifiedNameback to summary
public String getFullyQualifiedName()

Implements org.aspectj.asm.IProgramElement.getFullyQualifiedName.

getHandleIdentifierback to summary
public String getHandleIdentifier()

Implements org.aspectj.asm.IProgramElement.getHandleIdentifier.

Doc from org.aspectj.asm.IProgramElement.getHandleIdentifier.

The format of the string handle is not specified, but is stable across compilation sessions.

Returns:String

a string representation of this element

getHandleIdentifierback to summary
public String getHandleIdentifier(boolean create)

Implements org.aspectj.asm.IProgramElement.getHandleIdentifier.

getKindback to summary
public IProgramElement.Kind getKind()

Implements org.aspectj.asm.IProgramElement.getKind.

getMessageback to summary
public IMessage getMessage()

Implements org.aspectj.asm.IProgramElement.getMessage.

getModelback to summary
public AsmManager getModel()

Implements org.aspectj.asm.IProgramElement.getModel.

getModifiersback to summary
public List<IProgramElement.Modifiers> getModifiers()

Implements org.aspectj.asm.IProgramElement.getModifiers.

getNameback to summary
public String getName()

Implements org.aspectj.asm.IProgramElement.getName.

getPackageNameback to summary
public String getPackageName()

Implements org.aspectj.asm.IProgramElement.getPackageName.

getParameterNamesback to summary
public List<String> getParameterNames()

Implements org.aspectj.asm.IProgramElement.getParameterNames.

Annotations
@SuppressWarnings:unchecked
getParameterSignaturesback to summary
public List<char[]> getParameterSignatures()

Implements org.aspectj.asm.IProgramElement.getParameterSignatures.

Annotations
@SuppressWarnings:unchecked
getParameterSignaturesSourceRefsback to summary
public List<String> getParameterSignaturesSourceRefs()

Implements org.aspectj.asm.IProgramElement.getParameterSignaturesSourceRefs.

Annotations
@SuppressWarnings:unchecked
getParameterTypesback to summary
public List<char[]> getParameterTypes()

Implements org.aspectj.asm.IProgramElement.getParameterTypes.

getParentback to summary
public IProgramElement getParent()

Implements org.aspectj.asm.IProgramElement.getParent.

getParentTypesback to summary
public List<String> getParentTypes()

Implements org.aspectj.asm.IProgramElement.getParentTypes.

Annotations
@SuppressWarnings:unchecked
getRawModifiersback to summary
public int getRawModifiers()

Implements org.aspectj.asm.IProgramElement.getRawModifiers.

getRemovedAnnotationTypesback to summary
public String[] getRemovedAnnotationTypes()

Implements org.aspectj.asm.IProgramElement.getRemovedAnnotationTypes.

getSourceLocationback to summary
public ISourceLocation getSourceLocation()

Implements org.aspectj.asm.IProgramElement.getSourceLocation.

getSourceSignatureback to summary
public String getSourceSignature()

Implements org.aspectj.asm.IProgramElement.getSourceSignature.

Returns:String

Doc from org.aspectj.asm.IProgramElement.getSourceSignature.

the full signature of this element, as it appears in the source

isAnnotationRemoverback to summary
public boolean isAnnotationRemover()

Implements org.aspectj.asm.IProgramElement.isAnnotationRemover.

isAnnotationStyleDeclarationback to summary
public boolean isAnnotationStyleDeclaration()

Implements org.aspectj.asm.IProgramElement.isAnnotationStyleDeclaration.

isCodeback to summary
public boolean isCode()
isImplementorback to summary
public boolean isImplementor()

Implements org.aspectj.asm.IProgramElement.isImplementor.

isMemberKindback to summary
public boolean isMemberKind()
isOverriderback to summary
public boolean isOverrider()

Implements org.aspectj.asm.IProgramElement.isOverrider.

isRunnableback to summary
public boolean isRunnable()

Implements org.aspectj.asm.IProgramElement.isRunnable.

nameToSignatureback to summary
public static String nameToSignature(String name)
removeChildback to summary
public boolean removeChild(IProgramElement child)

Implements org.aspectj.asm.IProgramElement.removeChild.

setAnnotationRemoverback to summary
public void setAnnotationRemover(boolean isRemover)

Implements org.aspectj.asm.IProgramElement.setAnnotationRemover.

setAnnotationStyleDeclarationback to summary
public void setAnnotationStyleDeclaration(boolean b)

Implements org.aspectj.asm.IProgramElement.setAnnotationStyleDeclaration.

setAnnotationTypeback to summary
public void setAnnotationType(String fullyQualifiedAnnotationType)

Implements org.aspectj.asm.IProgramElement.setAnnotationType.

Parameters
fullyQualifiedAnnotationType:String

Doc from org.aspectj.asm.IProgramElement.setAnnotationType.

the annotation type, eg. p.q.r.Foo

setBytecodeNameback to summary
public void setBytecodeName(String s)

Implements org.aspectj.asm.IProgramElement.setBytecodeName.

setBytecodeSignatureback to summary
public void setBytecodeSignature(String s)

Implements org.aspectj.asm.IProgramElement.setBytecodeSignature.

setChildrenback to summary
public void setChildren(List<IProgramElement> children)

Implements org.aspectj.asm.IProgramElement.setChildren.

setCorrespondingTypeback to summary
public void setCorrespondingType(String s)

Implements org.aspectj.asm.IProgramElement.setCorrespondingType.

Parameters
s:String

Doc from org.aspectj.asm.IProgramElement.setCorrespondingType.

return types or field types

setDeclareParentsMapback to summary
public void setDeclareParentsMap(Map<String, List<String>> newmap)

Implements org.aspectj.asm.IProgramElement.setDeclareParentsMap.

setDeclaringTypeback to summary
public void setDeclaringType(String t)
setDetailsback to summary
public void setDetails(String string)

Implements org.aspectj.asm.IProgramElement.setDetails.

setExtraInfoback to summary
public void setExtraInfo(IProgramElement.ExtraInformation info)

Implements org.aspectj.asm.IProgramElement.setExtraInfo.

setFormalCommentback to summary
public void setFormalComment(String txt)

Implements org.aspectj.asm.IProgramElement.setFormalComment.

setHandleIdentifierback to summary
public void setHandleIdentifier(String handle)

Implements org.aspectj.asm.IProgramElement.setHandleIdentifier.

setImplementorback to summary
public void setImplementor(boolean value)

Implements org.aspectj.asm.IProgramElement.setImplementor.

setKindback to summary
public void setKind(IProgramElement.Kind kind)

Implements org.aspectj.asm.IProgramElement.setKind.

setMessageback to summary
public void setMessage(IMessage message)

Implements org.aspectj.asm.IProgramElement.setMessage.

setModifiersback to summary
public void setModifiers(int i)

Implements org.aspectj.asm.IProgramElement.setModifiers.

setNameback to summary
public void setName(String string)

Implements org.aspectj.asm.IProgramElement.setName.

setOverriderback to summary
public void setOverrider(boolean value)

Implements org.aspectj.asm.IProgramElement.setOverrider.

setParameterNamesback to summary
public void setParameterNames(List<String> list)

Implements org.aspectj.asm.IProgramElement.setParameterNames.

setParameterSignaturesback to summary
public void setParameterSignatures(List<char[]> list, List<String> sourceRefs)

Implements org.aspectj.asm.IProgramElement.setParameterSignatures.

Set the parameter signatures for this method/constructor. The bit flags tell us if any were not singletypereferences in the the source. A singletypereference would be 'String' - whilst a qualifiedtypereference would be 'java.lang.String' - this has an effect on the handles.

setParentback to summary
public void setParent(IProgramElement parent)

Implements org.aspectj.asm.IProgramElement.setParent.

setParentTypesback to summary
public void setParentTypes(List<String> ps)

Implements org.aspectj.asm.IProgramElement.setParentTypes.

setRunnableback to summary
public void setRunnable(boolean value)

Implements org.aspectj.asm.IProgramElement.setRunnable.

setSourceLocationback to summary
public void setSourceLocation(ISourceLocation sourceLocation)

Implements org.aspectj.asm.IProgramElement.setSourceLocation.

setSourceSignatureback to summary
public void setSourceSignature(String string)

Implements org.aspectj.asm.IProgramElement.setSourceSignature.

toLabelStringback to summary
public String toLabelString()

Implements org.aspectj.asm.IProgramElement.toLabelString.

Doc from org.aspectj.asm.IProgramElement.toLabelString.

Includes name, parameter types (if any) and details (if any).

toLabelStringback to summary
public String toLabelString(boolean getFullyQualifiedArgTypes)

Implements org.aspectj.asm.IProgramElement.toLabelString.

toLinkLabelStringback to summary
public String toLinkLabelString()

Implements org.aspectj.asm.IProgramElement.toLinkLabelString.

TODO: move the "parent != null"→injar heuristic to more explicit

toLinkLabelStringback to summary
public String toLinkLabelString(boolean getFullyQualifiedArgTypes)

Implements org.aspectj.asm.IProgramElement.toLinkLabelString.

toLongStringback to summary
public String toLongString()

Implements org.aspectj.asm.IProgramElement.toLongString.

Returns:String

Doc from org.aspectj.asm.IProgramElement.toLongString.

a string representation of this node and all of its children (recursive)

toSignatureStringback to summary
public String toSignatureString()

Implements org.aspectj.asm.IProgramElement.toSignatureString.

toSignatureStringback to summary
public String toSignatureString(boolean getFullyQualifiedArgTypes)

Implements org.aspectj.asm.IProgramElement.toSignatureString.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Implements org.aspectj.asm.IProgramElement.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

trimback to summary
public static String trim(String fqname)

Trim down fully qualified types to their short form (e.g., a.b.c.D<e.f.G> becomes D<G>)

walkback to summary
public IProgramElement walk(HierarchyWalker walker)

Implements org.aspectj.asm.IProgramElement.walk.