Interface IBinding

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable
All Known Subinterfaces:
ICExternalBinding, ICompositeType, ICPPAliasTemplate, ICPPAliasTemplateInstance, ICPPBinding, ICPPClassSpecialization, ICPPClassTemplate, ICPPClassTemplatePartialSpecialization, ICPPClassTemplatePartialSpecializationSpecialization, ICPPClassType, ICPPConstructor, ICPPConstructorSpecialization, ICPPDeductionGuide, ICPPDeferredFunction, ICPPDeferredTemplateInstance, ICPPEnumeration, ICPPEnumerationSpecialization, ICPPField, ICPPFieldTemplate, ICPPFunction, ICPPFunctionInstance, ICPPFunctionSpecialization, ICPPFunctionTemplate, ICPPMember, ICPPMethod, ICPPMethodSpecialization, ICPPNamespace, ICPPNamespaceAlias, ICPPParameter, ICPPPartiallySpecializable, ICPPPartialSpecialization, ICPPSpecialization, ICPPTemplateDefinition, ICPPTemplateInstance, ICPPTemplateNonTypeParameter, ICPPTemplateParameter, ICPPTemplateTemplateParameter, ICPPTemplateTypeParameter, ICPPTypeSpecialization, ICPPUsingDeclaration, ICPPVariable, ICPPVariableInstance, ICPPVariableTemplate, ICPPVariableTemplatePartialSpecialization, IEnumeration, IEnumerator, IField, IFunction, IIndexBinding, IIndexMacro, IIndexMacroContainer, ILabel, IMacroBinding, IParameter, IProblemBinding, ITypedef, IVariable

public interface IBinding extends org.eclipse.core.runtime.IAdaptable
Represents the semantics of a name found in the AST or the index.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final IBinding[]
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the linkage the binding belongs to.
    Returns the unqualified name of the binding as a string.
    char[]
    Returns the unqualified name of the binding as an array of characters.
    Returns the binding that owns this binding, or null if there is no owner.
    Returns the parent scope for this binding.

    Methods inherited from interface org.eclipse.core.runtime.IAdaptable

    getAdapter
  • Field Details

    • EMPTY_BINDING_ARRAY

      static final IBinding[] EMPTY_BINDING_ARRAY
  • Method Details

    • getName

      String getName()
      Returns the unqualified name of the binding as a string.
    • getNameCharArray

      char[] getNameCharArray()
      Returns the unqualified name of the binding as an array of characters.
    • getLinkage

      ILinkage getLinkage()
      Returns the linkage the binding belongs to. C++-declarations declared as extern "C" will still return c++-linkage.
    • getOwner

      IBinding getOwner()
      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;

      Since:
      5.1
    • getScope

      IScope getScope() throws DOMException
      Returns the parent scope for this binding. A binding may have declarations in multiple scopes, this method returns the scope where the binding would potentially be defined.
      Throws:
      DOMException