parsers/java/PJIntegerLiteralNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 19 Jun 2015 07:14:07 +0100
changeset 500 cf3cbf3933f1
parent 435 3bc08fb90133
permissions -rw-r--r--
Use RBVariableNode>>name: to change variable's name. The old way - `node token value:` is working in Pharo - there's no token in RBVariableNode. Sigh.

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