eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'RBProgramNodeVisitor':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: RBProgramNodeVisitor


Inheritance:

   Object
   |
   +--RBProgramNodeVisitor
      |
      +--CodeGenerator
      |
      +--ParseTreeSearcher
      |
      +--RBFormatter
      |
      +--RBPluggableProgramNodeVisitor
      |
      +--Tools::BreakpointBrowser::MessageArgumentExtractor

Package:
stx:goodies/refactoryBrowser/parser
Category:
Refactory-ParseTree Matching
Version:
rev: 1.18 date: 2016/05/03 11:23:14
user: cg
file: RBProgramNodeVisitor.st directory: goodies/refactoryBrowser/parser
module: stx stc-classLibrary: parser

Description:


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.


Class protocol:

instance creation
o  new


Instance protocol:

accessing
o  pluggableNodeAction: something

copying
o  copy
Here since IBM doesn't do postCopy's

o  postCopy

initialize-release
o  initialize

visiting
o  visitArgument: each
Here to allow subclasses to detect arguments or temporaries.

o  visitArguments: aNodeCollection

o  visitNode: aNode

visitor-double dispatching
o  acceptArrayNode: anArrayNode
that's a squeak constructed array

o  acceptAssignmentNode: anAssignmentNode

o  acceptBlockNode: aBlockNode

o  acceptCascadeNode: aCascadeNode

o  acceptLiteralNode: aLiteralNode

o  acceptMessageNode: aMessageNode

o  acceptMethodNode: aMethodNode

o  acceptOptimizedNode: anOptimizedNode

o  acceptPragmaNode: aPragmaNode

o  acceptReturnNode: aReturnNode

o  acceptSTXPrimitiveCCodeNode: aPrimitiveCCodeNode

o  acceptSTXPrimitiveValueCCodeNode: aPrimitiveValueCCodeNode

o  acceptSequenceNode: aSequenceNode

o  acceptVariableNode: aVariableNode

o  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



ST/X 7.1.0.0; WebServer 1.663 at exept.de:8081; Wed, 19 Sep 2018 07:37:43 GMT