Use #deepCopy instead of #copy when copying RB parse tree
...because #copy make a copy if child nodes but does not set their parents properly.
Therefore node replacing does not work because it replaces it in wrong tree (original,
not the copy).
"{ Package: 'stx:goodies/petitparser/parsers/java' }"
"{ NameSpace: Smalltalk }"
PJTypeNode subclass:#PJArrayTypeNode
instanceVariableNames:'dimensions elementType'
classVariableNames:''
poolDictionaries:''
category:'PetitJava-AST'
!
!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 , '[]')]) ]
! !