array A_nextFree155 integer A_firstFree183 integer A_maxIndex173 array A_s_0163 array A_s_1350 array A_s_2594 array A_s_3135 integer A_firstFree183 = 0 integer A_maxIndex173 = 0 function initGlobals175() { A_firstFree_183 = 0; A_maxIndex_173 = 0; } function main557() { initGlobals175(); init_test200(); } function config615() { } function init_test200() { local integer a593 a_593 = new_A117(); A_s_set656(a_593, 0, "a"); A_s_set656(a_593, 1, "b"); A_s_set656(a_593, 2, "c"); A_s_set656(a_593, 3, "d"); if ((((A_s_get114(a_593, 0) == "a") and (A_s_get114(a_593, 1) == "b")) and (A_s_get114(a_593, 2) == "c")) and (A_s_get114(a_593, 3) == "d")) { testSuccess754(); } else { testFail370("wrong value"); }; } IS_NATIVE function testSuccess754() { } IS_NATIVE function testFail370(string msg938) { } function A_init252(integer this196) { } function new_A117() returns integer { local integer this136 this_136 = alloc_A139(); construct_A159(this_136); return this_136; } function construct_A159(integer this212) { A_init252(this_212); } function alloc_A139() returns integer { local integer this142 if (A_firstFree_183 == 0) { if (A_maxIndex_173 < 32768) { A_maxIndex_173 = (A_maxIndex_173 + 1); this_142 = A_maxIndex_173; } else { error885("Out of memory: Could not create A."); this_142 = 0; }; } else { A_firstFree_183 = (A_firstFree_183 - 1); this_142 = A_nextFree_155[A_firstFree_183]; }; return this_142; } function error885(string msg946) { $debugPrint707((msg_946 + (" " + #getStackTrace()))); } function A_s_set656(integer instanceId130, integer arrayIndex599, string value139) { if ((arrayIndex_599 < 0) or (arrayIndex_599 >= 4)) { error885("Index out of Bounds"); } else { if (arrayIndex_599 <= 1) { if (arrayIndex_599 <= 0) { A_s_0_163[instanceId_130] = value_139; } else { A_s_1_350[instanceId_130] = value_139; }; } else { if (arrayIndex_599 <= 2) { A_s_2_594[instanceId_130] = value_139; } else { A_s_3_135[instanceId_130] = value_139; }; }; }; } function A_s_get114(integer index1158, integer index2109) returns string { local string returnVal697 if ((index2_109 < 0) or (index2_109 >= 4)) { error885("Index out of Bounds"); } else { if (index2_109 <= 1) { if (index2_109 <= 0) { returnVal_697 = A_s_0_163[index1_158]; } else { returnVal_697 = A_s_1_350[index1_158]; }; } else { if (index2_109 <= 2) { returnVal_697 = A_s_2_594[index1_158]; } else { returnVal_697 = A_s_3_135[index1_158]; }; }; }; return returnVal_697; }