|
Class: ParseNodeVisitor
Object
|
+--ParseNodeVisitor
|
+--JavaScriptParseNodeVisitor
|
+--PluggableParseNodeVisitor
- Package:
- stx:libcomp
- Category:
- System-Compiler-Support
- Version:
- rev:
1.12
date: 2023/12/12 21:52:48
- user: cg
- file: ParseNodeVisitor.st directory: libcomp
- module: stx stc-classLibrary: libcomp
a whitebox expandable abstract parsenode visitor.
Subclasses should redefine those acceptXXX methods, in which they are interested.
pluggable setup
-
actionForNodeClass: aNodeClass put: aBlock
-
setup so that for nodes of type aNodeClass, aBlock is invoked.
If the block returns true, subnodes (eg. right side of assignments, etc.)
will be enumerated as well.
Otherwise, no subnodes are visited.
visiting
-
visit: anObject
-
-
visitAssignmentNode: anObject
-
-
visitBinaryNode: anObject
-
-
visitBlockNode: anObject
-
-
visitCascadeNode: anObject
-
-
visitConstantNode: anObject
-
-
visitECompletionConstantNode: anObject
-
dispatched back from the visited eCompletionConstantNode-object (visitor pattern)
-
visitMessageNode: anObject
-
-
visitObject: anObject
-
dispatched back from the visited objects (visitor pattern)
-
visitParseErrorNode: anObject
-
-
visitPrimitiveNode: anObject
-
-
visitReturnNode: anObject
-
-
visitSelfNode: anObject
-
to be redefined in subclasses
-
visitStatementNode: anObject
-
-
visitSuperNode: anObject
-
to be redefined in subclasses
-
visitUnaryNode: anObject
-
-
visitVariableNode: anObject
-
to be redefined in subclasses
visiting - javaScript
-
doesNotUnderstand: aMessage
-
catch to prevent stupid error reports from Explainer in end-user app (expecco)
|