| package p; |
| |
| class A { |
| int i; |
| void m(int i) {this.i = i;} |
| } |
| class Super extends A { |
| void m(int i) { super.m(1); } |
| } |
| class Recursive extends A { |
| void m(int i) { if (true) m(i); } |
| } |
| class ThisRecursive extends A { |
| void m(int i) { this.m(i); } |
| } |
| class AlmostRecursive extends A { |
| void m(int i) { new A().m(i); } |
| } |
| class RecursiveOrNot extends A { |
| void m(int i) { new RecursiveOrNot().m(i); } |
| } |
| class NonRecursive extends A { |
| void m(int i) { int k= i; } |
| } |
| class Calling extends A { |
| void bar() { m(17); } |
| } |
| class Calling2 { |
| void bar() { new A().m(17); } |
| } |
| class Calling3 { |
| void bar() { new Recursive().m(17); } |
| } |