Home Index classes Index static functions Index enumerations Index structure types

{RTTI|_runtime_type_info}


CLASS {RTTI|_runtime_type_info} , UNTESTED, BYTES, ABSTRACT:



IMPORT : {NATIVE_RTTI} , {System_functions} .

                                             

STRUCTURE {type|_descriptor}

      INT Index|_in_global_array_of_all_used_types .



FUNCTION Info_object_type (
     
{Object} Obj|ect_to_get_info ) ==> {type}



FUNCTION Info_type_is_descandant (
     
{type} Desc|endant_or_not ,
     
{type} B|ase_type ) ==> BOOL



FUNCTION Info_count_classes ==> INT



FUNCTION Info_base_class ( {type} Class|_type ) ==> {type}



ENUMERATION {flags_name|_to_get} :

        'SHORT_NAME' ,

        'LONG_NAME' ,

        'BEAM_SEPARATED' .



FUNCTION Info_type_name (
     
{type} Type|_index ,
     
{flags_name} Flags|_to_get_name ) ==> STR



ENUMERATION {type_kind} :

        'RTTI_BOOL' ,

        'RTTI_BYTE' ,

        'RTTI_INT' ,

        'RTTI_REAL' ,

        'RTTI_STR' ,

        'RTTI_ENUM|ERATION' ,

        'RTTI_RECORD|_TYPE' ,

        'RTTI_OBJECT|_OR_CLASS_TYPE' ,

        'RTTI_STRUCTURE' .



FUNCTION Info_type_kind ( {type} Type|_index ) ==> {type_kind}



FUNCTION Info_class_records (
     
{type} Class|_type ,
     
{type} Record|_types [] )



FUNCTION Info_class_enums ( {type} Class|_type , {type} Enum|_types [] )



FUNCTION Info_enum_item ( {type} Enum|_type , INT Index|_item ) ==> STR



FUNCTION Info_enum_count|_items ( {type} Enum|_type ) ==> INT



STRUCTURE {field_index}

      INT Index|_of_field

      INT Item_index|_to_access_items_of_array_if_the_field_is_array .



FUNCTION Info_object_field_count ( {Object} Obj|ect_source ) ==> INT



FUNCTION Info_object_field_name (
     
{Object} Obj|ect_source ,
     
INT Index|_field ) ==> STR



ENUMERATION {kind_info} :

        'TYPE_INDEX' ,

        'IS_ARRAY' ,

        'IS_FIXED|_ARRAY' ,

        'IS_PUBLIC' ,

        'SIZE_ARRAY' .



FUNCTION Info_object_field (
     
{Object} Obj|ect_source ,
     
INT F|ield_index ,
     
{kind_info} What|_info_to_return ) ==> INT



FUNCTION Object_field_array_insert (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes )



FUNCTION Object_field_array_delete (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
INT Count|_to_delete )



FUNCTION Object_field_array_allocate (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
INT Count|_to_allocate )



FUNCTION Object_field_bool_array_remove (
     
{Object} Obj|ect_destination ,
     
INT F|ied_index ,
     
BOOL Value|_to_remove )



FUNCTION Object_field_byte_array_remove (
     
{Object} Obj|ect_destination ,
     
INT F|ied_index ,
     
BYTE Value|_to_remove )



FUNCTION Object_field_int_array_remove (
     
{Object} Obj|ect_destination ,
     
INT F|ied_index ,
     
INT Value|_to_remove )



FUNCTION Object_field_str_array_remove (
     
{Object} Obj|ect_destination ,
     
INT F|ied_index ,
     
STR Value|_to_remove )



FUNCTION Object_field_obj_array_remove (
     
{Object} Obj|ect_destination ,
     
INT F|ied_index ,
     
{Object} Value|_to_remove )



FUNCTION Info_get_bool (
     
{Object} Obj|ect_source ,
     
{field_index} F|ield_index ) ==> BOOL



FUNCTION Info_get_byte (
     
{Object} Obj|ect_source ,
     
{field_index} F|ield_index ) ==> BYTE



FUNCTION Info_get_int (
     
{Object} Obj|ect_source ,
     
{field_index} F|ield_index ) ==> INT



FUNCTION Info_get_real (
     
{Object} Obj|ect_source ,
     
{field_index} F|ield_index ) ==> REAL



FUNCTION Info_get_str|_or_other_type_converted_to_str (
     
{Object} Obj|ect_source ,
     
{field_index} F|ield_indexes ) ==> STR



FUNCTION Info_set_bool (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
BOOL Value|_to_Set ) ==> BOOL



FUNCTION Info_set_byte (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
BYTE Value|_to_Set ) ==> BOOL



FUNCTION Info_set_int (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
INT Value|_to_Set ) ==> BOOL



FUNCTION Info_set_real (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
REAL Value|_to_Set ) ==> BOOL



FUNCTION Info_set_str (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
STR Value|_to_Set ) ==> BOOL



FUNCTION Info_get_object (
     
{Object} Obj|ect_source ,
     
{field_index} F|ield_indexes ) ==> {Object}



FUNCTION Info_set_object (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
{Object} Value|_to_Set ) ==> BOOL



FUNCTION Info_get_record (
     
{Object} Obj|ect_source ,
     
{field_index} F|ield_indexes ) ==> {Object}



FUNCTION Info_set_record (
     
{Object} Obj|ect_destination ,
     
{field_index} F|ield_indexes ,
     
{Object} Value|_to_Set ) ==> BOOL



FUNCTION Info_find_item_bool (
     
{Object} Obj|ect_source ,
     
INT F|ield_index ,
     
BOOL Value|_to_find ) ==> INT



FUNCTION Info_find_item_byte (
     
{Object} Obj|ect_source ,
     
INT F|ield_index ,
     
BYTE Value|_to_find ) ==> INT



FUNCTION Info_find_item_int (
     
{Object} Obj|ect_source ,
     
INT F|ield_index ,
     
INT Value|_to_find ) ==> INT



FUNCTION Info_find_item_str (
     
{Object} Obj|ect_source ,
     
INT F|ield_index ,
     
STR Value|_to_find ) ==> INT



FUNCTION Info_find_item_obj (
     
{Object} Obj|ect_source ,
     
INT F|ield_index ,
     
{Object} Value|_to_find ) ==> INT


END