[link = SodObject, nick = base]
class T1Base: SodObject {
+ int plain(int x) { STEP(x); return (x + 1); }
+
[combination = progn] void aprogn();
[combination = sum] int asum();
[combination = and] int aand();
[combination = max] int amax();
+ [role = around] int base.asum() { return (CALL_NEXT_METHOD); }
[combination = custom,
empty = { sod_ret = 0; },
[link = T1Base, nick = mid]
class T1Mid: T1Base {
+ int base.plain(int x) { STEP(x - 1); return (CALL_NEXT_METHOD); }
void base.aprogn() { STEP(1); }
int base.asum() { return 1; }
int base.aand() { return 8; }
if (!l) STEP(5);
v = T1Base_avec(t1);
if (!v.n) STEP(6);
- DONE(7);
+ STEP(T1Base_plain(t1, 7)); /* 7, 8 */
+ DONE(9);
}
prepare("aggregate, mid");
{ SOD_DECL(T1Mid, t1, NO_KWARGS);
v = T1Base_avec(t1);
if (!check_vec(&v, 19, -1)) STEP(6);
free_vec(&v);
- DONE(7);
+ STEP(T1Base_plain(t1, 8)); /* 7, 8, 9 */
+ DONE(10);
}
prepare("aggregate, sub");
{ SOD_DECL(T1Sub, t1, NO_KWARGS);