public interface IMember extends IJavaScriptElement, ISourceReference, ISourceManipulation, IParent
IType
, IFunction
,
IField
, and IInitializer
.
This interface is not intended to be implemented by clients.
Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.CLASS_FILE, EXPORT_CONTAINER, EXPORT_DECLARATION, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVASCRIPT_MODEL, JAVASCRIPT_PROJECT, JAVASCRIPT_UNIT, LOCAL_VARIABLE, METHOD, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE
Modifier and Type | Method and Description |
---|---|
java.lang.String[] |
getCategories()
Returns the categories defined by this member's JSDoc.
|
IClassFile |
getClassFile() |
IType |
getDeclaringType()
Returns the type in which this member is declared, or
null
if this member is not declared in a type (for example, a top-level type). |
int |
getFlags()
Returns the modifier flags for this member.
|
IJavaScriptUnit |
getJavaScriptUnit()
Returns the javaScript unit in which this member is declared, or
null
if this member is not declared in a javaScript unit. |
ISourceRange |
getJSdocRange()
Returns the JSDoc range if this element is from source or if this element
is a binary element with an attached source, null otherwise.
|
ISourceRange |
getNameRange()
Returns the source range of this member's simple name,
or
null if 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). |
int |
getOccurrenceCount()
Returns the position relative to the order this member is defined in the source.
|
IType |
getType(java.lang.String name,
int occurrenceCount)
Returns the local or anonymous type declared in this source member with the given simple name and/or
with the specified position relative to the order they are defined in the source.
|
ITypeRoot |
getTypeRoot()
Returns the JavaScript type root in which this member is declared.
|
boolean |
isBinary()
Returns whether this member is from a non-editable file.
|
exists, getAncestor, getAttachedJavadoc, getCommonSuperType, getCorrespondingResource, getDisplayName, getElementName, getElementType, getHandleIdentifier, getHostPath, getJavaScriptModel, getJavaScriptProject, getOpenable, getParent, getPath, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isReadOnly, isStructureKnown, isVirtual
newNameLookup, newNameLookup, newSearchableNameEnvironment, newSearchableNameEnvironment
exists, getSource, getSourceRange
copy, delete, move, rename
getChildren, hasChildren
java.lang.String[] getCategories() throws JavaScriptModelException
@category
in the member's JSDoc.
Returns an empty array if no category is defined in this member's JSDoc.JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource.IClassFile getClassFile()
IJavaScriptUnit getJavaScriptUnit()
null
if this member is not declared in a javaScript unit.
This is a handle-only method.null
if this member is not declared in a javaScript unit (for example, a binary type)IType getDeclaringType()
null
if this member is not declared in a type (for example, a top-level type).
This is a handle-only method.null
if this member is not declared in a type (for example, a top-level type)int getFlags() throws JavaScriptModelException
Flags
.
Note that only flags as indicated in the source are returned. Thus if an interface
defines a method void myMethod();
the flags don't include the
'public' flag.
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource.Flags
ISourceRange getJSdocRange() throws JavaScriptModelException
If this element is from source, the jsdoc range is extracted from the corresponding source.
If this element is from a binary, the jsdoc is extracted from the attached source if present.
If this element's openable is not consistent, then null is returned.
null
if no source is available, this element has no jsdoc comment or
this element's openable is not consistentJavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource.IOpenable.isConsistent()
ISourceRange getNameRange() throws JavaScriptModelException
null
if 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).null
if 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)JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource.int getOccurrenceCount()
Two members m1 and m2 that are equal (e.g. 2 fields with the same name in the same type) can be distinguished using their occurrence counts. If member m1 appears first in the source, it will have an occurrence count of 1. If member m2 appears right after member m1, it will have an occurrence count of 2.
The occurrence count can be used to distinguish initializers inside a type or anonymous types inside a method.
This is a handle-only method. The member may or may not be present.
ITypeRoot getTypeRoot()
IType getType(java.lang.String name, int occurrenceCount)
RuntimeException
if this member is not a source member.name
- the given simple nameoccurrenceCount
- the specified positionboolean isBinary()
true
if from a non-editable file, and false
if
from a javaScript unitCopyright (c) IBM Corp. and others 2000, 2010. All Rights Reserved.