|
Class: RBMethodNode
Object
|
+--RBProgramNode
|
+--RBMethodNode
|
+--RBMetaMethodNode
|
+--RBPatternMethodNode
- Package:
- stx:goodies/refactoryBrowser/parser
- Category:
- Refactory-AST-Nodes
- Version:
- rev:
1.37
date: 2019/05/27 13:12:34
- user: cg
- file: RBMethodNode.st directory: goodies/refactoryBrowser/parser
- module: stx stc-classLibrary: parser
BRMethodNode is the AST that represents a Smalltalk method.
Instance Variables:
arguments <SequenceableCollection of: BRVariableNode> the arguments to the method
body <BRSequenceNode> the body/statements of the method
selector <Symbol | nil> the method name (cached)
selectorParts <SequenceableCollection of: BRValueToken> the tokens for the selector keywords
source <String> the source we compiled
tag <Interval | nil> the source location of any resource/primitive tags
instance creation
-
selector: aSymbol arguments: variableNodes body: aSequenceNode
-
-
selector: aSymbol body: aSequenceNode
-
-
selectorParts: tokenCollection arguments: variableNodes
-
accessing
-
addNode: aNode
-
-
addReturn
-
-
addSelfReturn
-
-
allArgumentVariablesInto: aCollection
-
-
allDefinedVariables
-
-
allVariablesOnScope
-
allArgumentVariables
-
argumentNames
-
-
arguments
-
-
arguments: variableNodes
-
-
blockScope
-
-
body
-
-
body: stmtsNode
-
-
children
-
-
methodScope
-
-
newSource
-
return a (horribly formatted) new source
-
pragmas
-
-
pragmas: aCollection
-
-
primitiveSources
-
returns a oollection of the resources/tags strings
-
renameSelector: newSelector andArguments: varNodeCollection
-
-
selector
-
-
selector: aSelector
-
-
source
-
-
source: anObject
-
-
start
-
-
stop
-
-
tags
-
-
tags: aCollectionOfIntervals
-
-
temporaries
-
comparing
-
= anObject
-
-
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
-
-
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)
-
semanticallyEqualTo: anObject withMapping: aDictionary ignoringSelector: ignoringSelector
-
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)
-
semanticallyEqualTo: anObject withMapping: aDictionary ignoringSelector: ignoringSelector ignoringAnnotations: ignoringAnnotations
-
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
-
selectorParts: tokenCollection arguments: variableNodes
-
matching
-
copyInContext: aDictionary
-
-
match: aNode inContext: aDictionary
-
printing
-
printOn: aStream
-
private
-
buildSelector
-
to be checked: this creates symbols, although it probably shouldn't
-
changeSourceSelectors: oldSelectorParts arguments: oldArguments
-
If this is the same number of arguments, we try a one to one replacement of selector parts and arguments. If this is not the case try to rewrite the signature as a whole, what unfortunately drops the comments within the signature.
-
reformatSource
-
-
selectorParts
-
-
selectorParts: tokenCollection
-
replacing
-
replaceNode: aNode withNode: anotherNode
-
testing
-
defines: aName
-
-
isLast: aNode
-
-
isMethod
-
-
isPrimitive
-
-
lastIsLoop
-
-
lastIsReturn
-
-
references: aVariableName
-
-
uses: aNode
-
visitor
-
acceptCommentsAfterVisitor: aVisitor
-
-
acceptCommentsBeforeVisitor: aVisitor
-
-
acceptVisitor: aProgramNodeVisitor
-
|