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.IAdaptable
Represents 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 ILinkage
getLinkage()
Returns the linkage the binding belongs to.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, ornull
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
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, ornull
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 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
-
-