function initGlobals197() { } function main610() { local trigger initTrig168 initGlobals197(); init_test292(); } function config958() { } function init_test292() { local I i1493 local I i2133 null; i1_493 = new_B596(); i2_133 = new_C346(); if ((i1_493.test_I_foo347() == 2) and (i2_133.test_I_foo347() == 3)) { testSuccess645(); } else { }; null; } IS_NATIVE function testSuccess645() { } class B104 extends I { method B.destroyB182 implemented by destroyB573 method B.test_B_foo628 implemented by B_foo604 function B_foo604(B this754) returns integer { null; return 2; null; } function destroyB573(B this885) { B_onDestroy161(this_885); #dealloc(B, this_885); } function B_init144(B this159) { } function new_B596() returns B { local B this120 this_120 = #alloc(B); construct_B160(this_120); return this_120; } function construct_B160(B this443) { B_init144(this_443); null; null; } function B_onDestroy161(B this164) { null; null; } } class C280 extends I { method C.destroyC150 implemented by destroyC903 method C.test_C_foo641 implemented by C_foo846 function C_foo846(C this126) returns integer { null; return 3; null; } function destroyC903(C this180) { C_onDestroy393(this_180); #dealloc(C, this_180); } function C_init636(C this549) { } function new_C346() returns C { local C this163 this_163 = #alloc(C); construct_C900(this_163); return this_163; } function construct_C900(C this113) { C_init636(this_113); null; null; } function C_onDestroy393(C this806) { null; null; } } class I977 extends { method I.destroyI517 implemented by destroyI144 sub: B.destroyB182 sub: C.destroyC150 abstract method I.test_I_foo347 implemented by I_foo212 sub: B.test_B_foo628 sub: C.test_C_foo641 function I_foo212(I this187) returns integer { } function destroyI144(I this116) { #dealloc(I, this_116); } }