parsers/java/PJIntegerLiteralNode.st
changeset 435 3bc08fb90133
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parsers/java/PJIntegerLiteralNode.st	Tue Apr 21 14:57:16 2015 +0100
@@ -0,0 +1,51 @@
+"{ 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
+! !
+