eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'RBAssignmentNode':

Home

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

Class: RBAssignmentNode


Inheritance:

   Object
   |
   +--RBProgramNode
      |
      +--RBStatementNode
         |
         +--RBValueNode
            |
            +--RBAssignmentNode

Package:
stx:goodies/refactoryBrowser/parser
Category:
Refactory-AST-Nodes
Version:
rev: 1.29 date: 2021/01/20 13:07:56
user: cg
file: RBAssignmentNode.st directory: goodies/refactoryBrowser/parser
module: stx stc-classLibrary: parser

Description:


BRAssignmentNode is an AST node for assignment statements

Instance Variables:
	assignment	<Integer>	position of the :=
	value	<BRValueNode>	the value that we're assigning
	variable	<BRVariableNode>	the variable being assigned


Class protocol:

instance creation
o  variable: aVariableNode value: aValueNode

o  variable: aVariableNode value: aValueNode position: anInteger


Instance protocol:

accessing
o  allAssignmentNodes

o  allAssignmentNodesDo: aBlock
assignments on the right side

o  assignmentOperator

o  assignmentToken

o  assignmentToken: aToken

o  children

o  lineNumber
(comment from inherited method)
lineNumber isNil ifTrue:[

o  precedence

o  startWithoutParentheses

o  stopWithoutParentheses

o  value

o  value: aValueNode

o  variable

o  variable: varNode

comparing
o  = anObject
(comment from inherited method)
return true if the receiver and the arg have the same structure.
Notice:
This method is partially open coded (inlined) by the compiler(s)
identical objects are always considered equal.
redefining it may not work as expected.

o  equalTo: anObject withMapping: aDictionary
return true, if I am equal to another node, with a given variable name mapping.
Side effect: update the mapping dictionary as required to reflect a matching mapping (if possible)

o  equalTo: anObject withSelectorMapping: aDictionary
return true, if I am equal to another node, with a given selector name mapping.
Side effect: update the mapping dictionary as required to reflect a matching mapping (if possible)

o  hash
(comment from inherited method)
return an Integer useful as a hash key for the receiver.
This hash should return same values for objects with same
contents (i.e. use this to hash on structure)

o  semanticallyEqualTo: anObject withMapping: aDictionary
return true, if I am semantically equal to another node, with a given variable name mapping.
Side effect: update the mapping dictionary as required to reflect a matching mapping (if possible)

copying-private
o  postCopy

enumeration
o  variableNodesDo: aBlock
evaluate a Block for all variable nodes

initialization & release
o  variable: aVariableNode value: aValueNode position: anInteger

matching
o  copyInContext: aDictionary

o  match: aNode inContext: aDictionary

querying
o  bestNodeFor: anInterval

o  firstLineNumber

o  lastLineNumber
(comment from inherited method)
lineNumber isNil ifTrue:[self halt:'should always be non-nil'].

replacing
o  replaceNode: aNode withNode: anotherNode

testing
o  assigns: aVariableName

o  directlyUses: aNode

o  isAssignment

o  reads: variableName

o  uses: aNode

visiting
o  acceptVisitor: aProgramNodeVisitor



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Tue, 03 Dec 2024 17:10:56 GMT