function initGlobals398() { } function main422() { local trigger initTrig140 initGlobals398(); init_test781(); } function config692() { } function init_test781() { local I i1904 local I i2194 null; i1_904 = new_B116(); i2_194 = new_C207(); if ((i1_904.test_I_foo939() == 2) and (i2_194.test_I_foo939() == 3)) { testSuccess197(); } else { }; null; } IS_NATIVE function testSuccess197() { } class B470 extends I { method B.destroyB400 implemented by destroyB163 method B.test_B_foo772 implemented by B_foo178 function B_foo178(B this724) returns integer { null; return 2; null; } function destroyB163(B this196) { B_onDestroy796(this_196); #dealloc(B, this_196); } function B_init720(B this728) { } function new_B116() returns B { local B this151 this_151 = #alloc(B); construct_B101(this_151); return this_151; } function construct_B101(B this200) { B_init720(this_200); null; null; } function B_onDestroy796(B this190) { null; null; } } class C124 extends I { method C.destroyC334 implemented by destroyC433 method C.test_C_foo152 implemented by C_foo583 function C_foo583(C this150) returns integer { null; return 3; null; } function destroyC433(C this378) { C_onDestroy189(this_378); #dealloc(C, this_378); } function C_init162(C this113) { } function new_C207() returns C { local C this462 this_462 = #alloc(C); construct_C210(this_462); return this_462; } function construct_C210(C this704) { C_init162(this_704); null; null; } function C_onDestroy189(C this634) { null; null; } } class I105 extends { method I.destroyI894 implemented by destroyI186 sub: C.destroyC334 sub: B.destroyB400 abstract method I.test_I_foo939 implemented by I_foo952 sub: C.test_C_foo152 sub: B.test_B_foo772 function I_foo952(I this568) returns integer { } function destroyI186(I this162) { #dealloc(I, this_162); } }