Eclipse CDT
7.0

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

All Known Subinterfaces:
ICExternalBinding, ICompositeType, ICPPAliasTemplate, ICPPAliasTemplateInstance, ICPPBinding, ICPPClassSpecialization, ICPPClassTemplate, ICPPClassTemplatePartialSpecialization, ICPPClassTemplatePartialSpecializationSpecialization, ICPPClassType, ICPPConstructor, ICPPDeferredFunction, ICPPDeferredTemplateInstance, ICPPEnumeration, ICPPEnumerationSpecialization, ICPPField, ICPPFunction, ICPPFunctionTemplate, ICPPMember, ICPPMethod, ICPPMethodSpecialization, ICPPNamespace, ICPPNamespaceAlias, ICPPParameter, ICPPSpecialization, ICPPTemplateDefinition, ICPPTemplateInstance, ICPPTemplateNonTypeParameter, ICPPTemplateParameter, ICPPTemplateTemplateParameter, ICPPTemplateTypeParameter, ICPPUsingDeclaration, ICPPVariable, IEnumeration, IEnumerator, IField, IFunction, ILabel, IMacroBinding, IParameter, IProblemBinding, ITypedef, IVariable

public interface IBinding

Represents the semantics of a name found in the AST or the index.


Field Summary
static IBinding[] EMPTY_BINDING_ARRAY
           
 
Method Summary
 org.eclipse.cdt.core.dom.ILinkage getLinkage()
          Returns the linkage the binding belongs to.
 java.lang.String getName()
          Returns the unqualified name of the binding as a string.
 char[] getNameCharArray()
          Returns the unqualified name of the binding as an array of characters.
 IBinding getOwner()
          Returns the binding that owns this binding, or null if there is no owner.
 IScope getScope()
          Returns the parent scope for this binding.
 

Field Detail

EMPTY_BINDING_ARRAY

static final IBinding[] EMPTY_BINDING_ARRAY
Method Detail

getName

java.lang.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

org.eclipse.cdt.core.dom.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

Eclipse CDT
7.0

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