parsers/java/PJIntegerLiteralNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 21 Apr 2015 14:57:16 +0100
changeset 435 3bc08fb90133
permissions -rw-r--r--
Initial commit of PetitJava Name: PetitJava-JanKurs.160 Author: JanKurs Time: 19-12-2014, 01:00:18.354 PM UUID: 1cb1b46d-8c68-4751-9720-f0dd742f3e16

"{ Package: 'stx:goodies/petitparser/parsers/java' }"

"{ NameSpace: Smalltalk }"

PJExpressionNode subclass:#PJIntegerLiteralNode
	instanceVariableNames:'literalValue isLong'
	classVariableNames:''
	poolDictionaries:''
	category:'PetitJava-AST'
!

PJIntegerLiteralNode comment:'A literal node of an integer valuse'
!

!PJIntegerLiteralNode class methodsFor:'as yet unclassified'!

newFrom: literalString
	| instanse |
	instanse := super new.
	instanse isLong: literalString last asUppercase = $L.
	instanse literalValue: (
		Integer readFromJavaString: (
			instanse isLong ifTrue: [ literalString allButLast ] ifFalse: [ literalString ])).
	^ instanse
! !

!PJIntegerLiteralNode methodsFor:'accessing'!

isLong
	^ isLong
!

isLong: anObject
	isLong := anObject
!

literalValue
	^ literalValue
!

literalValue: aBoolean
	literalValue := aBoolean
! !

!PJIntegerLiteralNode methodsFor:'visiting'!

acceptVisitor: aVisitor

	^ aVisitor visitIntegerLiteralNode: self
! !