IRDecompiler.st
changeset 5 b94aea1d3710
parent 1 0dd36941955f
child 23 377bc46cad12
--- a/IRDecompiler.st	Wed Nov 05 18:58:44 2008 +0000
+++ b/IRDecompiler.st	Mon Dec 01 19:01:08 2008 +0000
@@ -220,43 +220,47 @@
 	self goto: #return.
 !
 
-send: selector
+send: selector numArgs: numArgs
+
+        | args rcvr |
+        selector = #caseError ifTrue:[^self stackPush: (RBPseudoSendNode new selector: selector)].
+        args := OrderedCollection new.
+        [       selector numArgs timesRepeat: [args addFirst: self Value].
+                rcvr := self Value.
+        ] on: Abort do: [
+                [self stackPush: (RBPseudoSendNode new selector: selector).
+                ^self cascade] on: Abort do:[^false]
+        ].
 
-	| args rcvr |
-	selector = #caseError ifTrue:[^self stackPush: (RBPseudoSendNode new selector: selector)].
-	args := OrderedCollection new.
-	[	selector numArgs timesRepeat: [args addFirst: self Value].
-		rcvr := self Value.
-	] on: Abort do: [
-		[self stackPush: (RBPseudoSendNode new selector: selector).
-		^self cascade] on: Abort do:[^false]
-	].
+        Preferences compileBlocksAsClosures 
+                        ifTrue: [ (rcvr isLiteral and: [selector = #createBlock:]) ifTrue: [
+                                         ^ self block: rcvr value env: args first]]
+                        ifFalse: [ (selector = #blockCopy:) ifTrue: [
+                                         ^ self stackPush: (RBPseudoSendNode new selector: selector; arguments: args)]].
 
-	Preferences compileBlocksAsClosures 
-			ifTrue: [ (rcvr isLiteral and: [selector = #createBlock:]) ifTrue: [
-					 ^ self block: rcvr value env: args first]]
-			ifFalse: [ (selector = #blockCopy:) ifTrue: [
-					 ^ self stackPush: (RBPseudoSendNode new selector: selector; arguments: args)]].
+        self stackPush: (self simplify: (RBMessageNode new
+                receiver: rcvr
+                selectorParts: (self newSelectorParts: selector)
+                arguments: args)).
 
-	self stackPush: (self simplify: (RBMessageNode new
-		receiver: rcvr
-		selectorParts: (self newSelectorParts: selector)
-		arguments: args)).
+    "Created: / 01-12-2008 / 19:40:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
-send: selector toSuperOf: behavior
+send: selector numArgs: numArgs toSuperOf: behavior
+
+        | args rcvr |
+        args := OrderedCollection new.
+        selector numArgs timesRepeat: [args addFirst: self Value].
+        rcvr := self Value.
+        (rcvr isVariable and: [rcvr name = 'self']) ifFalse: [self patternError].
 
-	| args rcvr |
-	args _ OrderedCollection new.
-	selector numArgs timesRepeat: [args addFirst: self Value].
-	rcvr _ self Value.
-	(rcvr isVariable and: [rcvr name = 'self']) ifFalse: [self patternError].
+        rcvr identifierToken: (SqueakToken value: 'super' start: 0).
+        self stackPush: (RBMessageNode new
+                receiver: rcvr
+                selectorParts: (self newSelectorParts: selector)
+                arguments: args).
 
-	rcvr identifierToken: (SqueakToken value: 'super' start: 0).
-	self stackPush: (RBMessageNode new
-		receiver: rcvr
-		selectorParts: (self newSelectorParts: selector)
-		arguments: args).
+    "Created: / 01-12-2008 / 19:45:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 storeIntoLiteralVariable: association