INames Interface
Provides information about a qualified name, including the selectors.
INames : IDispatch
Methods in Vtable Order
The following table shows the methods of this interface.
Method |
Description |
---|---|
Returns the number of name and selector pairs. |
|
Returns the name of the name and selector pair at the specified index position. |
|
Returns the selector of the pair at the index position. |
Remarks
Babel passes qualified name information to your IScope Interface implementation using this interface. Use the INames interface to determine the total number of name and selector pairs passed in, and to determine the name and selector information for each pair.
The last selector might be lacking, in which case the INames::GetSelector Method returns S_FALSE. For example, in the case of Form., the following would be returned:
GetCount = 1
GetName(index = 0) = "Form"
GetSelector(index = 0) = "."
However, in the case of Form->A.B, the following would be returned:
GetCount = 3
GetName(index = 0) = "Form"
GetSelector(index = 0) = "->"
GetName(index = 1) = "A"
GetSelector(index = 1) = "."
GetName(index = 2) = "B"
GetSelector(index = 2) = NULL & S_FALSE
Notes for Implementers
You can use this interface to represent a list of selector/name pairs. If you use the default Babel implementation, you do not need to implement this interface.
Notes for Callers
This interface is used internally throughout the default Babel implementation classes. This interface is passed into the IScope::GetDeclarations Method, the IScope::GetDataTipText Method, and the IScope::GetMethods Method so if you implement your own IScope Interface, you interact with the INames interface. The INames object is populated from spans found during parsing and those spans are obtained when your parser calls the IParseSink::StartName Method and the IParseSink::QualifyName Method.
Requirements
Header: BabelService.idl
See Also
Reference
IScope::GetDeclarations Method