enum Test.Enum_Ex { first = 0, second, third, fourth } struct Test.Struct_Ex { value_int: int; value_enum: Test.Enum_Ex; } class Test.Object (Eo.Base) { legacy_prefix: null; methods { method_integral_in_a_check { [[ tests integral in ]] params { a: int; } } method_integral_out_a_check { [[ tests integral out ]] params { @out a: int; } } method_integral_inout_check { [[ tests integral inout ]] params { @inout a: int; } } method_integral_return_a_check { [[ tests integral result ]] return: int; } method_div_mod_check { [[ tests mixed in, outs and result ]] params { a: int; b: int; @out quotient: int; @out remainder: int; } return: bool; } method_and_check { [[ tests boolean ]] params { a: bool; b: bool; } return: bool; } method_modf_check { [[ tests floating point ]] params { a: double; @out int_part: double; } return: double; } method_uppercase_check { [[ tests string ]] params { @inout str: char*; } } method_in_null_check { [[ tests null input ]] params { a: char*; } return: bool; } method_out_null_check { [[ tests null output ]] params { @out a: char*; } return: bool; } method_inout_null_check { [[ tests null output ]] params { @inout a: char*; } return: bool; } method_return_null_check { [[ tests null return ]] return: char*; } method_null_check { [[ tests null values ]] params { in: char*; @out out: char*; @inout inout: char*; } return: char*; } method_array_at_check { [[ tests array ]] params { array: array*; index: int; } return: int; } method_array_with_42_check { [[ tests parameters ]] return: free(own(array *), eina_array_free) @warn_unused; } method_array_in_array_out_check { [[ tests parameters ]] params { @in a_in: array *; @out a_out: array *; } } method_array_of_objects_check { params { @in a_in: array *; } return: array *; } method_array_of_strings_check { params { @in a_in: array *; } return: array *; } method_array_of_ints_check { params { @in a_in: array *; } return: array *; } method_array_of_bools_check { params { @in a_in: array *; } return: array *; } method_array_of_doubles_check { params { @in a_in: array *; } return: array *; } method_array_of_enums_check { params { @in a_in: array *; } return: array *; } method_array_of_structs_check { params { @in a_in: array *; } return: array *; } method_list_with_42_check { [[ tests parameters ]] return: free(own(list *), eina_list_free) @warn_unused; } method_list_in_list_out_check { [[ tests parameters ]] params { @in l_in: list *; @out l_out: list *; } } method_list_of_objects_check { params { @in l_in: list *; } return: list *; } method_list_of_strings_check { params { @in l_in: list *; } return: list *; } method_list_of_ints_check { params { @in l_in: list *; } return: list *; } method_list_of_bools_check { params { @in l_in: list *; } return: list *; } method_list_of_doubles_check { params { @in l_in: list *; } return: list *; } method_list_of_enums_check { params { @in l_in: list *; } return: list *; } method_list_of_structs_check { params { @in l_in: list *; } return: list *; } method_accessor_of_objects_check { params { @in a_in: accessor *; } return: accessor *; } method_accessor_of_strings_check { params { @in a_in: accessor *; } return: accessor *; } method_accessor_of_ints_check { params { @in a_in: accessor *; } return: accessor *; } method_accessor_of_bools_check { params { @in a_in: accessor *; } return: accessor *; } method_accessor_of_doubles_check { params { @in a_in: accessor *; } return: accessor *; } method_accessor_of_enums_check { params { @in a_in: accessor *; } return: accessor *; } method_accessor_of_structs_check { params { @in a_in: accessor *; } return: accessor *; } method_iterator_of_objects_check { params { @in i_in: iterator *; } return: iterator *; } method_iterator_of_strings_check { params { @in i_in: iterator *; } return: iterator *; } method_iterator_of_ints_check { params { @in i_in: iterator *; } return: iterator *; } method_iterator_of_bools_check { params { @in i_in: iterator *; } return: iterator *; } method_iterator_of_doubles_check { params { @in i_in: iterator *; } return: iterator *; } method_iterator_of_enums_check { params { @in i_in: iterator *; } return: iterator *; } method_iterator_of_structs_check { params { @in i_in: iterator *; } return: iterator *; } method_array_of_arrays_of_ints_check { params { @in a_in: array *> *; } return: array *> *; } method_list_of_lists_of_ints_check { params { @in l_in: list *> *; } return: list *> *; } method_array_of_lists_of_ints_check { params { @in a_in: array *> *; } return: array *> *; } method_list_of_arrays_of_ints_check { params { @in l_in: list *> *; } return: list *> *; } method_list_with_opaque_elements_check { return: const(list)*; } method_in_enum_return_enum_check { params { e: Test.Enum_Ex; } return: Test.Enum_Ex; } method_in_struct_return_struct_check { params { e: Test.Struct_Ex *; } return: Test.Struct_Ex *; } event_emit { } event_repeated_event_name { } } implements { Eo.Base.finalize; Eo.Base.constructor; Eo.Base.destructor; } events { test; test,structarg: Test.Struct_Ex; test,stringarg: const(char)*; repeated,event,name; } }