Class LocalVariable
- All Implemented Interfaces:
IAnnotatable
,IJavaElement
,ILocalVariable
,ISourceReference
,org.eclipse.core.runtime.IAdaptable
-
Field Summary
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
occurrenceCount
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaElement
JEM_ANNOTATION, JEM_CLASSFILE, JEM_COMPILATIONUNIT, JEM_COUNT, JEM_DELIMITER_ESCAPE, JEM_ESCAPE, JEM_FIELD, JEM_IMPORTDECLARATION, JEM_INITIALIZER, JEM_JAVAPROJECT, JEM_LAMBDA_EXPRESSION, JEM_LAMBDA_METHOD, JEM_LOCALVARIABLE, JEM_METHOD, JEM_MODULAR_CLASSFILE, JEM_MODULE, JEM_PACKAGEDECLARATION, JEM_PACKAGEFRAGMENT, JEM_PACKAGEFRAGMENTROOT, JEM_STRING, JEM_TYPE, JEM_TYPE_PARAMETER, NO_ELEMENTS, NO_INFO, NO_STRINGS
Fields inherited from interface org.aspectj.org.eclipse.jdt.core.IJavaElement
ANNOTATION, CLASS_FILE, COMPILATION_UNIT, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVA_MODEL, JAVA_MODULE, JAVA_PROJECT, LOCAL_VARIABLE, METHOD, PACKAGE_DECLARATION, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE, TYPE_PARAMETER
-
Constructor Summary
ConstructorDescriptionLocalVariable(JavaElement parent, String name, int declarationSourceStart, int declarationSourceEnd, int nameStart, int nameEnd, String typeSignature, Annotation[] astAnnotations, int flags, boolean isParameter)
LocalVariable(JavaElement parent, String name, int declarationSourceStart, int declarationSourceEnd, int nameStart, int nameEnd, String typeSignature, Annotation[] astAnnotations, int flags, boolean isParameter, Annotation[][] astAnnotationsOnDimensions)
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
This element is being closed.protected Object
Returns a new element info for this element.boolean
Returns true if this handle represents the same Java element as the given handle.boolean
exists()
Returns whether this Java element exists in the model.protected void
generateInfos(Object info, HashMap newElements, org.eclipse.core.runtime.IProgressMonitor pm)
Generates the element infos for this element, its ancestors (if they are not opened) and its children (if it is an Openable).getAnnotation(String annotationName)
Returns the annotation with the given name declared on this element.Returns the annotations for this element.org.eclipse.core.resources.IResource
Elements within compilation units and class files have no corresponding resource.Returns the declaring member of this local variable.Returns the name of this element.int
Returns this element's kind encoded as an integer.int
getFlags()
Returns the modifier flags for this local variable.getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner owner)
protected void
getHandleMemento(StringBuffer buff)
protected void
getHandleMemento(StringBuffer buff, boolean memoizeParent)
protected char
Returns thechar
that marks the start of this handles contribution to a memento.getKey(boolean forceOpen)
Returns the source range of this local variable's name.org.eclipse.core.runtime.IPath
getPath()
Returns the path to the innermost resource enclosing this element.Returns the source code associated with this element.Returns the source range associated with this element.Returns the Java type root in which this local variable is declared.Returns the type signature of this local variable.org.eclipse.core.resources.IResource
Returns the smallest underlying resource that contains this element, ornull
if this element is not contained in a resource.int
hashCode()
Returns the hash code for this Java element.boolean
Returnstrue
if this local variable is a method parameter,false
otherwise.boolean
Returns whether the structure of this element is known.org.eclipse.core.resources.IResource
resource()
protected void
toStringInfo(int tab, StringBuffer buffer, Object info, boolean showResolvedInfo)
Debugging purposesMethods inherited from class org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
copy, delete, findNode, getCompilationUnit, getHandleUpdatingCountFromMemento, getOccurrenceCount, getOpenableParent, hasChildren, move, rename, toStringName
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaElement
appendEscapedDelimiter, close, escapeMementoName, getAncestor, getAttachedJavadoc, getChildren, getChildrenOfType, getElementInfo, getElementInfo, getHandleFromMemento, getHandleIdentifier, getHandleMemento, getJavadocBaseLocation, getJavaModel, getJavaProject, getLibraryJavadocLocation, getOpenable, getParent, getPrimaryElement, getPrimaryElement, getResource, getSchedulingRule, getSourceElementAt, getSourceMapper, getURLContents, isAncestorOf, isReadOnly, newDoesNotExistStatus, newJavaModelException, newNotPresentException, openWhenClosed, readableName, resolved, setParent, tabString, toDebugString, toString, toString, toStringAncestors, toStringChildren, toStringInfo, toStringWithAncestors, toStringWithAncestors, unresolved, validateAndCache
Methods inherited from class org.eclipse.core.runtime.PlatformObject
getAdapter
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
Methods inherited from interface org.aspectj.org.eclipse.jdt.core.IJavaElement
getAncestor, getAttachedJavadoc, getHandleIdentifier, getJavaModel, getJavaProject, getOpenable, getParent, getPrimaryElement, getResource, getSchedulingRule, isReadOnly
-
Field Details
-
NO_LOCAL_VARIABLES
-
declarationSourceStart
public int declarationSourceStart -
declarationSourceEnd
public int declarationSourceEnd -
nameStart
public int nameStart -
nameEnd
public int nameEnd -
annotations
-
annotationsOnDimensions
-
-
Constructor Details
-
LocalVariable
public LocalVariable(JavaElement parent, String name, int declarationSourceStart, int declarationSourceEnd, int nameStart, int nameEnd, String typeSignature, Annotation[] astAnnotations, int flags, boolean isParameter) -
LocalVariable
public LocalVariable(JavaElement parent, String name, int declarationSourceStart, int declarationSourceEnd, int nameStart, int nameEnd, String typeSignature, Annotation[] astAnnotations, int flags, boolean isParameter, Annotation[][] astAnnotationsOnDimensions)
-
-
Method Details
-
closing
Description copied from class:SourceRefElement
This element is being closed. Do any necessary cleanup.- Overrides:
closing
in classSourceRefElement
-
createElementInfo
Description copied from class:SourceRefElement
Returns a new element info for this element.- Overrides:
createElementInfo
in classSourceRefElement
-
equals
Description copied from class:JavaElement
Returns true if this handle represents the same Java element as the given handle. By default, two handles represent the same element if they are identical or if they represent the same type of element, have equal names, parents, and occurrence counts.If a subclass has other requirements for equality, this method must be overridden.
- Overrides:
equals
in classSourceRefElement
- See Also:
Object.equals(java.lang.Object)
-
exists
public boolean exists()Description copied from interface:IJavaElement
Returns whether this Java element exists in the model.Java elements are handle objects that may or may not be backed by an actual element. Java elements that are backed by an actual element are said to "exist", and this method returns
true
. For Java elements that are not working copies, it is always the case that if the element exists, then its parent also exists (provided it has one) and includes the element as one of its children. It is therefore possible to navigated to any existing Java element from the root of the Java model along a chain of existing Java elements. On the other hand, working copies are said to exist until they are destroyed (withIWorkingCopy.destroy
). Unlike regular Java elements, a working copy never shows up among the children of its parent element (which may or may not exist).- Specified by:
exists
in interfaceIJavaElement
- Specified by:
exists
in interfaceISourceReference
- Overrides:
exists
in classJavaElement
- Returns:
true
if this element exists in the Java model, andfalse
if this element does not exist- See Also:
IJavaElement
-
generateInfos
protected void generateInfos(Object info, HashMap newElements, org.eclipse.core.runtime.IProgressMonitor pm)Description copied from class:JavaElement
Generates the element infos for this element, its ancestors (if they are not opened) and its children (if it is an Openable). Puts the newly created element info in the given map.- Overrides:
generateInfos
in classSourceRefElement
-
getAnnotation
Description copied from interface:IAnnotatable
Returns the annotation with the given name declared on this element. This is a handle-only method. The annotation may or may not exist.- Specified by:
getAnnotation
in interfaceIAnnotatable
- Overrides:
getAnnotation
in classSourceRefElement
- Parameters:
annotationName
- the given simple name- Returns:
- the annotation with the given name declared on this element
-
getAnnotations
Description copied from interface:IAnnotatable
Returns the annotations for this element. Returns an empty array if this element has no annotations.- Specified by:
getAnnotations
in interfaceIAnnotatable
- Overrides:
getAnnotations
in classSourceRefElement
- Returns:
- the annotations of this element, in the order declared in the source, or an empty array if none
- Throws:
JavaModelException
- if this element does not exist or if an exception occurs while accessing its corresponding resource.
-
getHandleFromMemento
public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner owner)- Overrides:
getHandleFromMemento
in classSourceRefElement
-
getHandleMemento
- Overrides:
getHandleMemento
in classSourceRefElement
-
getHandleMemento
-
getHandleMementoDelimiter
protected char getHandleMementoDelimiter()Description copied from class:JavaElement
Returns thechar
that marks the start of this handles contribution to a memento.- Specified by:
getHandleMementoDelimiter
in classJavaElement
-
getCorrespondingResource
public org.eclipse.core.resources.IResource getCorrespondingResource()Description copied from class:SourceRefElement
Elements within compilation units and class files have no corresponding resource.- Specified by:
getCorrespondingResource
in interfaceIJavaElement
- Overrides:
getCorrespondingResource
in classSourceRefElement
- Returns:
- the corresponding resource, or
null
if none - See Also:
IJavaElement
-
getDeclaringMember
Returns the declaring member of this local variable.This is a handle-only method.
- Specified by:
getDeclaringMember
in interfaceILocalVariable
- Returns:
- the declaring member of this local variable
- Since:
- 3.7
-
getElementName
Description copied from interface:IJavaElement
Returns the name of this element. This is a handle-only method.- Specified by:
getElementName
in interfaceIJavaElement
- Specified by:
getElementName
in interfaceILocalVariable
- Overrides:
getElementName
in classJavaElement
- Returns:
- the element name
- See Also:
IAdaptable
-
getElementType
public int getElementType()Description copied from interface:IJavaElement
Returns this element's kind encoded as an integer. This is a handle-only method.- Specified by:
getElementType
in interfaceIJavaElement
- Returns:
- the kind of element; one of the constants declared in
IJavaElement
- See Also:
IJavaElement
-
getFlags
public int getFlags()Returns the modifier flags for this local variable. The flags can be examined using classFlags
.Note that only flags as indicated in the source are returned.
- Specified by:
getFlags
in interfaceILocalVariable
- Returns:
- the modifier flags for this local variable
- Since:
- 3.7
- See Also:
Flags
-
getClassFile
- Overrides:
getClassFile
in classJavaElement
- See Also:
IMember.getClassFile()
-
getNameRange
Returns the source range of this local variable's name.- Specified by:
getNameRange
in interfaceILocalVariable
- Specified by:
getNameRange
in interfaceISourceReference
- Returns:
- the source range of this local variable's name
- Since:
- 3.7
-
getPath
public org.eclipse.core.runtime.IPath getPath()Description copied from interface:IJavaElement
Returns the path to the innermost resource enclosing this element. If this element is not included in an external library, the path returned is the full, absolute path to the underlying resource, relative to the workbench. If this element is included in an external library, the path returned is the absolute path to the archive or to the folder in the file system. This is a handle-only method.- Specified by:
getPath
in interfaceIJavaElement
- Overrides:
getPath
in classSourceRefElement
- Returns:
- the path to the innermost resource enclosing this element
-
resource
public org.eclipse.core.resources.IResource resource()- Overrides:
resource
in classSourceRefElement
-
getSource
Description copied from interface:ISourceReference
Returns the source code associated with this element. This extracts the substring from the source buffer containing this source element. This corresponds to the source range that would be returned bygetSourceRange
.For class files, this returns the source of the entire compilation unit associated with the class file (if there is one).
- Specified by:
getSource
in interfaceISourceReference
- Overrides:
getSource
in classSourceRefElement
- Returns:
- the source code, or
null
if this element has no associated source code - Throws:
JavaModelException
- if an exception occurs while accessing its corresponding resource- See Also:
ISourceReference
-
getSourceRange
Returns the source range associated with this element.For class files, this returns the range of the entire compilation unit associated with the class file (if there is one).
If this element has no associated source code, either
null
is returned, or a source range with a -1 offset and a 0 length.SourceRange.isAvailable(ISourceRange)
can be used to detect that case.- Specified by:
getSourceRange
in interfaceISourceReference
- Overrides:
getSourceRange
in classSourceRefElement
- Returns:
- the source range, or either
null
or [-1, 0] if this element has no associated source code - Throws:
JavaModelException
- if an exception occurs while accessing its corresponding resource- Since:
- 3.7
- See Also:
ISourceReference
-
getTypeRoot
Returns the Java type root in which this local variable is declared.This is a handle-only method.
- Specified by:
getTypeRoot
in interfaceILocalVariable
- Returns:
- the Java type root in which this local variable is declared
- Since:
- 3.7
-
getTypeSignature
Description copied from interface:ILocalVariable
Returns the type signature of this local variable.The type signature may be either unresolved (for source types) or resolved (for binary types), and either basic (for basic types) or rich (for parameterized types). See
Signature
for details.- Specified by:
getTypeSignature
in interfaceILocalVariable
- Returns:
- the type signature of this local variable.
- See Also:
Signature
-
getUnderlyingResource
Description copied from interface:IJavaElement
Returns the smallest underlying resource that contains this element, ornull
if this element is not contained in a resource.- Specified by:
getUnderlyingResource
in interfaceIJavaElement
- Overrides:
getUnderlyingResource
in classSourceRefElement
- Returns:
- the underlying resource, or
null
if none - Throws:
JavaModelException
- if this element does not exist or if an exception occurs while accessing its underlying resource- See Also:
IJavaElement
-
hashCode
public int hashCode()Description copied from class:JavaElement
Returns the hash code for this Java element. By default, the hash code for an element is a combination of its name and parent's hash code. Elements with other requirements must override this method.- Overrides:
hashCode
in classJavaElement
-
isParameter
public boolean isParameter()Returnstrue
if this local variable is a method parameter,false
otherwise.- Specified by:
isParameter
in interfaceILocalVariable
- Returns:
true
if this local variable is a method parameter,false
otherwise- Since:
- 3.7
-
isStructureKnown
Description copied from interface:IJavaElement
Returns whether the structure of this element is known. For example, for a compilation unit that has syntax errors,false
is returned. If the structure of an element is unknown, navigations will return reasonable defaults. For example,getChildren
for a compilation unit with syntax errors will return a collection of the children that could be parsed.Note: This does not imply anything about consistency with the underlying resource/buffer contents.
- Specified by:
isStructureKnown
in interfaceIJavaElement
- Overrides:
isStructureKnown
in classSourceRefElement
- Returns:
true
if the structure of this element is known- Throws:
JavaModelException
- if this element does not exist or if an exception occurs while accessing its corresponding resource- See Also:
IJavaElement
-
getKey
- Throws:
JavaModelException
- See Also:
Binding.computeUniqueKey()
-
toStringInfo
Description copied from class:JavaElement
Debugging purposes- Overrides:
toStringInfo
in classJavaElement
showResolvedInfo
- TODO
-