|
Class: RBAssignmentNode
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
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
instance creation
-
variable: aVariableNode value: aValueNode
-
-
variable: aVariableNode value: aValueNode position: anInteger
-
accessing
-
allAssignmentNodes
-
-
allAssignmentNodesDo: aBlock
-
assignments on the right side
-
assignmentOperator
-
-
assignmentToken
-
-
assignmentToken: aToken
-
-
children
-
-
lineNumber
-
(comment from inherited method)
lineNumber isNil ifTrue:[
-
precedence
-
-
startWithoutParentheses
-
-
stopWithoutParentheses
-
-
value
-
-
value: aValueNode
-
-
variable
-
-
variable: varNode
-
comparing
-
= 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.
-
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)
-
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)
-
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)
-
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
-
postCopy
-
enumeration
-
variableNodesDo: aBlock
-
evaluate a Block for all variable nodes
initialization & release
-
variable: aVariableNode value: aValueNode position: anInteger
-
matching
-
copyInContext: aDictionary
-
-
match: aNode inContext: aDictionary
-
querying
-
bestNodeFor: anInterval
-
-
firstLineNumber
-
-
lastLineNumber
-
(comment from inherited method)
lineNumber isNil ifTrue:[self halt:'should always be non-nil'].
replacing
-
replaceNode: aNode withNode: anotherNode
-
testing
-
assigns: aVariableName
-
-
directlyUses: aNode
-
-
isAssignment
-
-
reads: variableName
-
-
uses: aNode
-
visiting
-
acceptVisitor: aProgramNodeVisitor
-
|