diff --git a/src/Sindarin/ASTAssignmentNode.extension.st b/src/Sindarin/ASTAssignmentNode.extension.st deleted file mode 100644 index 21f576f..0000000 --- a/src/Sindarin/ASTAssignmentNode.extension.st +++ /dev/null @@ -1,7 +0,0 @@ -Extension { #name : 'ASTAssignmentNode' } - -{ #category : '*Sindarin' } -ASTAssignmentNode >> skipWithDebugger: aSindarinDebugger [ - - aSindarinDebugger skipAssignmentNodeCompletely -] diff --git a/src/Sindarin/ASTMessageNode.extension.st b/src/Sindarin/ASTMessageNode.extension.st deleted file mode 100644 index f097bca..0000000 --- a/src/Sindarin/ASTMessageNode.extension.st +++ /dev/null @@ -1,7 +0,0 @@ -Extension { #name : 'ASTMessageNode' } - -{ #category : '*Sindarin' } -ASTMessageNode >> skipWithDebugger: aSindarinDebugger [ - - aSindarinDebugger skipMessageNode -] diff --git a/src/Sindarin/ASTReturnNode.extension.st b/src/Sindarin/ASTReturnNode.extension.st deleted file mode 100644 index 4d6b4a9..0000000 --- a/src/Sindarin/ASTReturnNode.extension.st +++ /dev/null @@ -1,7 +0,0 @@ -Extension { #name : 'ASTReturnNode' } - -{ #category : '*Sindarin' } -ASTReturnNode >> skipWithDebugger: aSindarinDebugger [ - - aSindarinDebugger skipReturnNode -] diff --git a/src/Sindarin/OCAssignmentNode.extension.st b/src/Sindarin/OCAssignmentNode.extension.st new file mode 100644 index 0000000..0d1e935 --- /dev/null +++ b/src/Sindarin/OCAssignmentNode.extension.st @@ -0,0 +1,7 @@ +Extension { #name : 'OCAssignmentNode' } + +{ #category : '*Sindarin' } +OCAssignmentNode >> skipWithDebugger: aSindarinDebugger [ + + aSindarinDebugger skipAssignmentNodeCompletely +] diff --git a/src/Sindarin/ASTBlockNode.extension.st b/src/Sindarin/OCBlockNode.extension.st similarity index 79% rename from src/Sindarin/ASTBlockNode.extension.st rename to src/Sindarin/OCBlockNode.extension.st index bc5d4c4..eb860bb 100644 --- a/src/Sindarin/ASTBlockNode.extension.st +++ b/src/Sindarin/OCBlockNode.extension.st @@ -1,7 +1,7 @@ -Extension { #name : 'ASTBlockNode' } +Extension { #name : 'OCBlockNode' } { #category : '*Sindarin' } -ASTBlockNode >> executedNodesAfter: aNode [ +OCBlockNode >> executedNodesAfter: aNode [ "Gives all nodes that are executed after aNode. Assuming that aNode is a recursive child, then all nodes executed after it are all nodes after it in allChildrenPostOrder" @@ -14,13 +14,13 @@ ASTBlockNode >> executedNodesAfter: aNode [ ] { #category : '*Sindarin' } -ASTBlockNode >> firstPCOfStatement: aStatementNode [ +OCBlockNode >> firstPCOfStatement: aStatementNode [ ^ self bcToASTCache firstRecursiveBcOffsetForStatementNode: aStatementNode ] { #category : '*Sindarin' } -ASTBlockNode >> nextExecutedNodeAfter: aNode [ +OCBlockNode >> nextExecutedNodeAfter: aNode [ "Find first node that is after aNode that has an associated pc in method node all children (post-order)" @@ -32,7 +32,7 @@ ASTBlockNode >> nextExecutedNodeAfter: aNode [ ] { #category : '*Sindarin' } -ASTBlockNode >> parentOfIdenticalSubtree: subtree [ +OCBlockNode >> parentOfIdenticalSubtree: subtree [ ^ self allChildren reversed detect: [ :e | e == subtree ] @@ -41,7 +41,7 @@ ASTBlockNode >> parentOfIdenticalSubtree: subtree [ ] { #category : '*Sindarin' } -ASTBlockNode >> skipWithDebugger: aSindarinDebugger [ +OCBlockNode >> skipWithDebugger: aSindarinDebugger [ aSindarinDebugger skipBlockNode ] diff --git a/src/Sindarin/OCMessageNode.extension.st b/src/Sindarin/OCMessageNode.extension.st new file mode 100644 index 0000000..de70448 --- /dev/null +++ b/src/Sindarin/OCMessageNode.extension.st @@ -0,0 +1,7 @@ +Extension { #name : 'OCMessageNode' } + +{ #category : '*Sindarin' } +OCMessageNode >> skipWithDebugger: aSindarinDebugger [ + + aSindarinDebugger skipMessageNode +] diff --git a/src/Sindarin/ASTMethodNode.extension.st b/src/Sindarin/OCMethodNode.extension.st similarity index 84% rename from src/Sindarin/ASTMethodNode.extension.st rename to src/Sindarin/OCMethodNode.extension.st index f9da520..a1bcbfc 100644 --- a/src/Sindarin/ASTMethodNode.extension.st +++ b/src/Sindarin/OCMethodNode.extension.st @@ -1,7 +1,7 @@ -Extension { #name : 'ASTMethodNode' } +Extension { #name : 'OCMethodNode' } { #category : '*Sindarin' } -ASTMethodNode >> executedNodesAfter: aNode [ +OCMethodNode >> executedNodesAfter: aNode [ "Gives all nodes that are executed after aNode. Assuming that aNode is a recursive child, then all nodes executed after it are all nodes after it in allChildrenPostOrder" @@ -14,13 +14,13 @@ ASTMethodNode >> executedNodesAfter: aNode [ ] { #category : '*Sindarin' } -ASTMethodNode >> firstPCOfStatement: aStatementNode [ +OCMethodNode >> firstPCOfStatement: aStatementNode [ ^ self bcToASTCache firstRecursiveBcOffsetForStatementNode: aStatementNode ] { #category : '*Sindarin' } -ASTMethodNode >> nextExecutedNodeAfter: aNode [ +OCMethodNode >> nextExecutedNodeAfter: aNode [ "Find first node that is after aNode that has an associated pc in method node all children (post-order)" @@ -32,7 +32,7 @@ ASTMethodNode >> nextExecutedNodeAfter: aNode [ ] { #category : '*Sindarin' } -ASTMethodNode >> parentOfIdenticalSubtree: subtree [ +OCMethodNode >> parentOfIdenticalSubtree: subtree [ ^ self allChildren reversed detect: [ :e | e == subtree ] @@ -41,7 +41,7 @@ ASTMethodNode >> parentOfIdenticalSubtree: subtree [ ] { #category : '*Sindarin' } -ASTMethodNode >> statementNodeContaining: aNode [ +OCMethodNode >> statementNodeContaining: aNode [ | statementNode parentOfStatementNode | statementNode := aNode. diff --git a/src/Sindarin/ASTProgramNode.extension.st b/src/Sindarin/OCProgramNode.extension.st similarity index 67% rename from src/Sindarin/ASTProgramNode.extension.st rename to src/Sindarin/OCProgramNode.extension.st index 22a6243..d3d03a9 100644 --- a/src/Sindarin/ASTProgramNode.extension.st +++ b/src/Sindarin/OCProgramNode.extension.st @@ -1,7 +1,7 @@ -Extension { #name : 'ASTProgramNode' } +Extension { #name : 'OCProgramNode' } { #category : '*Sindarin' } -ASTProgramNode >> allChildrenPostOrder [ +OCProgramNode >> allChildrenPostOrder [ | children | children := OrderedCollection new. @@ -12,7 +12,7 @@ ASTProgramNode >> allChildrenPostOrder [ ] { #category : '*Sindarin' } -ASTProgramNode >> skipWithDebugger: aSindarinDebugger [ +OCProgramNode >> skipWithDebugger: aSindarinDebugger [ aSindarinDebugger step ] diff --git a/src/Sindarin/OCReturnNode.extension.st b/src/Sindarin/OCReturnNode.extension.st new file mode 100644 index 0000000..0a73cad --- /dev/null +++ b/src/Sindarin/OCReturnNode.extension.st @@ -0,0 +1,7 @@ +Extension { #name : 'OCReturnNode' } + +{ #category : '*Sindarin' } +OCReturnNode >> skipWithDebugger: aSindarinDebugger [ + + aSindarinDebugger skipReturnNode +] diff --git a/src/Sindarin/RBBlockDefinitionSearchingVisitor.class.st b/src/Sindarin/RBBlockDefinitionSearchingVisitor.class.st index 79deac6..1f50da8 100644 --- a/src/Sindarin/RBBlockDefinitionSearchingVisitor.class.st +++ b/src/Sindarin/RBBlockDefinitionSearchingVisitor.class.st @@ -1,6 +1,6 @@ Class { #name : 'RBBlockDefinitionSearchingVisitor', - #superclass : 'ASTProgramNodeVisitor', + #superclass : 'OCProgramNodeVisitor', #instVars : [ 'blockToSearch', 'isBlockFound'