Interface IBinding
-
- All Superinterfaces:
org.eclipse.core.runtime.IAdaptable
- All Known Subinterfaces:
ICExternalBinding,ICompositeType,ICPPAliasTemplate,ICPPAliasTemplateInstance,ICPPBinding,ICPPClassSpecialization,ICPPClassTemplate,ICPPClassTemplatePartialSpecialization,ICPPClassTemplatePartialSpecializationSpecialization,ICPPClassType,ICPPConstructor,ICPPConstructorSpecialization,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.IAdaptableRepresents 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 IBinding[]EMPTY_BINDING_ARRAY
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ILinkagegetLinkage()Returns the linkage the binding belongs to.java.lang.StringgetName()Returns the unqualified name of the binding as a string.char[]getNameCharArray()Returns the unqualified name of the binding as an array of characters.IBindinggetOwner()Returns the binding that owns this binding, ornullif there is no owner.IScopegetScope()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
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, ornullif 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 theICPPTemplateDefinition.
IEnumerator: The owner is theIEnumeration, 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 byICPPClassType: 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
-
-