pike.git/
src/
testsuite.in
Branch:
Tag:
Non-build tags
All tags
No tags
1999-08-09
1999-08-09 04:15:22 by Martin Stjernholm <mast@lysator.liu.se>
1c59f9b9062dac0fa07f43919a9550ea27341d6f (
383
lines) (+
382
/-
1
)
[
Show
|
Annotate
]
Branch:
7.9
Black box modifier tests.
Rev: src/testsuite.in:1.186
1:
-
stest_true([["$Id: testsuite.in,v 1.
185
1999/08/
08
17
:
32
:
35
mast Exp $"]])
+
stest_true([["$Id: testsuite.in,v 1.
186
1999/08/
09
04
:
15
:
22
mast Exp $"]])
cond([[all_constants()->_verify_internals]], [[ test_do(_verify_internals())
3453:
} ]])
+
// - modifiers, compile time type checks
+
+
test_compile_any(class A {int v;} class B {inherit A; int v;})
+
test_compile_error_low(class A {int v;} class B {inherit A; float v;})
+
test_compile_error_low(class A {int v;} class B {inherit A; mixed v;})
+
test_compile_error_low(class A {mixed v;} class B {inherit A; int v;})
+
test_compile_error_low(class A {public int v;} class B {inherit A; float v;})
+
test_compile_error_low(class A {public int v;} class B {inherit A; mixed v;})
+
test_compile_error_low(class A {public mixed v;} class B {inherit A; int v;})
+
test_compile_error_low(class A {static int v;} class B {inherit A; float v;})
+
test_compile_error_low(class A {static int v;} class B {inherit A; mixed v;})
+
test_compile_error_low(class A {static mixed v;} class B {inherit A; int v;})
+
test_compile_any(class A {private int v;} class B {inherit A; float v;})
+
test_compile_any(class A {private int v;} class B {inherit A; mixed v;})
+
test_compile_any(class A {private mixed v;} class B {inherit A; int v;})
+
test_compile_error_low(class A {final int v;} class B {inherit A; int v;})
+
test_compile_error_low(class A {final int v;} class B {inherit A; final int v;})
+
test_compile_error_low(class A {nomask int v;} class B {inherit A; int v;})
+
test_compile_error_low(class A {nomask int v;} class B {inherit A; nomask int v;})
+
test_compile_any(class A {local int v;} class B {inherit A; float v;})
+
test_compile_any(class A {local int v;} class B {inherit A; mixed v;})
+
test_compile_any(class A {local mixed v;} class B {inherit A; int v;})
+
test_compile_any(class A {inline int v;} class B {inherit A; float v;})
+
test_compile_any(class A {inline int v;} class B {inherit A; mixed v;})
+
test_compile_any(class A {inline mixed v;} class B {inherit A; int v;})
+
+
test_compile_any(class A {int f(){}} class B {inherit A; int f(){}})
+
test_compile_any(class A {int f(){}} class B {inherit A; float f(){}})
+
test_compile_any(class A {int f(){}} class B {inherit A; mixed f(){}})
+
test_compile_any(class A {mixed f(){}} class B {inherit A; int f(){}})
+
test_compile_any(class A {void f(){}} class B {inherit A; void f(int a){}})
+
test_compile_any(class A {void f(int a){}} class B {inherit A; void f(float a){}})
+
test_compile_any(class A {void f(int a){}} class B {inherit A; void f(mixed a){}})
+
test_compile_any(class A {void f(mixed a){}} class B {inherit A; void f(int a){}})
+
test_compile_error_low(class A {final int f(){}} class B {inherit A; int f(){}})
+
test_compile_error_low(class A {final int f(){}} class B {inherit A; final int f(){}})
+
test_compile_error_low(class A {nomask int f(){}} class B {inherit A; int f(){}})
+
test_compile_error_low(class A {nomask int f(){}} class B {inherit A; nomask int f(){}})
+
+
test_compile_error_low(class A {int v;} class B {inherit A; int v(){}})
+
test_compile_error_low(class A {public int v;} class B {inherit A; int v(){}})
+
test_compile_error_low(class A {static int v;} class B {inherit A; int v(){}})
+
test_compile_any(class A {private int v;} class B {inherit A; int v(){}})
+
test_compile_error_low(class A {final int v;} class B {inherit A; int v(){}})
+
test_compile_error_low(class A {nomask int v;} class B {inherit A; int v(){}})
+
test_compile_any(class A {local int v;} class B {inherit A; int v(){}})
+
test_compile_any(class A {inline int v;} class B {inherit A; int v(){}})
+
+
test_compile_error_low(class A {int f(){}} class B {inherit A; int f;})
+
test_compile_error_low(class A {public int f(){}} class B {inherit A; int f;})
+
test_compile_error_low(class A {static int f(){}} class B {inherit A; int f;})
+
test_compile_any(class A {private int f(){}} class B {inherit A; int f;})
+
test_compile_error_low(class A {final int f(){}} class B {inherit A; int f;})
+
test_compile_error_low(class A {nomask int f(){}} class B {inherit A; int f;})
+
test_compile_any(class A {local int f(){}} class B {inherit A; int f;})
+
test_compile_any(class A {inline int f(){}} class B {inherit A; int f;})
+
+
// - modifiers, compile time access properties
+
+
test_compile_error_low(class A {} class B {inherit A; void g(){v;}})
+
test_compile_any(class A {int v;} class B {inherit A; void g(){v;}})
+
test_compile_any(class A {public int v;} class B {inherit A; void g(){v;}})
+
test_compile_any(class A {static int v;} class B {inherit A; void g(){v;}})
+
test_compile_error_low(class A {private int v;} class B {inherit A; void g(){v;}})
+
test_compile_any(class A {final int v;} class B {inherit A; void g(){v;}})
+
test_compile_any(class A {nomask int v;} class B {inherit A; void g(){v;}})
+
test_compile_any(class A {local int v;} class B {inherit A; void g(){v;}})
+
test_compile_any(class A {inline int v;} class B {inherit A; void g(){v;}})
+
test_compile_any(class A {int f(){}} class B {inherit A; void g(){f();}})
+
test_compile_any(class A {public int f(){}} class B {inherit A; void g(){f();}})
+
test_compile_any(class A {static int f(){}} class B {inherit A; void g(){f();}})
+
test_compile_error_low(class A {private int f(){}} class B {inherit A; void g(){f();}})
+
test_compile_any(class A {final int f(){}} class B {inherit A; void g(){f();}})
+
test_compile_any(class A {nomask int f(){}} class B {inherit A; void g(){f();}})
+
test_compile_any(class A {local int f(){}} class B {inherit A; void g(){f();}})
+
test_compile_any(class A {inline int f(){}} class B {inherit A; void g(){f();}})
+
+
test_compile_any(class A {int v;} class B {public inherit A; void g(){v;}})
+
test_compile_any(class A {int v;} class B {static inherit A; void g(){v;}})
+
test_compile_any(class A {int v;} class B {private inherit A; void g(){v;}})
+
test_compile_any(class A {int v;} class B {final inherit A; void g(){v;}})
+
test_compile_any(class A {int v;} class B {nomask inherit A; void g(){v;}})
+
test_compile_any(class A {int v;} class B {local inherit A; void g(){v;}})
+
test_compile_any(class A {int v;} class B {inline inherit A; void g(){v;}})
+
test_compile_any(class A {int f(){}} class B {public inherit A; void g(){f();}})
+
test_compile_any(class A {int f(){}} class B {static inherit A; void g(){f();}})
+
test_compile_any(class A {int f(){}} class B {private inherit A; void g(){f();}})
+
test_compile_any(class A {int f(){}} class B {final inherit A; void g(){f();}})
+
test_compile_any(class A {int f(){}} class B {nomask inherit A; void g(){f();}})
+
test_compile_any(class A {int f(){}} class B {local inherit A; void g(){f();}})
+
test_compile_any(class A {int f(){}} class B {inline inherit A; void g(){f();}})
+
+
test_compile_error_low(class A {} class B {inherit A; void g(){A::v;}})
+
test_compile_any(class A {int v;} class B {inherit A; void g(){A::v;}})
+
test_compile_any(class A {public int v;} class B {inherit A; void g(){A::v;}})
+
test_compile_any(class A {static int v;} class B {inherit A; void g(){A::v;}})
+
test_compile_error_low(class A {private int v;} class B {inherit A; void g(){A::v;}})
+
test_compile_any(class A {final int v;} class B {inherit A; void g(){A::v;}})
+
test_compile_any(class A {nomask int v;} class B {inherit A; void g(){A::v;}})
+
test_compile_any(class A {local int v;} class B {inherit A; void g(){A::v;}})
+
test_compile_any(class A {inline int v;} class B {inherit A; void g(){A::v;}})
+
test_compile_any(class A {int f(){}} class B {inherit A; void g(){A::f();}})
+
test_compile_any(class A {public int f(){}} class B {inherit A; void g(){A::f();}})
+
test_compile_any(class A {static int f(){}} class B {inherit A; void g(){A::f();}})
+
test_compile_error_low(class A {private int f(){}} class B {inherit A; void g(){A::f();}})
+
test_compile_any(class A {final int f(){}} class B {inherit A; void g(){A::f();}})
+
test_compile_any(class A {nomask int f(){}} class B {inherit A; void g(){A::f();}})
+
test_compile_any(class A {local int f(){}} class B {inherit A; void g(){A::f();}})
+
test_compile_any(class A {inline int f(){}} class B {inherit A; void g(){A::f();}})
+
+
test_compile_any(class A {int v;} class B {public inherit A; void g(){A::v;}})
+
test_compile_any(class A {int v;} class B {static inherit A; void g(){A::v;}})
+
test_compile_any(class A {int v;} class B {private inherit A; void g(){A::v;}})
+
test_compile_any(class A {int v;} class B {final inherit A; void g(){A::v;}})
+
test_compile_any(class A {int v;} class B {nomask inherit A; void g(){A::v;}})
+
test_compile_any(class A {int v;} class B {local inherit A; void g(){A::v;}})
+
test_compile_any(class A {int v;} class B {inline inherit A; void g(){A::v;}})
+
test_compile_any(class A {int f(){}} class B {public inherit A; void g(){A::f();}})
+
test_compile_any(class A {int f(){}} class B {static inherit A; void g(){A::f();}})
+
test_compile_any(class A {int f(){}} class B {private inherit A; void g(){A::f();}})
+
test_compile_any(class A {int f(){}} class B {final inherit A; void g(){A::f();}})
+
test_compile_any(class A {int f(){}} class B {nomask inherit A; void g(){A::f();}})
+
test_compile_any(class A {int f(){}} class B {local inherit A; void g(){A::f();}})
+
test_compile_any(class A {int f(){}} class B {inline inherit A; void g(){A::f();}})
+
+
test_compile_error_low(class A {} class B {inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_any(class A {int v;} class B {inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_any(class A {int v;} class B {public inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_any(class A {int v;} class B {static inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_error_low(class A {int v;} class B {private inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_any(class A {int v;} class B {final inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_any(class A {int v;} class B {nomask inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_any(class A {int v;} class B {local inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_any(class A {int v;} class B {inline inherit A;} class C {inherit B; void g(){B::v;}})
+
test_compile_any(class A {int f(){}} class B {inherit A;} class C {inherit B; void g(){B::f();}})
+
test_compile_any(class A {int f(){}} class B {public inherit A;} class C {inherit B; void g(){B::f();}})
+
test_compile_any(class A {int f(){}} class B {static inherit A;} class C {inherit B; void g(){B::f();}})
+
test_compile_error_low(class A {int f(){}} class B {private inherit A;} class C {inherit B; void g(){B::f();}})
+
test_compile_any(class A {int f(){}} class B {final inherit A;} class C {inherit B; void g(){B::f();}})
+
test_compile_any(class A {int f(){}} class B {nomask inherit A;} class C {inherit B; void g(){B::f();}})
+
test_compile_any(class A {int f(){}} class B {local inherit A;} class C {inherit B; void g(){B::f();}})
+
test_compile_any(class A {int f(){}} class B {inline inherit A;} class C {inherit B; void g(){B::f();}})
+
+
// - modifiers, run time access properties
+
+
test_eval_error(class {}()->f())
+
test_do(class {int f(){}}()->f())
+
test_do(class {public int f(){}}()->f())
+
test_eval_error(class {static int f(){}}()->f())
+
test_eval_error(class {private int f(){}}()->f())
+
test_do(class {final int f(){}}()->f())
+
test_do(class {nomask int f(){}}()->f())
+
test_do(class {local int f(){}}()->f())
+
test_do(class {inline int f(){}}()->f())
+
test_do(class {class A {}}()->A())
+
test_do(class {public class A {}}()->A())
+
test_eval_error(class {static class A {}}()->A())
+
test_eval_error(class {private class A {}}()->A())
+
test_do(class {final class A {}}()->A())
+
test_do(class {nomask class A {}}()->A())
+
test_do(class {local class A {}}()->A())
+
test_do(class {inline class A {}}()->A())
+
+
test_equal(indices(class {}()), ({}))
+
test_equal(indices(class {int v;}()), ({"v"}))
+
test_equal(indices(class {public int v;}()), ({"v"}))
+
test_equal(indices(class {static int v;}()), ({}))
+
test_equal(indices(class {private int v;}()), ({}))
+
test_equal(indices(class {final int v;}()), ({"v"}))
+
test_equal(indices(class {nomask int v;}()), ({"v"}))
+
test_equal(indices(class {local int v;}()), ({"v"}))
+
test_equal(indices(class {inline int v;}()), ({"v"}))
+
test_equal(indices(class {int f(){}}()), ({"f"}))
+
test_equal(indices(class {public int f(){}}()), ({"f"}))
+
test_equal(indices(class {static int f(){}}()), ({}))
+
test_equal(indices(class {private int f(){}}()), ({}))
+
test_equal(indices(class {final int f(){}}()), ({"f"}))
+
test_equal(indices(class {nomask int f(){}}()), ({"f"}))
+
test_equal(indices(class {local int f(){}}()), ({"f"}))
+
test_equal(indices(class {inline int f(){}}()), ({"f"}))
+
+
test_equal(indices(class {class A {} class B {inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {int v;} class B {inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {public int v;} class B {inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {static int v;} class B {inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {private int v;} class B {inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {final int v;} class B {inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {nomask int v;} class B {inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {local int v;} class B {inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {inline int v;} class B {inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {int f(){}} class B {inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {public int f(){}} class B {inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {static int f(){}} class B {inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {private int f(){}} class B {inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {final int f(){}} class B {inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {nomask int f(){}} class B {inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {local int f(){}} class B {inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {inline int f(){}} class B {inherit A;}}()->B()), ({"f"}))
+
+
test_equal(indices(class {class A {int v;} class B {public inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {static inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {int v;} class B {private inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {int v;} class B {final inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {nomask inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {local inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {inline inherit A;}}()->B()), ({"v"}))
+
test_equal(indices(class {class A {int f(){}} class B {public inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {static inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {int f(){}} class B {private inherit A;}}()->B()), ({}))
+
test_equal(indices(class {class A {int f(){}} class B {final inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {nomask inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {local inherit A;}}()->B()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {inline inherit A;}}()->B()), ({"f"}))
+
+
test_equal(indices(class {class A {} class B {inherit A;} class C {inherit B;}}()->C()), ({}))
+
test_equal(indices(class {class A {int v;} class B {inherit A;} class C {inherit B;}}()->C()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {public inherit A;} class C {inherit B;}}()->C()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {static inherit A;} class C {inherit B;}}()->C()), ({}))
+
test_equal(indices(class {class A {int v;} class B {private inherit A;} class C {inherit B;}}()->C()), ({}))
+
test_equal(indices(class {class A {int v;} class B {final inherit A;} class C {inherit B;}}()->C()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {nomask inherit A;} class C {inherit B;}}()->C()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {local inherit A;} class C {inherit B;}}()->C()), ({"v"}))
+
test_equal(indices(class {class A {int v;} class B {inline inherit A;} class C {inherit B;}}()->C()), ({"v"}))
+
test_equal(indices(class {class A {int f(){}} class B {inherit A;} class C {inherit B;}}()->C()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {public inherit A;} class C {inherit B;}}()->C()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {static inherit A;} class C {inherit B;}}()->C()), ({}))
+
test_equal(indices(class {class A {int f(){}} class B {private inherit A;} class C {inherit B;}}()->C()), ({}))
+
test_equal(indices(class {class A {int f(){}} class B {final inherit A;} class C {inherit B;}}()->C()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {nomask inherit A;} class C {inherit B;}}()->C()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {local inherit A;} class C {inherit B;}}()->C()), ({"f"}))
+
test_equal(indices(class {class A {int f(){}} class B {inline inherit A;} class C {inherit B;}}()->C()), ({"f"}))
+
+
// - modifiers, binding and redefinition properties with compile time access
+
+
test_any(class A {int v=1;}; class B {inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {public int v=1;}; class B {inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {static int v=1;}; class B {inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {private int v=1;}; class B {inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_compile_error_low(class A {final int v=1;}; class B {inherit A; int v=2;};)
+
test_compile_error_low(class A {nomask int v=1;}; class B {inherit A; int v=2;};)
+
test_any(class A {local int v=1;}; class B {inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {inline int v=1;}; class B {inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {public int f(){return 1;}}; class B {inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {static int f(){return 1;}}; class B {inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {private int f(){return 1;}}; class B {inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_compile_error_low(class A {final int f(){return 1;}}; class B {inherit A; int f(){return 2;}};)
+
test_compile_error_low(class A {nomask int f(){return 1;}}; class B {inherit A; int f(){return 2;}};)
+
test_any(class A {local int f(){return 1;}}; class B {inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {inline int f(){return 1;}}; class B {inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
+
test_any(class A {int v=1;}; class B {public inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {static inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {private inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_compile_error_low(class A {int v=1;}; class B {final inherit A; int v=2;};)
+
test_compile_error_low(class A {int v=1;}; class B {nomask inherit A; int v=2;};)
+
test_any(class A {int v=1;}; class B {local inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {inline inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {public inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {static inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {private inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_compile_error_low(class A {int f(){return 1;}}; class B {final inherit A; int f(){return 2;}};)
+
test_compile_error_low(class A {int f(){return 1;}}; class B {nomask inherit A; int f(){return 2;}};)
+
test_any(class A {int f(){return 1;}}; class B {local inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inline inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
+
test_any(class A {int v=1;}; class B {inherit A; int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {inherit A; public int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {inherit A; static int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {inherit A; private int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {inherit A; final int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {inherit A; nomask int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {inherit A; local int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int v=1;}; class B {inherit A; inline int v=2; int t(){return v;}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; public int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; static int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; private int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; final int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; nomask int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; local int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; inline int f(){return 2;} int t(){return f();}}; return B()->t(), 2)
+
+
test_any(class A {int v=1; int t(){return v;}}; class B {inherit A; int v=2;}; return B()->t(), 2)
+
test_any(class A {public int v=1; int t(){return v;}}; class B {inherit A; int v=2;}; return B()->t(), 2)
+
test_any(class A {static int v=1; int t(){return v;}}; class B {inherit A; int v=2;}; return B()->t(), 2)
+
test_any(class A {private int v=1; int t(){return v;}}; class B {inherit A; int v=2;}; return B()->t(), 1)
+
test_any(class A {local int v=1; int t(){return v;}}; class B {inherit A; int v=2;}; return B()->t(), 1)
+
test_any(class A {inline int v=1; int t(){return v;}}; class B {inherit A; int v=2;}; return B()->t(), 1)
+
test_any(class A {int f(){return 1;} int t(){return f();}}; class B {inherit A; int f(){return 2;}}; return B()->t(), 2)
+
test_any(class A {public int f(){return 1;} int t(){return f();}}; class B {inherit A; int f(){return 2;}}; return B()->t(), 2)
+
test_any(class A {static int f(){return 1;} int t(){return f();}}; class B {inherit A; int f(){return 2;}}; return B()->t(), 2)
+
test_any(class A {private int f(){return 1;} int t(){return f();}}; class B {inherit A; int f(){return 2;}}; return B()->t(), 1)
+
test_any(class A {local int f(){return 1;} int t(){return f();}}; class B {inherit A; int f(){return 2;}}; return B()->t(), 1)
+
test_any(class A {inline int f(){return 1;} int t(){return f();}}; class B {inherit A; int f(){return 2;}}; return B()->t(), 1)
+
+
test_any(class A {int v=1; int t(){return v;}}; class B {inherit A; int v=2; int t(){return A::t();}}; return B()->t(), 2)
+
test_any(class A {int v=1; int t(){return v;}}; class B {public inherit A; int v=2; int t(){return A::t();}}; return B()->t(), 2)
+
test_any(class A {int v=1; int t(){return v;}}; class B {static inherit A; int v=2; int t(){return A::t();}}; return B()->t(), 2)
+
test_any(class A {int v=1; int t(){return v;}}; class B {private inherit A; int v=2; int t(){return A::t();}}; return B()->t(), 2)
+
test_any(class A {int v=1; int t(){return v;}}; class B {local inherit A; int v=2; int t(){return A::t();}}; return B()->t(), 1)
+
test_any(class A {int v=1; int t(){return v;}}; class B {inline inherit A; int v=2; int t(){return A::t();}}; return B()->t(), 1)
+
test_any(class A {int f(){return 1;} int t(){return f();}}; class B {inherit A; int f(){return 2;} int t(){return A::t();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;} int t(){return f();}}; class B {public inherit A; int f(){return 2;} int t(){return A::t();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;} int t(){return f();}}; class B {static inherit A; int f(){return 2;} int t(){return A::t();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;} int t(){return f();}}; class B {private inherit A; int f(){return 2;} int t(){return A::t();}}; return B()->t(), 2)
+
test_any(class A {int f(){return 1;} int t(){return f();}}; class B {local inherit A; int f(){return 2;} int t(){return A::t();}}; return B()->t(), 1)
+
test_any(class A {int f(){return 1;} int t(){return f();}}; class B {inline inherit A; int f(){return 2;} int t(){return A::t();}}; return B()->t(), 1)
+
+
// - modifiers, binding and redefinition properties with run time access
+
+
test_any(class A {int v=1;}; class B {inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {public int v=1;}; class B {inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {static int v=1;}; class B {inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {private int v=1;}; class B {inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {local int v=1;}; class B {inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {inline int v=1;}; class B {inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {public int f(){return 1;}}; class B {inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {static int f(){return 1;}}; class B {inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {private int f(){return 1;}}; class B {inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {local int f(){return 1;}}; class B {inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {inline int f(){return 1;}}; class B {inherit A; int f(){return 2;}}; return B()->f(), 2)
+
+
test_any(class A {int v=1;}; class B {public inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {int v=1;}; class B {static inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {int v=1;}; class B {private inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {int v=1;}; class B {local inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {int v=1;}; class B {inline inherit A; int v=2;}; return B()->v, 2)
+
test_any(class A {int f(){return 1;}}; class B {public inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {int f(){return 1;}}; class B {static inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {int f(){return 1;}}; class B {private inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {int f(){return 1;}}; class B {local inherit A; int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inline inherit A; int f(){return 2;}}; return B()->f(), 2)
+
+
test_any(class A {int v=1;}; class B {inherit A; public int v=2;}; return B()->v, 2)
+
test_any(class A {int v=1;}; class B {inherit A; static int v=2;}; return B()->v, 0)
+
test_any(class A {int v=1;}; class B {inherit A; private int v=2;}; return B()->v, 0)
+
test_any(class A {int v=1;}; class B {inherit A; final int v=2;}; return B()->v, 2)
+
test_any(class A {int v=1;}; class B {inherit A; nomask int v=2;}; return B()->v, 2)
+
test_any(class A {int v=1;}; class B {inherit A; local int v=2;}; return B()->v, 2)
+
test_any(class A {int v=1;}; class B {inherit A; inline int v=2;}; return B()->v, 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; public int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; static int f(){return 2;}}; return B()->f, 0)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; private int f(){return 2;}}; return B()->f, 0)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; final int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; nomask int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; local int f(){return 2;}}; return B()->f(), 2)
+
test_any(class A {int f(){return 1;}}; class B {inherit A; inline int f(){return 2;}}; return B()->f(), 2)
+
+
// - modifiers, misc tricky situations
+
+
test_any([[
+
class A {int v=0; int a(){return v;}};
+
class B {inherit A; local int v=1; int b(){return v;}};
+
return B()->a();
+
]], 1)
+
test_any([[
+
class A {int v=0; int a(){return v;}};
+
class B {inherit A; local int v=1; int b(){return v;}};
+
return B()->b();
+
]], 1)
+
test_any([[
+
class A {int v=0; int a(){return v;}};
+
class B {inherit A; local int v; int b(){return v;}};
+
class C {inherit B; int v=2; int c(){return v;}}
+
return C()->a();
+
]], 2)
+
test_any([[
+
class A {int v=0; int a(){return v;}};
+
class B {inherit A; local int v; int b(){return v;}};
+
class C {inherit B; int v=2; int c(){return v;}}
+
return C()->b();
+
]], 0)
+
test_any([[
+
class A {int v=0; int a(){return v;}};
+
class B {inherit A; local int v=1; int b(){return v;}};
+
class C {inherit B; int v; int c(){return v;}}
+
return C()->c();
+
]], 1)