Class LocalVariable
- All Implemented Interfaces:
IAnnotatable,IJavaElement,ILocalVariable,ISourceReference,org.eclipse.core.runtime.IAdaptable
-
Field Summary
FieldsModifier and TypeFieldDescriptionIAnnotation[][]final intfinal intfinal intfinal intstatic final ILocalVariable[]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_STRINGSFields 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
ConstructorsConstructorDescriptionLocalVariable(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 intprotected voidThis element is being closed.protected JavaElementInfoReturns a new element info for this element.booleanReturns true if this handle represents the same Java element as the given handle.booleanexists()Returns whether this Java element exists in the model.protected voidgenerateInfos(IElementInfo info, Map<IJavaElement, IElementInfo> 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.IResourceElements within compilation units and class files have no corresponding resource.Returns the declaring member of this local variable.Returns the name of this element.intReturns this element's kind encoded as an integer.intgetFlags()Returns the modifier flags for this local variable.getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner owner) protected voidprotected voidgetHandleMemento(StringBuilder buff, boolean memoizeParent) protected charReturns thecharthat marks the start of this handles contribution to a memento.getKey(boolean forceOpen) Returns the name range associated with this element.org.eclipse.core.runtime.IPathgetPath()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.IResourceReturns the smallest underlying resource that contains this element, ornullif this element is not contained in a resource.booleanReturnstrueif this local variable is a method parameter,falseotherwise.booleanReturns whether the structure of this element is known.org.eclipse.core.resources.IResourceresource()protected voidtoStringInfo(int tab, StringBuilder 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, incOccurrenceCount, move, rename, setOccurrenceCount, toStringNameMethods 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, hashCode, isAncestorOf, isReadOnly, newDoesNotExistStatus, newJavaModelException, newNotPresentException, openWhenClosed, readableName, resetHashCode, resolved, tabString, toDebugString, toString, toString, toStringAncestors, toStringChildren, toStringInfo, toStringWithAncestors, toStringWithAncestors, unresolved, validateAndCacheMethods inherited from class org.eclipse.core.runtime.PlatformObject
getAdapterMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapterMethods 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 final int declarationSourceStart -
declarationSourceEnd
public final int declarationSourceEnd -
nameStart
public final int nameStart -
nameEnd
public final 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:SourceRefElementThis element is being closed. Do any necessary cleanup.- Overrides:
closingin classSourceRefElement
-
createElementInfo
Description copied from class:SourceRefElementReturns a new element info for this element.- Overrides:
createElementInfoin classSourceRefElement
-
equals
Description copied from class:JavaElementReturns 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:
equalsin classSourceRefElement- See Also:
-
calculateHashCode
protected int calculateHashCode()- Overrides:
calculateHashCodein classSourceRefElement
-
exists
public boolean exists()Description copied from interface:IJavaElementReturns 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:
existsin interfaceIJavaElement- Specified by:
existsin interfaceISourceReference- Overrides:
existsin classJavaElement- Returns:
trueif this element exists in the Java model, andfalseif this element does not exist- See Also:
-
generateInfos
protected void generateInfos(IElementInfo info, Map<IJavaElement, IElementInfo> newElements, org.eclipse.core.runtime.IProgressMonitor pm) Description copied from class:JavaElementGenerates 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:
generateInfosin classSourceRefElement
-
getAnnotation
Description copied from interface:IAnnotatableReturns 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:
getAnnotationin interfaceIAnnotatable- Overrides:
getAnnotationin classSourceRefElement- Parameters:
annotationName- the given simple name- Returns:
- the annotation with the given name declared on this element
-
getAnnotations
Description copied from interface:IAnnotatableReturns the annotations for this element. Returns an empty array if this element has no annotations.- Specified by:
getAnnotationsin interfaceIAnnotatable- Overrides:
getAnnotationsin 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:
getHandleFromMementoin classSourceRefElement
-
getHandleMemento
- Overrides:
getHandleMementoin classSourceRefElement
-
getHandleMemento
-
getHandleMementoDelimiter
protected char getHandleMementoDelimiter()Description copied from class:JavaElementReturns thecharthat marks the start of this handles contribution to a memento.- Specified by:
getHandleMementoDelimiterin classJavaElement
-
getCorrespondingResource
public org.eclipse.core.resources.IResource getCorrespondingResource()Description copied from class:SourceRefElementElements within compilation units and class files have no corresponding resource.- Specified by:
getCorrespondingResourcein interfaceIJavaElement- Overrides:
getCorrespondingResourcein classSourceRefElement- Returns:
- the corresponding resource, or
nullif none - See Also:
-
getDeclaringMember
Returns the declaring member of this local variable.This is a handle-only method.
- Specified by:
getDeclaringMemberin interfaceILocalVariable- Returns:
- the declaring member of this local variable
- Since:
- 3.7
-
getElementName
Description copied from interface:IJavaElementReturns the name of this element. This is a handle-only method.- Specified by:
getElementNamein interfaceIJavaElement- Specified by:
getElementNamein interfaceILocalVariable- Overrides:
getElementNamein classJavaElement- Returns:
- the element name
- See Also:
-
getElementType
public int getElementType()Description copied from interface:IJavaElementReturns this element's kind encoded as an integer. This is a handle-only method.- Specified by:
getElementTypein interfaceIJavaElement- Returns:
- the kind of element; one of the constants declared in
IJavaElement - See Also:
-
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:
getFlagsin interfaceILocalVariable- Returns:
- the modifier flags for this local variable
- Since:
- 3.7
- See Also:
-
getClassFile
- Overrides:
getClassFilein classJavaElement- See Also:
-
getNameRange
Returns the name range associated with this element.If the element is an
IMember, it returns the source range of this member's simple name, ornullif this member does not have a name (for example, an initializer), or if this member does not have associated source code (for example, a binary type).If this element is an
IImportDeclaration, the source range of this import declaration's name, ornullif this import declaration does not have associated source code (for example, a binary type).
The source range for the name includes the trailing '*' if the call toIImportDeclaration.isOnDemand()returns true.If this element is an
IPackageDeclaration, the source range of this package declaration's name, ornullif this package declaration does not have associated source code (for example, a binary type).If this element is an
IAnnotation, the source range of this annotation's name, ornullif this annotation does not have associated source code (for example, in a binary type).If this element is an
ITypeParameter, the source range of this type parameter's name, ornullif this type parameter does not have associated source code (for example, in a binary type).If this element is an
ITypeRootorIImportContainer, it returns null.- Specified by:
getNameRangein interfaceILocalVariable- Specified by:
getNameRangein interfaceISourceReference- Returns:
- the name range associated with this element, or
nullif not available - Since:
- 3.7
-
getPath
public org.eclipse.core.runtime.IPath getPath()Description copied from interface:IJavaElementReturns 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:
getPathin interfaceIJavaElement- Overrides:
getPathin classSourceRefElement- Returns:
- the path to the innermost resource enclosing this element
-
resource
public org.eclipse.core.resources.IResource resource()- Overrides:
resourcein classSourceRefElement
-
getSource
Description copied from interface:ISourceReferenceReturns 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:
getSourcein interfaceISourceReference- Overrides:
getSourcein classSourceRefElement- Returns:
- the source code, or
nullif this element has no associated source code - Throws:
JavaModelException- if an exception occurs while accessing its corresponding resource- See Also:
-
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
nullis 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:
getSourceRangein interfaceISourceReference- Overrides:
getSourceRangein classSourceRefElement- Returns:
- the source range, or either
nullor [-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:
-
getTypeRoot
Returns the Java type root in which this local variable is declared.This is a handle-only method.
- Specified by:
getTypeRootin interfaceILocalVariable- Returns:
- the Java type root in which this local variable is declared
- Since:
- 3.7
-
getTypeSignature
Description copied from interface:ILocalVariableReturns 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
Signaturefor details.- Specified by:
getTypeSignaturein interfaceILocalVariable- Returns:
- the type signature of this local variable.
- See Also:
-
getUnderlyingResource
Description copied from interface:IJavaElementReturns the smallest underlying resource that contains this element, ornullif this element is not contained in a resource.- Specified by:
getUnderlyingResourcein interfaceIJavaElement- Overrides:
getUnderlyingResourcein classSourceRefElement- Returns:
- the underlying resource, or
nullif none - Throws:
JavaModelException- if this element does not exist or if an exception occurs while accessing its underlying resource- See Also:
-
isParameter
public boolean isParameter()Returnstrueif this local variable is a method parameter,falseotherwise.- Specified by:
isParameterin interfaceILocalVariable- Returns:
trueif this local variable is a method parameter,falseotherwise- Since:
- 3.7
-
isStructureKnown
Description copied from interface:IJavaElementReturns whether the structure of this element is known. For example, for a compilation unit that has syntax errors,falseis returned. If the structure of an element is unknown, navigations will return reasonable defaults. For example,getChildrenfor 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:
isStructureKnownin interfaceIJavaElement- Overrides:
isStructureKnownin classSourceRefElement- Returns:
trueif 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:
-
getKey
- Throws:
JavaModelException- See Also:
-
toStringInfo
Description copied from class:JavaElementDebugging purposes- Overrides:
toStringInfoin classJavaElement- Parameters:
showResolvedInfo- TODO
-