124 "Modified: 4.9.1995 / 14:38:10 / claus" |
124 "Modified: 4.9.1995 / 14:38:10 / claus" |
125 "Modified: 1.3.1996 / 00:42:10 / cg" |
125 "Modified: 1.3.1996 / 00:42:10 / cg" |
126 ! |
126 ! |
127 |
127 |
128 codeNormalOn:aStream valueNeeded:forValue inBlock:b for:aCompiler |
128 codeNormalOn:aStream valueNeeded:forValue inBlock:b for:aCompiler |
|
129 |isSend| |
|
130 |
|
131 isSend := expression isMessage. |
|
132 (lineNr notNil |
|
133 and:[isSend not]) ifTrue:[ |
|
134 ParseNode codeLineNumber:lineNr on:aStream for:aCompiler |
|
135 ]. |
|
136 |
129 expression codeOn:aStream inBlock:b for:aCompiler. |
137 expression codeOn:aStream inBlock:b for:aCompiler. |
130 expression isBlock ifTrue:[ |
138 expression isBlock ifTrue:[ |
131 variable isLocal ifTrue:[ |
139 variable isLocal ifTrue:[ |
132 aStream nextPut:#blockRef |
140 aStream nextPut:#blockRef |
133 ] |
141 ] |
134 ]. |
142 ]. |
135 |
143 |
136 lineNr notNil ifTrue:[ |
144 (lineNr notNil |
|
145 and:[isSend]) ifTrue:[ |
137 ParseNode codeLineNumber:lineNr on:aStream for:aCompiler |
146 ParseNode codeLineNumber:lineNr on:aStream for:aCompiler |
138 ]. |
147 ]. |
139 variable codeStoreOn:aStream inBlock:b valueNeeded:forValue for:aCompiler |
148 variable codeStoreOn:aStream inBlock:b valueNeeded:forValue for:aCompiler |
140 |
149 |
141 "Modified: 4.9.1995 / 14:38:10 / claus" |
150 "Modified: 4.9.1995 / 14:38:10 / claus" |
142 "Created: 1.3.1996 / 00:41:43 / cg" |
151 "Created: 1.3.1996 / 00:41:43 / cg" |
143 "Modified: 21.10.1996 / 14:45:07 / cg" |
152 "Modified: 21.10.1996 / 16:26:33 / cg" |
144 ! |
153 ! |
145 |
154 |
146 codeOn:aStream inBlock:b for:aCompiler |
155 codeOn:aStream inBlock:b for:aCompiler |
147 (self checkIncDecOn:aStream) ifTrue:[ |
156 (self checkIncDecOn:aStream) ifTrue:[ |
148 expression receiver codeOn:aStream inBlock:b for:aCompiler. |
157 expression receiver codeOn:aStream inBlock:b for:aCompiler. |