# HG changeset patch # User Stefan Vogel # Date 1511214903 -3600 # Node ID 546b3e3e3df949f6cba6ff165a6f73cdd4732be8 # Parent fd7ee568c201bda887fc75b8f9332fbde79c81c1 #BUGFIX by stefan class: ProgramNodeBuilder changed: #newMessageReceiver:selector:arguments: class: ProgramNodeBuilder class added: #newMessageReceiver:selector:arguments: Needed for https://expeccoalm.exept.de/D227393 diff -r fd7ee568c201 -r 546b3e3e3df9 ProgramNodeBuilder.st --- 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$' ! ! +