function initGlobals456() { } function main877() { local trigger initTrig130 initGlobals456(); init_test195(); } function config221() { } function init_test195() { local I i1371 local I i2480 null; i1_371 = new_B510(); i2_480 = new_C104(); if ((i1_371.test_I_foo548() == 2) and (i2_480.test_I_foo548() == 3)) { testSuccess209(); } else { }; null; } IS_NATIVE function testSuccess209() { } class B170 extends I { method B.destroyB163 implemented by destroyB970 method B.test_B_foo861 implemented by B_foo320 function B_foo320(B this234) returns integer { null; return 2; null; } function destroyB970(B this175) { B_onDestroy141(this_175); #dealloc(B, this_175); } function B_init185(B this803) { } function new_B510() returns B { local B this164 this_164 = #alloc(B); construct_B208(this_164); return this_164; } function construct_B208(B this721) { B_init185(this_721); null; null; } function B_onDestroy141(B this176) { null; null; } } class C116 extends I { method C.destroyC162 implemented by destroyC745 method C.test_C_foo175 implemented by C_foo767 function C_foo767(C this102) returns integer { null; return 3; null; } function destroyC745(C this125) { C_onDestroy497(this_125); #dealloc(C, this_125); } function C_init143(C this206) { } function new_C104() returns C { local C this149 this_149 = #alloc(C); construct_C272(this_149); return this_149; } function construct_C272(C this358) { C_init143(this_358); null; null; } function C_onDestroy497(C this417) { null; null; } } class I191 extends { method I.destroyI120 implemented by destroyI155 sub: B.destroyB163 sub: C.destroyC162 abstract method I.test_I_foo548 implemented by I_foo155 sub: B.test_B_foo861 sub: C.test_C_foo175 function I_foo155(I this141) returns integer { } function destroyI155(I this121) { #dealloc(I, this_121); } }