equal
deleted
inserted
replaced
7 inclusion of the above copyright notice. This software may not |
7 inclusion of the above copyright notice. This software may not |
8 be provided or otherwise made available to, or used by, any |
8 be provided or otherwise made available to, or used by, any |
9 other person. No title to or ownership of the software is |
9 other person. No title to or ownership of the software is |
10 hereby transferred. |
10 hereby transferred. |
11 " |
11 " |
|
12 |
|
13 "{ Package: 'stx:libcomp' }" |
12 |
14 |
13 ParseNode subclass:#AssignmentNode |
15 ParseNode subclass:#AssignmentNode |
14 instanceVariableNames:'variable expression lineNr' |
16 instanceVariableNames:'variable expression lineNr' |
15 classVariableNames:'' |
17 classVariableNames:'' |
16 poolDictionaries:'' |
18 poolDictionaries:'' |
159 aStream nextPut:#pushLitS; nextPut:litIdx. |
161 aStream nextPut:#pushLitS; nextPut:litIdx. |
160 expression codeOn:aStream inBlock:b for:aCompiler. |
162 expression codeOn:aStream inBlock:b for:aCompiler. |
161 |
163 |
162 selLitIdx := aCompiler addLiteral:#value:. |
164 selLitIdx := aCompiler addLiteral:#value:. |
163 selLitIdx <= 255 ifTrue:[ |
165 selLitIdx <= 255 ifTrue:[ |
164 aStream nextPut:#sendDrop1; nextPut:(lineNr ? 1); nextPut:selLitIdx. |
166 aStream nextPut:#send1; nextPut:(lineNr ? 1); nextPut:selLitIdx. |
165 ] ifFalse:[ |
167 ] ifFalse:[ |
166 aStream nextPut:#sendDropL; nextPut:(lineNr ? 1); nextPut:selLitIdx; nextPut:0; nextPut:1 "nargs". |
168 aStream nextPut:#sendL; nextPut:(lineNr ? 1); nextPut:selLitIdx; nextPut:0; nextPut:1 "nargs". |
167 ]. |
169 ]. |
|
170 aStream nextPut:#drop. |
168 |
171 |
169 forValue ifTrue:[ |
172 forValue ifTrue:[ |
170 (expression isConstant or:[expression isVariable]) ifTrue:[ |
173 (expression isConstant or:[expression isVariable]) ifTrue:[ |
171 expression codeOn:aStream inBlock:b for:aCompiler. |
174 expression codeOn:aStream inBlock:b for:aCompiler. |
172 ] ifFalse:[ |
175 ] ifFalse:[ |
255 ! ! |
258 ! ! |
256 |
259 |
257 !AssignmentNode class methodsFor:'documentation'! |
260 !AssignmentNode class methodsFor:'documentation'! |
258 |
261 |
259 version |
262 version |
260 ^ '$Header: /cvs/stx/stx/libcomp/AssignmentNode.st,v 1.31 2000-02-12 15:33:54 cg Exp $' |
263 ^ '$Header: /cvs/stx/stx/libcomp/AssignmentNode.st,v 1.32 2000-06-19 12:00:53 cg Exp $' |
261 ! ! |
264 ! ! |