parsers/java/PJIntegerLiteralNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 03 Jun 2015 09:06:49 +0100
changeset 483 3fe67c1fc040
parent 435 3bc08fb90133
permissions -rw-r--r--
Oops, fixed subproject definition (wrong package names)

"{ 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
! !