Interface IIndexBinding
- All Superinterfaces:
org.eclipse.core.runtime.IAdaptable,IBinding
- All Known Subinterfaces:
IIndexMacro,IIndexMacroContainer
- Since:
- 4.0
- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
Field Summary
FieldsFields inherited from interface org.eclipse.cdt.core.dom.ast.IBinding
EMPTY_BINDING_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionReturns the file this binding is local to, ornullfor global bindings.getOwner()Returns the binding that owns this binding, ornullif there is no owner.String[]Returns the qualified name of this binding as array of strings.booleanReturns whether the scope of the binding is file-local.Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapterMethods inherited from interface org.eclipse.cdt.core.dom.ast.IBinding
getLinkage, getName, getNameCharArray, getScope
-
Field Details
-
EMPTY_INDEX_BINDING_ARRAY
-
-
Method Details
-
getQualifiedName
String[] getQualifiedName()Returns the qualified name of this binding as array of strings. -
isFileLocal
boolean isFileLocal() throws org.eclipse.core.runtime.CoreExceptionReturns whether the scope of the binding is file-local. A file local binding is private to an index and should not be adapted to a binding in another index.- Throws:
org.eclipse.core.runtime.CoreException
-
getLocalToFile
Returns the file this binding is local to, ornullfor global bindings. A binding is local if a file has a separate instances of the binding. This is used to model static files, static variables.- Throws:
org.eclipse.core.runtime.CoreException
-
getOwner
IIndexBinding getOwner()Description copied from interface:IBindingReturns the binding that owns this binding, ornullif there is no owner.The owner is determined as follows:
ICPPUsingDeclaration: The owner depends on where the declaration is found, within a function or method, a class-type, a namespace or on global scope.
ICPPTemplateParameter: The owner is theICPPTemplateDefinition.
IEnumerator: The owner is theIEnumeration, independent of whether they are scoped or not.
For all other bindings: The owner depends on where the binding can be defined (it could be declared elsewhere).Possible owners are:
IFunction: for parameters, local types, variables, enumerators, labels and using declarations;
Closure represented byICPPClassType: for lambda expression parameters;
ICPPClassType: for class-, struct- and union-members, even if the composite type is anonymous; also for enumerators and using declarations;
ICompositeType: for struct- and union-members, even if the composite type is anonymous; also for anonymous structs or unions found within another struct;
ICPPNamespace: for global types, functions, variables, enumerators, namespaces and using declarations;
IEnumeration: for enumerators.
null: for types, functions, variables, namespaces and using declarations;
-