VariableNode.st
branchjv
changeset 4259 c707f9aa7015
parent 4257 9777fd81cae8
parent 4213 ca2720e15d46
child 4275 e06f4b087e47
equal deleted inserted replaced
4258:304aaccbe6ed 4259:c707f9aa7015
   341             aStream nextPut:code.
   341             aStream nextPut:code.
   342             ^ self
   342             ^ self
   343         ]
   343         ]
   344     ].
   344     ].
   345 
   345 
   346     "/ anything else must be pushed, then top rturned
   346     "/ anything else must be pushed, then top returned
   347 
   347 
   348     self codeOn:aStream inBlock:b for:aCompiler.
   348     self codeOn:aStream inBlock:b for:aCompiler.
   349     aStream nextPut:#retTop
   349     aStream nextPut:#retTop
   350 
   350 
   351     "Modified: / 06-08-2006 / 22:59:28 / cg"
   351     "Modified: / 06-08-2006 / 22:59:28 / cg"
       
   352     "Modified (comment): / 25-01-2018 / 19:26:46 / mawalch"
   352 !
   353 !
   353 
   354 
   354 codeLoadOn:aStream type:type index:index inBlock:codeBlock for:aCompiler
   355 codeLoadOn:aStream type:type index:index inBlock:codeBlock for:aCompiler
   355     |theCode b deltaLevel litIndex specialGlobalIndex
   356     |theCode b deltaLevel litIndex specialGlobalIndex
   356      bvIdx bvTyp blocksCode selLitIdx |
   357      bvIdx bvTyp blocksCode selLitIdx |
   487         aStream nextPut:bvIdx.
   488         aStream nextPut:bvIdx.
   488         ^ self
   489         ^ self
   489     ].
   490     ].
   490 
   491 
   491     (type == #GlobalVariable) ifTrue:[
   492     (type == #GlobalVariable) ifTrue:[
   492         "for browsing, we put it into the literal-array; even if its a specal global"
   493         "for browsing, we put it into the literal-array; even if it's a specal global"
   493         litIndex := aCompiler addLiteral:name asSymbol.
   494         litIndex := aCompiler addLiteral:name asSymbol.
   494         specialGlobalIndex := aCompiler specialGlobalCodeFor:name.
   495         specialGlobalIndex := aCompiler specialGlobalCodeFor:name.
   495         specialGlobalIndex notNil ifTrue:[
   496         specialGlobalIndex notNil ifTrue:[
   496             aStream nextPut:#pushSpecialGlobal; nextPut:specialGlobalIndex.
   497             aStream nextPut:#pushSpecialGlobal; nextPut:specialGlobalIndex.
   497             ^ self
   498             ^ self
   558     ].
   559     ].
   559 
   560 
   560     "not reached"
   561     "not reached"
   561     self error:'bad type'.
   562     self error:'bad type'.
   562 
   563 
   563     "Created: / 25.6.1997 / 16:14:17 / cg"
   564     "Created: / 25-06-1997 / 16:14:17 / cg"
   564     "Modified: / 17.1.1998 / 04:04:17 / cg"
   565     "Modified: / 17-01-1998 / 04:04:17 / cg"
       
   566     "Modified (format): / 13-02-2017 / 20:34:16 / cg"
   565 !
   567 !
   566 
   568 
   567 codeOn:aStream inBlock:codeBlock for:aCompiler
   569 codeOn:aStream inBlock:codeBlock for:aCompiler
   568     |idx|
   570     |idx|
   569 
   571 
   970      display the receiver in a graphicsContext at 0@0 (ST80).
   972      display the receiver in a graphicsContext at 0@0 (ST80).
   971      This method allows for any object to be displayed in some view
   973      This method allows for any object to be displayed in some view
   972      (although the fallBack is to display its printString ...)"
   974      (although the fallBack is to display its printString ...)"
   973 
   975 
   974     "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
   976     "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
   975     "/ ST/X (and some old ST80's) mean: draw-yourself on a GC.
   977     "/ old ST80 means: draw-yourself on a GC.
   976     aGCOrStream isStream ifFalse:[
   978     aGCOrStream isStream ifFalse:[
   977         ^ super displayOn:aGCOrStream.
   979         ^ super displayOn:aGCOrStream.
   978     ].
   980     ].
   979 
   981 
   980     aGCOrStream 
   982     aGCOrStream 
   981         nextPutAll:self class name;
   983         nextPutAll:self class name;
   982         nextPut:$(.
   984         nextPut:$(.
   983     self printOn:aGCOrStream. 
   985     self printOn:aGCOrStream. 
   984     aGCOrStream nextPut:$)
   986     aGCOrStream nextPut:$)
       
   987 
       
   988     "Modified (comment): / 22-02-2017 / 16:49:57 / cg"
   985 !
   989 !
   986 
   990 
   987 printOn:aStream indent:i
   991 printOn:aStream indent:i
   988 
   992 
   989     "/ actually only a debug-check
   993     "/ actually only a debug-check