VarNode.st
changeset 719 9ccbae6ba13e
parent 642 de97c93c4f49
child 720 6b3d43ba7273
equal deleted inserted replaced
718:6806c2fca243 719:9ccbae6ba13e
   570         ^ thisContext
   570         ^ thisContext
   571     ].
   571     ].
   572     (type == #PrivateClass) ifTrue:[
   572     (type == #PrivateClass) ifTrue:[
   573         ^ value privateClassesAt:name asSymbol
   573         ^ value privateClassesAt:name asSymbol
   574     ].
   574     ].
       
   575 
       
   576     "/ synthetic; for evaluation only
       
   577     (type == #EvaluationContextLocal) ifTrue:[
       
   578         ^ token variableValue
       
   579     ].
       
   580 
       
   581 
   575     "not reached"
   582     "not reached"
   576     self halt:'bad type'.
   583     self halt:'internal error - bad variable type:' , type.
   577     ^ value
   584     ^ value
   578 
   585 
   579     "Modified: / 17.1.1998 / 04:04:34 / cg"
   586     "Modified: / 16.5.1998 / 18:35:00 / cg"
   580 !
   587 !
   581 
   588 
   582 store:aValue
   589 store:aValue
   583     (type == #ContextVariable) ifTrue:[
   590     (type == #ContextVariable) ifTrue:[
   584         value at:index put:aValue. ^ aValue
   591         value at:index put:aValue. ^ aValue
   597         ^ Smalltalk at:(value name , ':' , name) asSymbol put:aValue
   604         ^ Smalltalk at:(value name , ':' , name) asSymbol put:aValue
   598     ].
   605     ].
   599     (type == #ClassInstanceVariable) ifTrue:[
   606     (type == #ClassInstanceVariable) ifTrue:[
   600         ^ value instVarAt:index put:aValue
   607         ^ value instVarAt:index put:aValue
   601     ].
   608     ].
       
   609 
       
   610     "/ synthetic; for evaluation only
       
   611     (type == #EvaluationContextLocal) ifTrue:[
       
   612         ^ token value:aValue. ^ aValue
       
   613     ].
       
   614 
   602     "not reached"
   615     "not reached"
   603     self halt:'bad type'.
   616     self halt:'internal error - bad variable type:' , type.
   604     ^ aValue
   617     ^ aValue
   605 
   618 
   606     "Modified: / 17.1.1998 / 04:04:40 / cg"
   619     "Modified: / 16.5.1998 / 18:35:03 / cg"
   607 ! !
   620 ! !
   608 
   621 
   609 !VariableNode methodsFor:'printing'!
   622 !VariableNode methodsFor:'printing'!
   610 
   623 
   611 displayString
   624 displayString
   701 ! !
   714 ! !
   702 
   715 
   703 !VariableNode class methodsFor:'documentation'!
   716 !VariableNode class methodsFor:'documentation'!
   704 
   717 
   705 version
   718 version
   706     ^ '$Header: /cvs/stx/stx/libcomp/Attic/VarNode.st,v 1.35 1998-01-17 15:01:49 cg Exp $'
   719     ^ '$Header: /cvs/stx/stx/libcomp/Attic/VarNode.st,v 1.36 1998-05-16 16:35:18 cg Exp $'
   707 ! !
   720 ! !