Eclipse CDT
Pre-release 3.0

org.eclipse.cdt.core.dom.ast
Interface IScope

All Known Subinterfaces:
ICCompositeTypeScope, ICFunctionPrototypeScope, ICFunctionScope, ICPPBlockScope, ICPPClassScope, 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.


Method Summary
 IBinding[] find(String name)
          This is the general lookup entry point.
 IBinding getBinding(IASTName name, boolean resolve)
          Get the binding in this scope that the given name would resolve to.
 IBinding getBinding(IASTName name, boolean resolve, org.eclipse.cdt.core.index.IIndexFileSet acceptLocalBindings)
          Get the binding in this scope that the given name would resolve to.
 IBinding[] getBindings(IASTName name, boolean resolve, boolean prefixLookup)
          Get the bindings in this scope that the given name or prefix could resolve to.
 IBinding[] getBindings(IASTName name, boolean resolve, boolean prefixLookup, org.eclipse.cdt.core.index.IIndexFileSet acceptLocalBindings)
          Get the bindings in this scope that the given name or prefix could resolve to.
 EScopeKind getKind()
          Classifies the scope.
 IScope getParent()
          The method returns the first enclosing non-template scope, or null if this is the global scope.
 org.eclipse.cdt.core.dom.IName getScopeName()
          Get the IName for this scope, may be null
 

Method Detail

getKind

EScopeKind getKind()
Classifies the scope.

Since:
5.1

getScopeName

org.eclipse.cdt.core.dom.IName getScopeName()
                                            throws DOMException
Get the IName for this scope, may be null

Returns:
The name of this scope.
Throws:
DOMException

getParent

IScope getParent()
                 throws DOMException
The method returns the first enclosing non-template scope, or null if this is the global scope.

For scopes obtained from an index, null is returned to indicate that the scope is only enclosed by the global scope.

Throws:
DOMException

find

IBinding[] find(String name)
                throws DOMException
This is the general lookup entry point. It returns the list of valid bindings for a given name. The lookup proceeds as an unqualified lookup. 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 -
Returns:
An array of bindings.
Throws:
DOMException

getBinding

IBinding getBinding(IASTName name,
                    boolean resolve)
                    throws DOMException
Get 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 == false and the appropriate binding has not yet been resolved.

Parameters:
name -
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
Throws:
DOMException

getBinding

IBinding getBinding(IASTName name,
                    boolean resolve,
                    org.eclipse.cdt.core.index.IIndexFileSet acceptLocalBindings)
                    throws DOMException
Get 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 == false and the appropriate binding has not yet been resolved. Accepts file local bindings from the index for the files int the given set, only.

Parameters:
name -
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
Throws:
DOMException

getBindings

IBinding[] getBindings(IASTName name,
                       boolean resolve,
                       boolean prefixLookup)
                       throws DOMException
Get 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 == false and the appropriate bindings have not yet been resolved.

Parameters:
name -
resolve - : whether or not to resolve the matching bindings if they have not been so already.
prefixLookup - whether the lookup is for a full name or a prefix
Returns:
: the bindings in this scope that match the name or prefix, or null
Throws:
DOMException

getBindings

IBinding[] getBindings(IASTName name,
                       boolean resolve,
                       boolean prefixLookup,
                       org.eclipse.cdt.core.index.IIndexFileSet acceptLocalBindings)
                       throws DOMException
Get 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 == false and the appropriate bindings have not yet been resolved.

Parameters:
name -
resolve - : whether or not to resolve the matching bindings if they have not been so already.
prefixLookup - whether the lookup is for a full name or a prefix
acceptLocalBindings - a set of files for which to accept local bindings.
Returns:
: the bindings in this scope that match the name or prefix, or null
Throws:
DOMException

Eclipse CDT
Pre-release 3.0

Copyright (c) IBM Corp. and others 2004. All Rights Reserved.