--- a/MessageNode.st Thu Oct 23 16:33:29 1997 +0200
+++ b/MessageNode.st Tue Oct 28 19:16:37 1997 +0100
@@ -10,8 +10,6 @@
hereby transferred.
"
-'From Smalltalk/X, Version:3.2.1 on 19-oct-1997 at 2:50:36 pm' !
-
ParseNode subclass:#MessageNode
instanceVariableNames:'receiver selector argArray lineNr selectorPosition'
classVariableNames:''
@@ -821,7 +819,7 @@
self codeOrIfOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler.
^ self
]
- ]
+ ].
].
(selector == #ifTrue:) ifTrue:[
theByteCode := #falseJump
@@ -877,7 +875,7 @@
code at:pos put:(aStream position)
]
- "Modified: 18.7.1996 / 10:04:13 / cg"
+ "Modified: / 28.10.1997 / 18:33:42 / cg"
!
codeOn:aStream inBlock:b for:aCompiler
@@ -986,6 +984,9 @@
].
selector == #? ifTrue:[
+ "/ only do short-circuit optimization, if arg is not a message;
+ "/ (could have side-effects)
+ "/
arg1 isMessage ifFalse:[
^ self codeQuestOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler.
]
@@ -1186,8 +1187,8 @@
aStream nextPut:#drop
].
- "Modified: 3.9.1995 / 12:55:42 / claus"
- "Modified: 29.8.1997 / 08:19:45 / cg"
+ "Modified: / 3.9.1995 / 12:55:42 / claus"
+ "Modified: / 28.10.1997 / 18:15:33 / cg"
!
codeOrIfElseOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
@@ -1370,8 +1371,8 @@
!
codeQuestOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
- "generate code for x ? y. However, this is only done for non-send
- args."
+ "generate code for x ? y.
+ However, this is only done for non-send args."
|pos code|
@@ -1387,7 +1388,8 @@
code := aStream contents.
code at:pos put:(aStream position)
- "Created: 10.11.1996 / 18:28:57 / cg"
+ "Created: / 10.11.1996 / 18:28:57 / cg"
+ "Modified: / 28.10.1997 / 18:16:20 / cg"
!
codeRepeatOn:aStream inBlock:b valueNeeded:valueNeeded for:aCompiler
@@ -2259,5 +2261,5 @@
!MessageNode class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.82 1997-10-21 17:32:52 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/MessageNode.st,v 1.83 1997-10-28 18:16:37 cg Exp $'
! !