diff -r 2b9beeac547e -r 6d39860d0fdb compiler/TSemanticAnalyser.st --- a/compiler/TSemanticAnalyser.st Mon Sep 14 16:27:00 2015 +0100 +++ b/compiler/TSemanticAnalyser.st Wed Sep 16 05:29:43 2015 +0100 @@ -67,11 +67,22 @@ ! acceptLiteralNode: aRBLiteralNode + | value | + super acceptLiteralNode: aRBLiteralNode. - aRBLiteralNode binding: (TConstantBinding value: aRBLiteralNode value). + value := aRBLiteralNode value. + value isInteger ifTrue:[ + aRBLiteralNode binding: (TConstantBinding value: value type: (context environment binding lookupClassSIntegerW) type). + ^ self. + ]. + value isBoolean ifTrue:[ + aRBLiteralNode binding: (TConstantBinding value: (value ifTrue:[1] ifFalse:[0]) type: (context environment binding lookupClassBoolean) type). + ^ self. + ]. + self erorr: 'Unsupported constant'. "Created: / 25-08-2015 / 23:17:30 / Jan Vrany " - "Modified: / 02-09-2015 / 10:34:50 / Jan Vrany " + "Modified: / 15-09-2015 / 08:27:47 / Jan Vrany " ! acceptMethodNode: aMethodNode