array Base_nextFree945 integer Base_firstFree642 integer Base_maxIndex127 array Base_typeId732 array Base_next106 integer Base_firstFree642 = 0 integer Base_maxIndex127 = 0 function initGlobals170() { } function main991() { initGlobals170(); init_test943(); } function config242() { } function init_test943() { local integer suba119 local integer subb461 suba_119 = new_SubClassA603(); subb_461 = new_SubClassB136(); Base_next_106[suba_119] = subb_461; dispatch_SubClassA_test_SubClassA_clear320(suba_119); } IS_NATIVE function testSuccess258() { } function Base_init726(integer this472) { } function construct_Base743(integer this364) { Base_init726(this_364); } function SubClassA_init210(integer this193) { } function new_SubClassA603() returns integer { local integer this240 this_240 = alloc_SubClassA148(); construct_SubClassA127(this_240); return this_240; } function construct_SubClassA127(integer this937) { construct_Base743(this_937); SubClassA_init210(this_937); } function SubClassB_init140(integer this190) { } function new_SubClassB136() returns integer { local integer this189 this_189 = alloc_SubClassB128(); construct_SubClassB156(this_189); return this_189; } function construct_SubClassB156(integer this147) { construct_Base743(this_147); SubClassB_init140(this_147); } function error206(string msg103) { $debugPrint147((msg_103 + (" " + #getStackTrace()))); } function alloc_SubClassA148() returns integer { local integer this133 if (Base_firstFree_642 == 0) { if (Base_maxIndex_127 < 32768) { Base_maxIndex_127 = (Base_maxIndex_127 + 1); this_133 = Base_maxIndex_127; Base_typeId_732[this_133] = 2; } else { error206("Out of memory: Could not create SubClassA."); this_133 = 0; }; } else { Base_firstFree_642 = (Base_firstFree_642 - 1); this_133 = Base_nextFree_945[Base_firstFree_642]; Base_typeId_732[this_133] = 2; }; return this_133; } function alloc_SubClassB128() returns integer { local integer this200 if (Base_firstFree_642 == 0) { if (Base_maxIndex_127 < 32768) { Base_maxIndex_127 = (Base_maxIndex_127 + 1); this_200 = Base_maxIndex_127; Base_typeId_732[this_200] = 3; } else { error206("Out of memory: Could not create SubClassB."); this_200 = 0; }; } else { Base_firstFree_642 = (Base_firstFree_642 - 1); this_200 = Base_nextFree_945[Base_firstFree_642]; Base_typeId_732[this_200] = 3; }; return this_200; } function dispatch_SubClassA_test_SubClassA_clear320(integer this864) { if (Base_typeId_732[this_864] == 0) { if (this_864 == 0) { error206("Nullpointer exception when calling SubClassA.clear"); } else { error206("Called SubClassA.clear on invalid object."); }; } else { }; cyc_SubClassB_clear104(3, this_864); } function cyc_SubClassB_clear104(integer funcChoice450, integer this112) { if (funcChoice_450 == 0) { cyc_SubClassB_clear104(2, this_112); testSuccess258(); } else { if (funcChoice_450 == 1) { if (Base_typeId_732[this_112] == 0) { if (this_112 == 0) { error206("Nullpointer exception when calling Base.clear"); } else { error206("Called Base.clear on invalid object."); }; } else { }; if (Base_typeId_732[this_112] <= 2) { if (Base_typeId_732[this_112] <= 1) { cyc_SubClassB_clear104(2, this_112); } else { cyc_SubClassB_clear104(3, this_112); }; } else { cyc_SubClassB_clear104(0, this_112); }; } else { if (funcChoice_450 == 2) { if (Base_next_106[this_112] != null) { cyc_SubClassB_clear104(1, Base_next_106[this_112]); } else { }; } else { if (funcChoice_450 == 3) { cyc_SubClassB_clear104(2, this_112); } else { }; }; }; }; }