array<integer> SimpleFunc_nextFree185
integer SimpleFunc_firstFree893
integer SimpleFunc_maxIndex894
array<integer> SimpleFunc_typeId878


integer SimpleFunc_firstFree893 = 0
integer SimpleFunc_maxIndex894 = 0


function initGlobals114() { 
    SimpleFunc_firstFree_893 = 0;
    SimpleFunc_maxIndex_894 = 0;
}


function main157() { 
    initGlobals114();
    init_test350();
}


function config133() { 
}


function init_test350() { 
    local integer f192
    local integer clVar132
    clVar_132 = alloc_SimpleFunc_test165();
    f_192 = clVar_132;
    dispatch_SimpleFunc_test_SimpleFunc_apply133(f_192);
}


function foo117() returns integer { 
    testSuccess124();
    return 4;
}


IS_NATIVE function testSuccess124() { 
}


function apply_test143(integer this514) returns integer { 
    return foo117();
}


function alloc_SimpleFunc_test165() returns integer { 
    local integer this302
    if (SimpleFunc_firstFree_893 == 0) {
        if (SimpleFunc_maxIndex_894 < 32768) {
            SimpleFunc_maxIndex_894 = (SimpleFunc_maxIndex_894 + 1);
            this_302 = SimpleFunc_maxIndex_894;
            SimpleFunc_typeId_878[this_302] = 2;
        } else {
            error101("Out of memory: Could not create SimpleFunc_test.");
            this_302 = 0;
        };
    } else {
        SimpleFunc_firstFree_893 = (SimpleFunc_firstFree_893 - 1);
        this_302 = SimpleFunc_nextFree_185[SimpleFunc_firstFree_893];
        SimpleFunc_typeId_878[this_302] = 2;
    };
    return this_302;
}


function error101(string msg194) { 
    $debugPrint162((msg_194 + ("
" + #getStackTrace())));
}


function dispatch_SimpleFunc_test_SimpleFunc_apply133(integer this101) { 
    if (SimpleFunc_typeId_878[this_101] == 0) {
        if (this_101 == 0) {
            error101("Nullpointer exception when calling SimpleFunc.apply");
        } else {
            error101("Called SimpleFunc.apply on invalid object.");
        };
    } else {
    };
    apply_test143(this_101);
}