# Used for ObjC multiple inheritance tests
first_listener = interface +o {
    first();
}

# Used for ObjC multiple inheritance tests
second_listener = interface +o {
    second();
}

# Tester for the ability to call two interfaces which might be
# implemented on the same object.  That's not relevant in all
# languages, due to the details of multiple inheritance and object
# comparison.
listener_caller = interface +c {
    static init(first_l: first_listener, second_l: second_listener): listener_caller;
    callFirst();
    callSecond();
}


# Used for C++ multiple inheritance tests
return_one = interface +c {
    static get_instance(): return_one;
    return_one(): i8;
}

# Used for C++ multiple inheritance tests
return_two = interface +c {
    static get_instance(): return_two;
    return_two(): i8;
}
