Interface IScope

All Known Subinterfaces:
ICCompositeTypeScope, ICFunctionPrototypeScope, ICFunctionScope, ICPPBlockScope, ICPPClassScope, ICPPEnumScope, ICPPFunctionScope, ICPPNamespaceScope, ICPPScope, ICPPTemplateScope, ICScope, IProblemBinding

public interface IScope
Scopes can be used to look-up names. With the exception of template-scopes the scopes can be arranged in a hierarchy.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Details

    • getKind

      EScopeKind getKind()
      Classifies the scope.
      Since:
      5.1
    • getScopeName

      IName getScopeName()
      Returns the IName for this scope, may be null.
      Returns:
      The name of this scope.
    • getParent

      IScope getParent() throws DOMException
      Returns the first enclosing non-template scope, or null if this is the global scope.
      Throws:
      DOMException
    • find

      IBinding[] find(String name, IASTTranslationUnit tu)
      This is the general lookup entry point. It returns the list of valid bindings for a given name in this scope and its enclosing scopes. The name is treated as unqualified. Constructors are not considered during this lookup and won't be returned. No attempt is made to resolve potential ambiguities or perform access checking.
      Parameters:
      name - the name of the bindings
      tu - the translation unit determining the context for the lookup
      Returns:
      An array of bindings
      Since:
      5.11
    • find

      @Deprecated IBinding[] find(String name)
      Restriction:
      This method is not intended to be referenced by clients.
    • getBinding

      IBinding getBinding(IASTName name, boolean resolve)
      Returns the binding in this scope that the given name would resolve to. Could return null if there is no matching binding in this scope, if the binding has not yet been cached in this scope, or if resolve is false and the appropriate binding has not yet been resolved.
      Parameters:
      name - the name of the binding
      resolve - whether or not to resolve the matching binding if it has not been so already
      Returns:
      the binding in this scope that matches the name, or null
    • getBinding

      IBinding getBinding(IASTName name, boolean resolve, IIndexFileSet acceptLocalBindings)
      Returns the binding in this scope that the given name would resolve to. Could return null if there is no matching binding in this scope, if the binding has not yet been cached in this scope, or if resolve is false and the appropriate binding has not yet been resolved. Accepts file local bindings from the index for the files in the given set, only.
      Parameters:
      name - the name of the binding
      resolve - whether or not to resolve the matching binding if it has not been so already
      acceptLocalBindings - a set of files for which to accept local bindings
      Returns:
      the binding in this scope that matches the name, or null
    • getBindings

      @Deprecated IBinding[] getBindings(IASTName name, boolean resolve, boolean prefixLookup)
      Deprecated.
      Restriction:
      This method is not intended to be referenced by clients.
    • getBindings

      @Deprecated IBinding[] getBindings(IASTName name, boolean resolve, boolean prefixLookup, IIndexFileSet acceptLocalBindings)
      Deprecated.
      Restriction:
      This method is not intended to be referenced by clients.
    • getBindings

      IBinding[] getBindings(IScope.ScopeLookupData lookup)
      Returns the bindings in this scope that the given name or prefix could resolve to. Could return null if there is no matching bindings in this scope, if the bindings have not yet been cached in this scope, or if resolve is false and the appropriate bindings have not yet been resolved.
      Returns:
      the bindings in this scope that match the name or prefix, or null
      Since:
      5.5