parsers/java/PJArrayTypeNode.st
changeset 435 3bc08fb90133
child 436 e1c44b571db9
equal deleted inserted replaced
434:840942b96eea 435:3bc08fb90133
       
     1 "{ Package: 'stx:goodies/petitparser/parsers/java' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
       
     4 
       
     5 PJTypeNode subclass:#PJArrayTypeNode
       
     6 	instanceVariableNames:'dimensions elementType'
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'PetitJava-AST'
       
    10 !
       
    11 
       
    12 PJArrayTypeNode comment:''
       
    13 !
       
    14 
       
    15 !PJArrayTypeNode class methodsFor:'instance creation'!
       
    16 
       
    17 elementType: aTypeNode dimensions: aNumber
       
    18 
       
    19 	^(self new) elementType: aTypeNode; dimensions: aNumber; yourself
       
    20 ! !
       
    21 
       
    22 !PJArrayTypeNode methodsFor:'accessing'!
       
    23 
       
    24 dimensions
       
    25 	^ dimensions
       
    26 !
       
    27 
       
    28 dimensions: anObject
       
    29 	dimensions := anObject
       
    30 !
       
    31 
       
    32 elementType
       
    33 	^ elementType
       
    34 !
       
    35 
       
    36 elementType: anObject
       
    37 	elementType := anObject
       
    38 !
       
    39 
       
    40 type 
       
    41 
       
    42 	^type ifNil: [type := 
       
    43 			((1 to: dimensions) 
       
    44 				inject: elementType type 
       
    45 				into: [:current :parenthesis |
       
    46 					(current , '[]')]) ]
       
    47 ! !
       
    48