parsers/java/PJArrayTypeNode.st
changeset 435 3bc08fb90133
child 436 e1c44b571db9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parsers/java/PJArrayTypeNode.st	Tue Apr 21 14:57:16 2015 +0100
@@ -0,0 +1,48 @@
+"{ Package: 'stx:goodies/petitparser/parsers/java' }"
+
+"{ NameSpace: Smalltalk }"
+
+PJTypeNode subclass:#PJArrayTypeNode
+	instanceVariableNames:'dimensions elementType'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'PetitJava-AST'
+!
+
+PJArrayTypeNode comment:''
+!
+
+!PJArrayTypeNode class methodsFor:'instance creation'!
+
+elementType: aTypeNode dimensions: aNumber
+
+	^(self new) elementType: aTypeNode; dimensions: aNumber; yourself
+! !
+
+!PJArrayTypeNode methodsFor:'accessing'!
+
+dimensions
+	^ dimensions
+!
+
+dimensions: anObject
+	dimensions := anObject
+!
+
+elementType
+	^ elementType
+!
+
+elementType: anObject
+	elementType := anObject
+!
+
+type 
+
+	^type ifNil: [type := 
+			((1 to: dimensions) 
+				inject: elementType type 
+				into: [:current :parenthesis |
+					(current , '[]')]) ]
+! !
+