"{ Package: 'stx:goodies/petitparser/compiler' }"
"{ NameSpace: Smalltalk }"
PPCDelegateNode subclass:#PPCForwardNode
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Nodes'
!
!PPCForwardNode methodsFor:'compiling'!
check
^ (child name = self name and: [child suffix = self suffix]) ifTrue: [ 'referring to itself!!' ]
!
compileWith: compiler effect: effect id: id
compiler startMethod: id.
compiler add: '^ '.
"child name = 'keyword' ifTrue: [ self halt ]."
compiler callOnLine: (child compileWith: compiler).
^ compiler stopMethod.
!
prefix
^ #fw
!
rewrite: changeStatus
child name ifNil: [
changeStatus change.
child name: self name.
^ child
].
(child name = self name) ifTrue: [
changeStatus change.
^ child
]
! !