- IRTempStore
changed: #version_SVN
- IRAccess
changed: #version_SVN
- IRMethod
changed: #version_SVN
- IRPrinter
changed: #version_SVN
- IRTempRead
changed: #version_SVN
- IRLiteralVariableRead
changed: #version_SVN
- IRLine
changed: #version_SVN
- IRClosure
changed: #version_SVN
- IRFunction
changed: #version_SVN
- IRDup
changed: #version_SVN
- IRTranslator
changed: #version_SVN
- IRInterpreter
changed: #version_SVN
- IRBuilder
changed: #version_SVN
- IRBytecodeGenerator
changed: #version_SVN
- IRJumpOverBlock
changed: #version_SVN
- IRBlockReturnTop
changed: #version_SVN
- IRSequence
changed: #version_SVN
- IRDecompiler
changed: #version_SVN
- IRInstVarStore
changed: #version_SVN
- cvut_stx_goodies_newcompiler
added:
#excludedFromPreRequisites
#extensionsVersion_SVN
#svnRepositoryUrlString
changed:
#preRequisites
#svnRevisionNr
#version_SVN
- IRLiteralVariableAccess
changed: #version_SVN
- IRTransformTest
changed: #version_SVN
- IRStackCount
changed: #version_SVN
- IRInstVarAccess
changed: #version_SVN
- IRLiteralVariableStore
changed: #version_SVN
- IRBuilderTest
changed: #version_SVN
- IRInstruction
changed: #version_SVN
- IRTempAccess
changed: #version_SVN
- IRConstant
changed: #version_SVN
- IRSend
changed: #version_SVN
- IRInstVarRead
changed: #version_SVN
- IRPop
changed: #version_SVN
- IRReturn
changed: #version_SVN
- IRJump
changed: #version_SVN
- IRJumpIf
changed: #version_SVN
- extensions
...
"{ Package: 'cvut:stx/goodies/newcompiler' }"
IRInstruction subclass:#IRConstant
instanceVariableNames:'constant type'
classVariableNames:''
poolDictionaries:''
category:'NewCompiler-IR'
!
IRConstant comment:'Instruction "pushLiteral: object"'
!
!IRConstant methodsFor:'accessing'!
constant
^ constant
!
constant: object
constant _ object
!
type
"type is nil, #block, or #blockMethod"
^ type
!
type: symbol
"symbol is nil, #block, or #blockMethod"
type _ symbol
! !
!IRConstant methodsFor:'interpret'!
executeOn: interpreter
type == nil ifTrue:[^interpreter pushLiteral: constant].
type == #block ifTrue:[^interpreter pushBlock: constant].
self shouldNeverBeReached.
"Modified: / 30-03-2009 / 16:50:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!IRConstant methodsFor:'testing'!
isConstant
^ true
!
isConstant: valueTest
^ valueTest value: constant
! !
!IRConstant class methodsFor:'documentation'!
version
^ '$Id$'
!
version_CVS
^ '§Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRConstant.st,v 1.3 2009/10/08 12:03:32 fm Exp §'
!
version_SVN
^ '$Id:: $'
! !