#BUGFIX by stefan
class: ProgramNodeBuilder
changed: #newMessageReceiver:selector:arguments:
class: ProgramNodeBuilder class
added: #newMessageReceiver:selector:arguments:
Needed for https://expeccoalm.exept.de/D227393
--- a/ProgramNodeBuilder.st Sat Nov 11 12:38:18 2017 +0100
+++ b/ProgramNodeBuilder.st Mon Nov 20 22:55:03 2017 +0100
@@ -11,6 +11,8 @@
"
"{ Package: 'stx:libcomp' }"
+"{ NameSpace: Smalltalk }"
+
Object subclass:#ProgramNodeBuilder
instanceVariableNames:''
classVariableNames:''
@@ -48,6 +50,24 @@
"
! !
+!ProgramNodeBuilder class methodsFor:'tree building'!
+
+newMessageReceiver: receiverNode selector: selector arguments: arguments
+ selector isUnarySelector ifTrue:[
+ self assert:(arguments isEmptyOrNil).
+ ^ UnaryNode receiver:receiverNode selector: selector args: arguments
+ ].
+ selector isBinarySelector ifTrue:[
+ self assert:(arguments size == 1).
+ ^ BinaryNode receiver:receiverNode selector: selector args: arguments
+ ].
+ self assert:(arguments notEmptyOrNil).
+ ^ MessageNode receiver:receiverNode selector: selector args: arguments
+
+ "Created: / 06-08-2006 / 03:02:33 / cg"
+ "Modified: / 06-08-2006 / 14:00:47 / cg"
+! !
+
!ProgramNodeBuilder methodsFor:'tree building'!
newBlockBody:statements
@@ -86,20 +106,8 @@
"Modified: / 06-08-2006 / 13:29:33 / cg"
!
-newMessageReceiver: receiverNode selector: selector arguments: arguments
- selector isUnarySelector ifTrue:[
- self assert:(arguments isEmptyOrNil).
- ^ UnaryNode receiver:receiverNode selector: selector args: arguments
- ].
- selector isBinarySelector ifTrue:[
- self assert:(arguments size == 1).
- ^ BinaryNode receiver:receiverNode selector: selector args: arguments
- ].
- self assert:(arguments notEmptyOrNil).
- ^ MessageNode receiver:receiverNode selector: selector args: arguments
-
- "Created: / 06-08-2006 / 03:02:33 / cg"
- "Modified: / 06-08-2006 / 14:00:47 / cg"
+newMessageReceiver:arg1 selector:arg2 arguments:arg3
+ ^ self class newMessageReceiver:arg1 selector:arg2 arguments:arg3
!
newMethodArgument:name
@@ -158,5 +166,6 @@
!ProgramNodeBuilder class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/ProgramNodeBuilder.st,v 1.7 2012-08-03 20:25:04 stefan Exp $'
+ ^ '$Header$'
! !
+