equal
deleted
inserted
replaced
1 "{ Package: 'stx:goodies/petitparser/compiler' }" |
1 "{ Package: 'stx:goodies/petitparser/compiler' }" |
|
2 |
|
3 "{ NameSpace: Smalltalk }" |
2 |
4 |
3 PPCNode subclass:#PPCDelegateNode |
5 PPCNode subclass:#PPCDelegateNode |
4 instanceVariableNames:'child' |
6 instanceVariableNames:'child' |
5 classVariableNames:'' |
7 classVariableNames:'' |
6 poolDictionaries:'' |
8 poolDictionaries:'' |
43 inlinedNode := child asInlined. |
45 inlinedNode := child asInlined. |
44 (inlinedNode ~= child) ifTrue: [ |
46 (inlinedNode ~= child) ifTrue: [ |
45 changeStatus change. |
47 changeStatus change. |
46 self replace: child with: inlinedNode. |
48 self replace: child with: inlinedNode. |
47 ] |
49 ] |
48 ! |
|
49 |
|
50 optimize: params status: changeStatus |
|
51 | retval | |
|
52 retval := self. |
|
53 |
|
54 retval := retval rewrite: params status: changeStatus. |
|
55 retval := retval inline: params status: changeStatus. |
|
56 |
|
57 ^ retval |
|
58 ! ! |
50 ! ! |
59 |
51 |
60 !PPCDelegateNode methodsFor:'transformation'! |
52 !PPCDelegateNode methodsFor:'transformation'! |
61 |
53 |
62 replace: node with: anotherNode |
54 replace: node with: anotherNode |