## Uses of Interface
org.eclipse.cdt.core.dom.ast.IBinding

Packages that use IBinding
org.eclipse.cdt.core.dom.ast
org.eclipse.cdt.core.dom.ast.c
org.eclipse.cdt.core.dom.ast.cpp

### Uses of IBinding in org.eclipse.cdt.core.dom.ast

Subinterfaces of IBinding in org.eclipse.cdt.core.dom.ast
`interface` `ICompositeType` Interface for all composite types: classes, structs and unions.
`interface` `IEnumeration`
`interface` `IEnumerator` Interface for enumerators.
`interface` `IField`
`interface` `IFunction` This represents a function in the program.
`interface` `ILabel` Represents the mapping between goto statements and the label statements the go to.
`interface` `IMacroBinding` Models bindings for macro names.
`interface` `IParameter` Represents a parameter to a function.
`interface` `IProblemBinding` Interface for problem bindings.
`interface` `ITypedef`
`interface` `IVariable` Interface for all sorts of variables: local, parameter, global, field.

Fields in org.eclipse.cdt.core.dom.ast declared as IBinding
`static IBinding[]` IBinding.`EMPTY_BINDING_ARRAY`
`static IBinding[]` ILabel.`EMPTY_LABEL_ARRAY` Deprecated. use `ILabel.EMPTY_ARRAY` instead

Methods in org.eclipse.cdt.core.dom.ast that return IBinding
`IBinding[]` IScope.`find(java.lang.String name)` Deprecated. Use {`IScope.find(String, IASTTranslationUnit)`
`IBinding[]` IScope.`find(java.lang.String name, IASTTranslationUnit tu)` This is the general lookup entry point.
`IBinding[]` IASTCompletionContext.`findBindings(IASTName n, boolean isPrefix)` Returns bindings that start with the given name or prefix, only considering those that are valid for this context.
`IBinding[]` ICPPASTCompletionContext.`findBindings(IASTName n, boolean isPrefix, java.lang.String[] namespaces)` Returns bindings that start with the given name or prefix, only considering those that are valid for this context, including those in the requested set of namespaces.
`IBinding` IASTName.`getBinding()` Returns the semantic object attached to this name.
`IBinding` IScope.`getBinding(IASTName name, boolean resolve)` Returns the binding in this scope that the given name would resolve to.
`IBinding` IScope.`getBinding(IASTName name, boolean resolve, org.eclipse.cdt.core.index.IIndexFileSet acceptLocalBindings)` Returns the binding in this scope that the given name would resolve to.
`IBinding[]` IScope.`getBindings(IASTName name, boolean resolve, boolean prefixLookup)` Deprecated. Use `IScope.getBindings(ScopeLookupData)` instead
`IBinding[]` IScope.`getBindings(IASTName name, boolean resolve, boolean prefixLookup, org.eclipse.cdt.core.index.IIndexFileSet acceptLocalBindings)` Deprecated. Use `IScope.getBindings(ScopeLookupData)` instead
`IBinding[]` IScope.`getBindings(IScope.ScopeLookupData lookup)` Returns the bindings in this scope that the given name or prefix could resolve to.
`IBinding[]` IProblemBinding.`getCandidateBindings()` Returns bindings that were considered when resolving the node corresponding to this problem binding, but rejected for some reason.
`IBinding` IBinding.`getOwner()` Returns the binding that owns this binding, or `null` if there is no owner.
`IBinding` IASTName.`getPreBinding()` Returns the intermediate representation of the binding, if already available.
`default IBinding[]` IValue.`getUnknownBindings()` Deprecated. Returns an empty array.
`IBinding` IASTName.`resolveBinding()` Resolves the semantic object this name is referring to.
`IBinding` IASTImplicitName.`resolveBinding()` Resolves the semantic object this name is referring to.
`IBinding` IASTName.`resolvePreBinding()` Resolves to an intermediate representation of the binding.

Methods in org.eclipse.cdt.core.dom.ast with parameters of type IBinding
`static char[]` ASTTypeUtil.`createNameForAnonymous(IBinding binding)`
`org.eclipse.cdt.core.dom.IName[]` IASTTranslationUnit.`getDeclarations(IBinding binding)` Returns the list of declarations in this translation unit for the given binding.
`IASTName[]` IASTTranslationUnit.`getDeclarationsInAST(IBinding binding)` Returns the list of declarations in this translation unit for the given binding.
`org.eclipse.cdt.core.dom.IName[]` IASTTranslationUnit.`getDefinitions(IBinding binding)` Returns the array of definitions in this translation unit for the given binding.
`IASTName[]` IASTTranslationUnit.`getDefinitionsInAST(IBinding binding)` Returns the array of definitions in this translation unit for the given binding.
`IASTName[]` IASTTranslationUnit.`getReferences(IBinding binding)` Returns the list of references in this translation unit to the given binding.
`void` IASTName.`setBinding(IBinding binding)` Sets the semantic object for this name to be the given binding

### Uses of IBinding in org.eclipse.cdt.core.dom.ast.c

Subinterfaces of IBinding in org.eclipse.cdt.core.dom.ast.c
`interface` `ICExternalBinding` This interface represents a binding for a function or variable that is assumed to exist in another compilation unit and that would be found at link time.

Methods in org.eclipse.cdt.core.dom.ast.c that return IBinding
`IBinding` ICFunctionScope.`getBinding(char[] name)` return the ILabel binding in this scope that matches the given name
`IBinding` ICCompositeTypeScope.`getBinding(char[] name)` Returns the binding for the member that has been previous added to this scope and that matches the given name.

### Uses of IBinding in org.eclipse.cdt.core.dom.ast.cpp

Subinterfaces of IBinding in org.eclipse.cdt.core.dom.ast.cpp
`interface` `ICPPAliasTemplate` Represents an alias template (14.5.7).
`interface` `ICPPAliasTemplateInstance` Represents an instance of an alias template (14.5.7).
`interface` `ICPPBinding`
`interface` `ICPPClassSpecialization` Specializations of all sorts of class types.
`interface` `ICPPClassTemplate`
`interface` `ICPPClassTemplatePartialSpecialization` This interface represents a class template partial specialization.
`interface` `ICPPClassTemplatePartialSpecializationSpecialization` Interface for specializations of partial specializations.
`interface` `ICPPClassType` Represents a C++ class.
`interface` `ICPPConstructor`
`interface` `ICPPConstructorSpecialization` Binding for specializations of constructors.
`interface` `ICPPDeferredFunction` Represents a reference to a function which cannot be resolved because an argument depends on a template parameter.
`interface` `ICPPDeferredTemplateInstance` Deprecated. use `ICPPDeferredClassInstance` instead.
`interface` `ICPPEnumeration` C++ specific version of enumerations.
`interface` `ICPPEnumerationSpecialization`
`interface` `ICPPField`
`interface` `ICPPFieldTemplate` A field template.
`interface` `ICPPFunction` Binding for c++ functions.
`interface` `ICPPFunctionInstance` This interface represents an instantiation or an explicit specialization of a function template.
`interface` `ICPPFunctionSpecialization` Binding for specializations of functions.
`interface` `ICPPFunctionTemplate` Interface for function templates
`interface` `ICPPMember` Represents a member of a class.
`interface` `ICPPMethod` Base interface for methods, also used for constructors.
`interface` `ICPPMethodSpecialization` Specialization of a method.
`interface` `ICPPNamespace` This interface represents a C++ namespace
`interface` `ICPPNamespaceAlias`
`interface` `ICPPParameter`
`interface` `ICPPPartiallySpecializable` Something that can be partially specialized.
`interface` `ICPPPartialSpecialization` A partially specialized variable or class template.
`interface` `ICPPSpecialization` For an instantiation of a class template, the members of that instantiation will be specializations of the members of the original class template.
`interface` `ICPPTemplateDefinition` Base interface for all template definitions including explicit (partial) specializations.
`interface` `ICPPTemplateInstance` This interface represents an instantiation or an explicit specialization of a class or a function template.
`interface` `ICPPTemplateNonTypeParameter` Interface for template non type parameters.
`interface` `ICPPTemplateParameter` Base interface for all template parameters (non-type, type and template).
`interface` `ICPPTemplateTemplateParameter` Template parameters of type template.
`interface` `ICPPTemplateTypeParameter`
`interface` `ICPPTypeSpecialization` A common interface for ICPPClassSpecialization and ICPPEnumerationSpecialization.
`interface` `ICPPUsingDeclaration` A using declaration introduces a name into the declarative region in which it appears, that name is a synonym of some entity declared elsewhere The using declaration is both a declaration of a new binding and a reference to a previously declared binding
`interface` `ICPPVariable`
`interface` `ICPPVariableInstance` Represents an instantiation or an explicit specialization of a variable template.
`interface` `ICPPVariableTemplate` A variable template.
`interface` `ICPPVariableTemplatePartialSpecialization` Partial specialization of a variable template.

Methods in org.eclipse.cdt.core.dom.ast.cpp that return IBinding
`IBinding` ICPPBase.`getBaseClass()` The base class.
`IBinding` ICPPNamespaceAlias.`getBinding()` Returns the binding of the original namespace.
`IBinding[]` ICPPUsingDeclaration.`getDelegates()` Return an array of bindings that were declared by this using declaration.
`IBinding[]` ICPPClassType.`getFriends()` Returns an array of bindings for those classes/functions declared as friends of this class.
`IBinding[]` ICPPClassSpecialization.`getFriends(IASTNode point)` Deprecated. Use `ICPPClassType.getFriends()` instead.
`IBinding[]` ICPPNamespace.`getMemberBindings()` Returns an array of the all the bindings declared in this namespace.
`IBinding` ICPPSpecialization.`getSpecializedBinding()` Return the binding that this specialization specializes.
`IBinding` ICPPASTTranslationUnit.`resolveBinding()` Deprecated. Use `ICPPASTTranslationUnit.getGlobalNamespace()`
`IBinding` ICPPASTNameSpecifier.`resolveBinding()` If the name-specifier is a name, returns the binding named.
`IBinding` ICPPASTNameSpecifier.`resolvePreBinding()` Similar to resolveBinding(), but only performs the first phase of binding resolution for two-phase bindings.
`IBinding` ICPPClassSpecialization.`specializeMember(IBinding binding)` Creates a specialized binding for a member of the original class.
`IBinding` ICPPClassSpecialization.`specializeMember(IBinding binding, IASTNode point)` Deprecated. Use `ICPPClassSpecialization.specializeMember(IBinding)` instead.

Methods in org.eclipse.cdt.core.dom.ast.cpp with parameters of type IBinding
`int` ICPPClassType.`getVisibility(IBinding member)` Returns the access specifier of the `member`.
`void` ICPPBase.`setBaseClass(IBinding baseClass)` Used internally to change cloned bases.
`IBinding` ICPPClassSpecialization.`specializeMember(IBinding binding)` Creates a specialized binding for a member of the original class.
`IBinding` ICPPClassSpecialization.`specializeMember(IBinding binding, IASTNode point)` Deprecated. Use `ICPPClassSpecialization.specializeMember(IBinding)` instead.