|
Class: RBProgramNodeVisitor
Object
|
+--RBProgramNodeVisitor
|
+--CodeGenerator
|
+--ParseTreeSearcher
|
+--RBFormatter
|
+--RBPluggableProgramNodeVisitor
|
+--Tools::BreakpointBrowser::MessageArgumentExtractor
- Package:
- stx:goodies/refactoryBrowser/parser
- Category:
- Refactory-ParseTree Matching
- Version:
- rev:
1.21
date: 2021/01/20 11:48:20
- user: cg
- file: RBProgramNodeVisitor.st directory: goodies/refactoryBrowser/parser
- module: stx stc-classLibrary: parser
BRProgramNodeVisitor is an abstract visitor for the BRProgramNodes.
cg: I have made it half-concrete, by allowing for a node-action to be
set. This allows for very lightweight use in search for something applications.
instance creation
-
new
-
(comment from inherited method)
return an instance of myself without indexed variables
accessing
-
pluggableNodeAction: something
-
copying
-
copy
-
Here since IBM doesn't do postCopy's
copying-private
-
postCopy
-
initialize-release
-
initialize
-
visiting
-
visitArgument: each
-
Here to allow subclasses to detect arguments or temporaries.
-
visitArguments: aNodeCollection
-
returns aNodeCollection (actually: whatever its do: method returns)
(not sure if it must do so, or if it is sloppy programming)
-
visitNode: aNode
-
visitor-double dispatching
-
acceptArrayNode: anArrayNode
-
that's a squeak constructed array
-
acceptAssignmentNode: anAssignmentNode
-
-
acceptBlockNode: aBlockNode
-
-
acceptCascadeNode: aCascadeNode
-
-
acceptLiteralNode: aLiteralNode
-
-
acceptMessageNode: aMessageNode
-
-
acceptMethodNode: aMethodNode
-
-
acceptOptimizedNode: anOptimizedNode
-
-
acceptPragmaNode: aPragmaNode
-
-
acceptReturnNode: aReturnNode
-
-
acceptSTXPrimitiveCCodeNode: aPrimitiveCCodeNode
-
-
acceptSTXPrimitiveValueCCodeNode: aPrimitiveValueCCodeNode
-
-
acceptSequenceNode: aSequenceNode
-
-
acceptVariableNode: aVariableNode
-
-
passByNode: aNode
-
called when we passed by some node, aNode.
Can be redefined in a subclass to track any visited node
(without a need to redefine all of the accept***Node methods) in a subclass
|