array Base_nextFree861 integer Base_firstFree352 integer Base_maxIndex169 array Base_typeId122 array Base_next516 integer Base_firstFree352 = 0 integer Base_maxIndex169 = 0 function initGlobals493() { } function main155() { local integer suba111 local integer subb317 initGlobals493(); suba_111 = new_SubClassA537(); subb_317 = new_SubClassB122(); Base_next_516[suba_111] = subb_317; dispatch_SubClassA_test_SubClassA_clear209(suba_111); } function config269() { } IS_NATIVE function testSuccess213() { } function new_SubClassA537() returns integer { local integer this198 local integer this168 if (Base_firstFree_352 == 0) { if (Base_maxIndex_169 < 32768) { Base_maxIndex_169 = (Base_maxIndex_169 + 1); this_168 = Base_maxIndex_169; Base_typeId_122[this_168] = 2; } else { error202("Out of memory: Could not create SubClassA."); this_168 = 0; }; } else { Base_firstFree_352 = (Base_firstFree_352 - 1); this_168 = Base_nextFree_861[Base_firstFree_352]; Base_typeId_122[this_168] = 2; }; this_198 = this_168; return this_198; } function new_SubClassB122() returns integer { local integer this171 local integer this120 if (Base_firstFree_352 == 0) { if (Base_maxIndex_169 < 32768) { Base_maxIndex_169 = (Base_maxIndex_169 + 1); this_120 = Base_maxIndex_169; Base_typeId_122[this_120] = 3; } else { error202("Out of memory: Could not create SubClassB."); this_120 = 0; }; } else { Base_firstFree_352 = (Base_firstFree_352 - 1); this_120 = Base_nextFree_861[Base_firstFree_352]; Base_typeId_122[this_120] = 3; }; this_171 = this_120; return this_171; } function error202(string msg325) { $debugPrint121((msg_325 + (" " + #getStackTrace()))); } function dispatch_Base_test_Base_clear113(integer this666) { local integer this106 local integer this204 local integer this180 local integer this212 local integer this246 if (Base_typeId_122[this_666] == 0) { if (this_666 == 0) { error202("Nullpointer exception when calling Base.clear"); } else { error202("Called Base.clear on invalid object."); }; } else { }; if (Base_typeId_122[this_666] <= 2) { if (Base_typeId_122[this_666] <= 1) { this_106 = this_666; if (Base_next_516[this_106] != null) { dispatch_Base_test_Base_clear113(Base_next_516[this_106]); } else { }; } else { this_204 = this_666; this_180 = this_204; if (Base_next_516[this_180] != null) { dispatch_Base_test_Base_clear113(Base_next_516[this_180]); } else { }; }; } else { this_212 = this_666; this_246 = this_212; if (Base_next_516[this_246] != null) { dispatch_Base_test_Base_clear113(Base_next_516[this_246]); } else { }; testSuccess213(); }; } function dispatch_SubClassA_test_SubClassA_clear209(integer this211) { local integer this155 local integer this712 if (Base_typeId_122[this_211] == 0) { if (this_211 == 0) { error202("Nullpointer exception when calling SubClassA.clear"); } else { error202("Called SubClassA.clear on invalid object."); }; } else { }; this_155 = this_211; this_712 = this_155; if (Base_next_516[this_712] != null) { dispatch_Base_test_Base_clear113(Base_next_516[this_712]); } else { }; }