| == A == |
| open class A(a: Int, b: Int) |
| --------------------- |
| L0: |
| 1 <START> |
| v(a: Int) |
| magic[FAKE_INITIALIZER](a: Int) -> <v0> |
| w(a|<v0>) |
| v(b: Int) |
| magic[FAKE_INITIALIZER](b: Int) -> <v1> |
| w(b|<v1>) |
| L1: |
| <END> NEXT:[<SINK>] |
| error: |
| <ERROR> PREV:[] |
| sink: |
| <SINK> PREV:[<ERROR>, <END>] |
| ===================== |
| == B == |
| class B(a: Int, b: Int): A(a + b, a - b) |
| --------------------- |
| L0: |
| 1 <START> |
| v(a: Int) |
| magic[FAKE_INITIALIZER](a: Int) -> <v0> |
| w(a|<v0>) |
| v(b: Int) |
| magic[FAKE_INITIALIZER](b: Int) -> <v1> |
| w(b|<v1>) |
| r(a) -> <v2> |
| r(b) -> <v3> |
| mark(a + b) |
| call(a + b, plus|<v2>, <v3>) -> <v4> |
| r(a) -> <v5> |
| r(b) -> <v6> |
| mark(a - b) |
| call(a - b, minus|<v5>, <v6>) -> <v7> |
| mark(A(a + b, a - b)) |
| call(A(a + b, a - b), <init>|<v4>, <v7>) -> <v8> |
| L1: |
| <END> NEXT:[<SINK>] |
| error: |
| <ERROR> PREV:[] |
| sink: |
| <SINK> PREV:[<ERROR>, <END>] |
| ===================== |