array<integer> SimpleFunc_nextFree151
integer SimpleFunc_firstFree123
integer SimpleFunc_maxIndex518
array<integer> SimpleFunc_typeId317


integer SimpleFunc_firstFree123 = 0
integer SimpleFunc_maxIndex518 = 0


function initGlobals189() { 
    SimpleFunc_firstFree_123 = 0;
    SimpleFunc_maxIndex_518 = 0;
}


function main854() { 
    initGlobals189();
    init_test163();
}


function config719() { 
}


function init_test163() { 
    local integer f178
    local integer clVar557
    clVar_557 = alloc_SimpleFunc_test165();
    f_178 = clVar_557;
    if (dispatch_SimpleFunc_test_SimpleFunc_apply174(f_178, 3, 4) == 7) {
        testSuccess127();
    } else {
    };
}


IS_NATIVE function testSuccess127() { 
}


function apply_test182(integer this156, integer x163, integer y338) returns integer { 
    return (x_163 + y_338);
}


function alloc_SimpleFunc_test165() returns integer { 
    local integer this161
    if (SimpleFunc_firstFree_123 == 0) {
        if (SimpleFunc_maxIndex_518 < 32768) {
            SimpleFunc_maxIndex_518 = (SimpleFunc_maxIndex_518 + 1);
            this_161 = SimpleFunc_maxIndex_518;
            SimpleFunc_typeId_317[this_161] = 2;
        } else {
            error274("Out of memory: Could not create SimpleFunc_test.");
            this_161 = 0;
        };
    } else {
        SimpleFunc_firstFree_123 = (SimpleFunc_firstFree_123 - 1);
        this_161 = SimpleFunc_nextFree_151[SimpleFunc_firstFree_123];
        SimpleFunc_typeId_317[this_161] = 2;
    };
    return this_161;
}


function error274(string msg634) { 
    $debugPrint570((msg_634 + ("
" + #getStackTrace())));
}


function dispatch_SimpleFunc_test_SimpleFunc_apply174(integer this517, integer x205, integer y229) returns integer { 
    local integer test_SimpleFunc_apply_result611
    if (SimpleFunc_typeId_317[this_517] == 0) {
        if (this_517 == 0) {
            error274("Nullpointer exception when calling SimpleFunc.apply");
        } else {
            error274("Called SimpleFunc.apply on invalid object.");
        };
    } else {
    };
    test_SimpleFunc_apply_result_611 = apply_test182(this_517, x_205, y_229);
    return test_SimpleFunc_apply_result_611;
}