IParseSink Interface
Provides a custom Babel service with the requested parser information.
IParseSink : IDispatch
Methods in Vtable Order
The following table shows the methods of this interface.
Method |
Description |
---|---|
Called to specify a message as a result of a parsing error. |
|
Called when a matching pair is parsed. |
|
Called when a matching triple is parsed. |
|
Called when an identifier is parsed. |
|
Called when an identifier followed by a member selector is parsed. |
|
Called for each expression that should be provided for a user in the Auto Debugging window. |
|
Called for each region that contains executable code. |
|
Called when the parameters of a method are started, for example, "(". |
|
Called for each parameter separator, for example, ",". |
|
Called at the end of the parameters, for example, ")". |
|
Returns an IBabelPackage Interface object representing the Babel package. |
|
Returns the project for the current source file. |
|
Returns the complete file path of the current source. |
|
Adds to a symbol tree (or scope) using the default IScope Interface implementation. |
|
Adds the scope of included items into the current scope. This feature is not yet implemented. |
|
Add an external scope for the given span of text. |
Remarks
All IParseSink methods can always be called during a parse but certain methods are only called when the IBabelService::ParseSource Method method is called with a certain reason. Since irrelevant calls are ignored by Babel, it might be efficient to only call relevant methods based on the parse reason.
Only build an IScope Interface object to return in your IBabelService::ParseSource Method implementation when the parse reason is ReasonCheck (see the ParseReason Enumeration enumeration for all possible parse reasons).
Notes for Implementers
There is no reason to implement your own version of this interface as the Babel Package always uses its own implementation.
Notes for Callers
This interface is passed to the language service in the IBabelService::ParseSource Method. Use this interface to provide Babel with the information it is requesting based on the text and a particular parse reason.
Requirements
Header: BabelService.idl
See Also
Reference
IBabelService::ParseSource Method