Fix in codegen for inlined sequence nodes.
For inlined sequence nodes, generate nested ifs rather than sequential code which
does not work when inlined. The reason is that #codeReturn: in inline generates
instvar assignment, not method return, so in sequential code the next child of a sequence
will be probed even if previous failed. If that happends, the whole sequence fail and therefore
we must generate nested ifs to correctly handle this w.r.t. inlining.
"{ Package: 'stx:goodies/petitparser/compiler' }"
"{ NameSpace: Smalltalk }"
PPCDelegateNode subclass:#PPCTokenConsumeNode
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Nodes'
!
!PPCTokenConsumeNode methodsFor:'accessing'!
name: value
super name: value.
self child name isNil ifTrue: [
self child name: self child prefix, '_', value.
]
!
prefix
^ #consume
! !
!PPCTokenConsumeNode methodsFor:'visiting'!
accept: visitor
^ visitor visitTokenConsumeNode: self
! !