integer test_bc153
array<integer> Comparison_nextFree163
integer Comparison_firstFree107
integer Comparison_maxIndex214
array<integer> Comparison_typeId636


integer test_bc153 = new_BoolComp832()
integer Comparison_firstFree107 = 0
integer Comparison_maxIndex214 = 0


function initGlobals161() { 
    Comparison_firstFree_107 = 0;
    Comparison_maxIndex_214 = 0;
}


function main788() { 
    initGlobals161();
    init_test605();
}


function config198() { 
}


function init_test605() { 
    test_bc_153 = new_BoolComp832();
    if dispatch_Comparison_test_Comparison_leq441(test_bc_153, booleanToIndex196(false), booleanToIndex196(true)) {
        testSuccess122();
    } else {
    };
}


function booleanToIndex196(boolean b132) returns integer { 
    if b_132 {
        return 1;
    } else {
    };
    return 0;
}


function booleanFromIndex147(integer i163) returns boolean { 
    return (i_163 != 0);
}


IS_NATIVE function testSuccess122() { 
}


function test_BoolComp_leq_wrapper175(integer this861, any t129, any u523) returns boolean { 
    return BoolComp_leq153(this_861, booleanFromIndex147(t_129), booleanFromIndex147(u_523));
}


function BoolComp_leq153(integer this949, boolean a203, boolean b186) returns boolean { 
    return ((not a_203) or b_186);
}


function BoolComp_init129(integer this138) { 
}


function new_BoolComp832() returns integer { 
    local integer this862
    this_862 = alloc_BoolComp136();
    construct_BoolComp152(this_862);
    return this_862;
}


function construct_BoolComp152(integer this175) { 
    construct_Comparison796(this_175);
    BoolComp_init129(this_175);
}


function Comparison_leq136(integer this151, any t874, any u734) returns boolean { 
    return true;
}


function Comparison_init129(integer this390) { 
}


function construct_Comparison796(integer this176) { 
    Comparison_init129(this_176);
}


function alloc_BoolComp136() returns integer { 
    local integer this206
    if (Comparison_firstFree_107 == 0) {
        if (Comparison_maxIndex_214 < 32768) {
            Comparison_maxIndex_214 = (Comparison_maxIndex_214 + 1);
            this_206 = Comparison_maxIndex_214;
            Comparison_typeId_636[this_206] = 2;
        } else {
            error566("Out of memory: Could not create BoolComp.");
            this_206 = 0;
        };
    } else {
        Comparison_firstFree_107 = (Comparison_firstFree_107 - 1);
        this_206 = Comparison_nextFree_163[Comparison_firstFree_107];
        Comparison_typeId_636[this_206] = 2;
    };
    return this_206;
}


function error566(string msg179) { 
    $debugPrint110((msg_179 + ("
" + #getStackTrace())));
}


function dispatch_Comparison_test_Comparison_leq441(integer this858, any t179, any u121) returns boolean { 
    local boolean test_Comparison_leq_result209
    if (Comparison_typeId_636[this_858] == 0) {
        if (this_858 == 0) {
            error566("Nullpointer exception when calling Comparison.leq");
        } else {
            error566("Called Comparison.leq on invalid object.");
        };
    } else {
    };
    if (Comparison_typeId_636[this_858] <= 1) {
        test_Comparison_leq_result_209 = Comparison_leq136(this_858, t_179, u_121);
    } else {
        test_Comparison_leq_result_209 = test_BoolComp_leq_wrapper175(this_858, t_179, u_121);
    };
    return test_Comparison_leq_result_209;
}