equal
deleted
inserted
replaced
7 classVariableNames:'' |
7 classVariableNames:'' |
8 poolDictionaries:'' |
8 poolDictionaries:'' |
9 category:'PetitCompiler-Nodes' |
9 category:'PetitCompiler-Nodes' |
10 ! |
10 ! |
11 |
11 |
12 !PPCForwardNode methodsFor:'compiling'! |
12 !PPCForwardNode methodsFor:'accessing'! |
13 |
|
14 check |
|
15 ^ (child name = self name and: [child suffix = self suffix]) ifTrue: [ 'referring to itself!!' ] |
|
16 ! |
|
17 |
|
18 compileWith: compiler effect: effect id: id |
|
19 compiler startMethod: id. |
|
20 compiler add: '^ '. |
|
21 "child name = 'keyword' ifTrue: [ self halt ]." |
|
22 compiler callOnLine: (child compileWith: compiler). |
|
23 ^ compiler stopMethod. |
|
24 ! |
|
25 |
13 |
26 prefix |
14 prefix |
27 ^ #fw |
15 ^ #fw |
28 ! |
|
29 |
|
30 rewrite: changeStatus |
|
31 child name ifNil: [ |
|
32 changeStatus change. |
|
33 child name: self name. |
|
34 ^ child |
|
35 ]. |
|
36 |
|
37 (child name = self name) ifTrue: [ |
|
38 changeStatus change. |
|
39 ^ child |
|
40 ] |
|
41 ! ! |
16 ! ! |
42 |
17 |
|
18 !PPCForwardNode methodsFor:'analysis'! |
|
19 |
|
20 check |
|
21 ^ (self name notNil and: [ |
|
22 child name = self name and: [ |
|
23 child suffix = self suffix |
|
24 ]]) ifTrue: [ 'referring to itself!!' ] |
|
25 ! ! |
|
26 |
|
27 !PPCForwardNode methodsFor:'visiting'! |
|
28 |
|
29 accept: visitor |
|
30 ^ visitor visitForwardNode: self |
|
31 ! ! |
|
32 |