Interface IIndexBinding

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable, IBinding
All Known Subinterfaces:
IIndexMacro, IIndexMacroContainer

public interface IIndexBinding extends IBinding
Represents the semantics of a name in the index.
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 Details

    • EMPTY_INDEX_BINDING_ARRAY

      static final IIndexBinding[] 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.CoreException
      Returns 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

      IIndexFile getLocalToFile() throws org.eclipse.core.runtime.CoreException
      Returns the file this binding is local to, or null for 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: IBinding
      Returns the binding that owns this binding, or 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;

      Specified by:
      getOwner in interface IBinding
      Since:
      5.1