public interface IIndexFragmentBinding extends IIndexBinding
Modifier and Type | Field and Description |
---|---|
static IIndexFragmentBinding[] |
EMPTY_INDEX_BINDING_ARRAY |
EMPTY_BINDING_ARRAY
Modifier and Type | Method and Description |
---|---|
int |
getBindingConstant()
Returns the constant identifying the type of binding stored in the index
|
long |
getBindingID()
Returns a unique id for the binding within the fragment, or
null for unknown
bindings. |
IIndexFragment |
getFragment()
Returns the owner of the binding.
|
ILinkage |
getLinkage()
Returns the linkage the binding belongs to.
|
IIndexFragmentBinding |
getOwner()
Returns the binding that owns this binding, or
null if there is no owner. |
IIndexScope |
getScope()
Returns the scope that contains this binding, or
null for bindings in global scope. |
boolean |
hasDeclaration()
Returns whether this binding has a declaration or definition associated with
it in its associated fragment.
|
boolean |
hasDefinition()
Returns whether this binding has any definitions associated with it
in its associated fragment.
|
getLocalToFile, getQualifiedName, isFileLocal
getName, getNameCharArray
static final IIndexFragmentBinding[] EMPTY_INDEX_BINDING_ARRAY
IIndexFragment getFragment()
ILinkage getLinkage()
getLinkage
in interface IBinding
boolean hasDefinition() throws CoreException
CoreException
boolean hasDeclaration() throws CoreException
CoreException
int getBindingConstant()
IIndexScope getScope()
null
for bindings in global scope.IIndexFragmentBinding getOwner()
null
if 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 the ICPPTemplateDefinition
.
IEnumerator
: The owner is the IEnumeration
, 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 by ICPPClassType
: 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;
getOwner
in interface IBinding
getOwner
in interface IIndexBinding
long getBindingID()
null
for unknown
bindings.