array Base_nextFree193 integer Base_firstFree775 integer Base_maxIndex634 array Base_typeId821 array Base_next470 integer Base_firstFree775 = 0 integer Base_maxIndex634 = 0 function initGlobals649() { } function main110() { local integer suba497 local integer subb516 initGlobals649(); suba_497 = new_SubClassA140(); subb_516 = new_SubClassB175(); Base_next_470[suba_497] = subb_516; dispatch_SubClassA_test_SubClassA_clear119(suba_497); } function config107() { } IS_NATIVE function testSuccess208() { } function new_SubClassA140() returns integer { local integer this735 local integer this801 if (Base_firstFree_775 == 0) { if (Base_maxIndex_634 < 32768) { Base_maxIndex_634 = (Base_maxIndex_634 + 1); this_801 = Base_maxIndex_634; Base_typeId_821[this_801] = 2; } else { error200("Out of memory: Could not create SubClassA."); this_801 = 0; }; } else { Base_firstFree_775 = (Base_firstFree_775 - 1); this_801 = Base_nextFree_193[Base_firstFree_775]; Base_typeId_821[this_801] = 2; }; this_735 = this_801; return this_735; } function new_SubClassB175() returns integer { local integer this773 local integer this203 if (Base_firstFree_775 == 0) { if (Base_maxIndex_634 < 32768) { Base_maxIndex_634 = (Base_maxIndex_634 + 1); this_203 = Base_maxIndex_634; Base_typeId_821[this_203] = 3; } else { error200("Out of memory: Could not create SubClassB."); this_203 = 0; }; } else { Base_firstFree_775 = (Base_firstFree_775 - 1); this_203 = Base_nextFree_193[Base_firstFree_775]; Base_typeId_821[this_203] = 3; }; this_773 = this_203; return this_773; } function error200(string msg206) { $debugPrint229((msg_206 + (" " + #getStackTrace()))); } function dispatch_Base_test_Base_clear180(integer this586) { local integer this171 local integer this716 local integer this288 local integer this104 local integer this331 if (Base_typeId_821[this_586] == 0) { if (this_586 == 0) { error200("Nullpointer exception when calling Base.clear"); } else { error200("Called Base.clear on invalid object."); }; } else { }; if (Base_typeId_821[this_586] <= 2) { if (Base_typeId_821[this_586] <= 1) { this_171 = this_586; if (Base_next_470[this_171] != null) { dispatch_Base_test_Base_clear180(Base_next_470[this_171]); } else { }; } else { this_716 = this_586; this_288 = this_716; if (Base_next_470[this_288] != null) { dispatch_Base_test_Base_clear180(Base_next_470[this_288]); } else { }; }; } else { this_104 = this_586; this_331 = this_104; if (Base_next_470[this_331] != null) { dispatch_Base_test_Base_clear180(Base_next_470[this_331]); } else { }; testSuccess208(); }; } function dispatch_SubClassA_test_SubClassA_clear119(integer this399) { local integer this140 local integer this119 if (Base_typeId_821[this_399] == 0) { if (this_399 == 0) { error200("Nullpointer exception when calling SubClassA.clear"); } else { error200("Called SubClassA.clear on invalid object."); }; } else { }; this_140 = this_399; this_119 = this_140; if (Base_next_470[this_119] != null) { dispatch_Base_test_Base_clear180(Base_next_470[this_119]); } else { }; }