AssignmentNode.st
changeset 386 2f66de89a89b
parent 381 f1366b7aa598
child 479 d78183973ade
equal deleted inserted replaced
385:425fc425516b 386:2f66de89a89b
   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.
   180 ! !
   189 ! !
   181 
   190 
   182 !AssignmentNode class methodsFor:'documentation'!
   191 !AssignmentNode class methodsFor:'documentation'!
   183 
   192 
   184 version
   193 version
   185     ^ '$Header: /cvs/stx/stx/libcomp/AssignmentNode.st,v 1.21 1996-10-21 14:00:31 cg Exp $'
   194     ^ '$Header: /cvs/stx/stx/libcomp/AssignmentNode.st,v 1.22 1996-10-21 16:14:32 cg Exp $'
   186 ! !
   195 ! !