public interface ICElement
extends org.eclipse.core.runtime.IAdaptable
Modifier and Type | Field and Description |
---|---|
static int |
ASM_LABEL
Assembly label.
|
static int |
C_ARCHIVE |
static int |
C_BINARY |
static int |
C_CCONTAINER
Constant representing a folder (ICContainer object).
|
static int |
C_CLASS
Constant representing a class structure.
|
static int |
C_CLASS_CTOR
Deprecated.
|
static int |
C_CLASS_DECLARATION
Declaration of a class without the definition.
|
static int |
C_CLASS_DTOR
Deprecated.
|
static int |
C_ENUMERATION
Enumeration.
|
static int |
C_ENUMERATOR
Enumerator.
|
static int |
C_FIELD
A Field definition part of a structure(class, struct, union).
|
static int |
C_FUNCTION
a C/C++ function definition.
|
static int |
C_FUNCTION_DECLARATION
a C/C++ function prototype.
|
static int |
C_INCLUDE
Preprocessor #include directive.
|
static int |
C_MACRO
A preprocessor macro.
|
static int |
C_METHOD
A method definition part of a structure(class, struct, union).
|
static int |
C_METHOD_DECLARATION
A method declaration part of a structure(class, struct, union).
|
static int |
C_MODEL
Constant representing a C Root workspace (IWorkspaceRoot object).
|
static int |
C_NAMESPACE
Namespace.
|
static int |
C_PROJECT
Constant representing a C project (IProject object).
|
static int |
C_STORAGE_EXTERN
Deprecated.
not used anymore
|
static int |
C_STORAGE_STATIC
Deprecated.
|
static int |
C_STRUCT
Constant representing a struct structure.
|
static int |
C_STRUCT_DECLARATION
Declaration of a structure without the definition.
|
static int |
C_TEMPLATE_CLASS
C++ template class with definition.
|
static int |
C_TEMPLATE_CLASS_DECLARATION
C++ template class declaration without a definition.
|
static int |
C_TEMPLATE_FUNCTION
C++ template function.
|
static int |
C_TEMPLATE_FUNCTION_DECLARATION
C++ template function declaration.
|
static int |
C_TEMPLATE_METHOD
C++ template method.
|
static int |
C_TEMPLATE_METHOD_DECLARATION
C++ template method.
|
static int |
C_TEMPLATE_STRUCT
C++ template struct.
|
static int |
C_TEMPLATE_STRUCT_DECLARATION
C++ template struct.
|
static int |
C_TEMPLATE_UNION
C++ template union.
|
static int |
C_TEMPLATE_UNION_DECLARATION
C++ template union.
|
static int |
C_TEMPLATE_VARIABLE
C++ template variable.
|
static int |
C_TYPEDEF
a Typedef.
|
static int |
C_UNION
Constant representing a union structure.
|
static int |
C_UNION_DECLARATION
Declaration of a union without the definition.
|
static int |
C_UNIT
Constant representing a C/C++ children of a Translation Unit
|
static int |
C_UNKNOWN_DECLARATION
An unknown ICElement.
|
static int |
C_USING
Using.
|
static int |
C_VARIABLE
Global variable.
|
static int |
C_VARIABLE_DECLARATION
variable Declaration.
|
static int |
C_VARIABLE_LOCAL
Local Variable.
|
static int |
C_VCONTAINER
Virtual container serving as a place holder.
|
static int |
CPP_FRIEND
Deprecated.
|
static int |
CPP_PRIVATE
Deprecated.
|
static int |
CPP_PROTECTED
Deprecated.
|
static int |
CPP_PUBLIC
Deprecated.
|
static ICElement[] |
EMPTY_ARRAY |
Modifier and Type | Method and Description |
---|---|
void |
accept(ICElementVisitor visitor)
Accept a visitor and walk the ICElement tree with it.
|
boolean |
exists()
Returns whether this C element exists in the model.
|
ICElement |
getAncestor(int ancestorType)
Returns the first ancestor of this C element that has the given type.
|
ICModel |
getCModel()
Returns the C model.
|
ICProject |
getCProject()
Returns the C project this element is contained in, or
null if this element
is not contained in any C project |
String |
getElementName()
Returns the name of this element.
|
int |
getElementType()
Returns this element's kind encoded as an integer.
|
String |
getHandleIdentifier()
Returns a string representation of this element handle.
|
URI |
getLocationURI()
Returns an absolute URI corresponding to the innermost file enclosing this element.
|
ICElement |
getParent()
Returns the element directly containing this element,
or
null if this element has no parent. |
org.eclipse.core.runtime.IPath |
getPath()
Returns the path to the innermost resource enclosing this element.
|
org.eclipse.core.resources.IResource |
getResource()
Returns the corresponding resource for this element, or
null if this element
does not have a corresponding resource. |
org.eclipse.core.resources.IResource |
getUnderlyingResource()
Returns the underlying resource that contains this element, or
null if this element
is not contained in a resource. |
boolean |
isReadOnly()
Returns whether this C element is read-only.
|
boolean |
isStructureKnown()
Returns whether the structure of this element is known.
|
static final ICElement[] EMPTY_ARRAY
static final int C_MODEL
ICModel
.static final int C_PROJECT
ICProject
.static final int C_CCONTAINER
ICContainer
.static final int C_BINARY
static final int C_ARCHIVE
static final int C_VCONTAINER
static final int C_UNIT
static final int C_NAMESPACE
static final int C_USING
static final int C_ENUMERATION
static final int C_CLASS_DECLARATION
static final int C_CLASS
static final int C_STRUCT_DECLARATION
static final int C_STRUCT
static final int C_UNION_DECLARATION
static final int C_UNION
static final int C_METHOD
static final int C_METHOD_DECLARATION
static final int C_FIELD
static final int C_FUNCTION_DECLARATION
static final int C_FUNCTION
static final int C_INCLUDE
static final int C_VARIABLE
static final int C_VARIABLE_DECLARATION
static final int C_VARIABLE_LOCAL
static final int C_MACRO
static final int C_TYPEDEF
static final int C_ENUMERATOR
static final int C_TEMPLATE_CLASS_DECLARATION
static final int C_TEMPLATE_CLASS
static final int C_TEMPLATE_STRUCT_DECLARATION
static final int C_TEMPLATE_STRUCT
static final int C_TEMPLATE_UNION_DECLARATION
static final int C_TEMPLATE_UNION
static final int C_TEMPLATE_FUNCTION_DECLARATION
static final int C_TEMPLATE_FUNCTION
static final int C_TEMPLATE_METHOD_DECLARATION
static final int C_TEMPLATE_METHOD
static final int C_TEMPLATE_VARIABLE
static final int C_UNKNOWN_DECLARATION
static final int ASM_LABEL
@Deprecated static final int C_CLASS_CTOR
IMethodDeclaration.isConstructor()
@Deprecated static final int C_CLASS_DTOR
IMethodDeclaration.isDestructor()
@Deprecated static final int C_STORAGE_STATIC
IDeclaration.isStatic()
@Deprecated static final int C_STORAGE_EXTERN
@Deprecated static final int CPP_PRIVATE
IMember.getVisibility()
@Deprecated static final int CPP_PUBLIC
IMember.getVisibility()
@Deprecated static final int CPP_PROTECTED
IMember.getVisibility()
@Deprecated static final int CPP_FRIEND
IMethodDeclaration.isFriend()
boolean exists()
true
if this element exists in the C modelICElement getAncestor(int ancestorType)
null
if no such an ancestor can be found.
This is a handle-only method.ancestorType
- the given typenull
if no such
an ancestor can be foundString getElementName()
int getElementType()
ICElement
ICModel getCModel()
ICProject getCProject()
null
if this element
is not contained in any C projectnull
if this element is
not contained in a C projectICElement getParent()
null
if this element has no parent.null
if this element has no parentorg.eclipse.core.runtime.IPath getPath()
URI getLocationURI()
org.eclipse.core.resources.IResource getUnderlyingResource()
null
if this element
is not contained in a resource.null
if noneorg.eclipse.core.resources.IResource getResource()
null
if this element
does not have a corresponding resource.null
if noneboolean isReadOnly()
true
if this element is read-onlyboolean isStructureKnown() throws CModelException
false
is returned.
If the structure of an element is unknown, navigations will return reasonable
defaults. For example, getChildren
will return an empty collection.
Note: This does not imply anything about consistency with the underlying resource/buffer contents.
true
if the structure of this element is knownCModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcevoid accept(ICElementVisitor visitor) throws org.eclipse.core.runtime.CoreException
visitor
- CModelException
org.eclipse.core.runtime.CoreException
String getHandleIdentifier()
CoreModel.create(String)
method.
Some element types, like binaries, do not support handle identifiers and
return null
.
null
if the element type is not supportedCoreModel.create(java.lang.String)
Copyright (c) IBM Corp. and others 2004, 2020. All Rights Reserved.