|
Class: RBMethodNode
Object
|
+--RBProgramNode
|
+--RBMethodNode
|
+--RBMetaMethodNode
|
+--RBPatternMethodNode
- Package:
- stx:goodies/refactoryBrowser/parser
- Category:
- Refactory-AST-Nodes
- Version:
- rev:
1.48
date: 2023/12/12 22:18:10
- user: cg
- file: RBMethodNode.st directory: goodies/refactoryBrowser/parser
- module: stx stc-classLibrary: parser
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 isNil ifTrue: [#()] ifFalse: [tags]
-
tags: aCollectionOfIntervals
-
-
temporaries
-
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)
-
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: ignoringAnnotationsBoolOrCollection
-
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
-
|