Automatic generation produced by ISE Eiffel
note description: "[ Core implementation for root class of test executor. The test evaluator is used by the testing tool to run tests and retrieve results. Any descendant of this class should be used as the root class of an interpreter. Descendants need to provide {EQA_EVALUATOR} information on what test classes/routines are available and be able to create instances of them. ]" author: "" date: "$Date: 2020-05-19 06:46:56 -0800 (Tue, 19 May 2020) $" revision: "$Revision: 104271 $" frozen class interface EQA_EVALUATOR create make -- Initialize Current feature -- Initialization default_create -- Process instances of classes with no creation clause. -- (Default: do nothing.) -- (from ANY) feature -- Access Arguments: ARGUMENTS_32 -- Arguments that were used to start current execution. -- (from EXECUTION_ENVIRONMENT) ensure -- from EXECUTION_ENVIRONMENT instance_free: class attached_type (type_id: INTEGER_32): INTEGER_32 -- Attached version of type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class unchanged_if_attached: is_attached_type (type_id) implies type_id = Result available_cpu_count: NATURAL_32 -- Number of available CPUs. -- (from EXECUTION_ENVIRONMENT) ensure -- from EXECUTION_ENVIRONMENT instance_free: class Bit_type: INTEGER_32 = 8 -- This type is obsolete and is not used anymore. -- (from REFLECTOR_CONSTANTS) boolean_field (i: INTEGER_32; object: ANY): BOOLEAN -- Boolean value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) boolean_field: field_type (i, object) = Boolean_type ensure -- from INTERNAL instance_free: class Boolean_type: INTEGER_32 = 3 -- Abstract type ID for predefined type {BOOLEAN}. -- (from REFLECTOR_CONSTANTS) character_32_field (i: INTEGER_32; object: ANY): CHARACTER_32 -- Character value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) character_32_field: field_type (i, object) = Character_32_type ensure -- from INTERNAL instance_free: class Character_32_type: INTEGER_32 = 12 -- Abstract type ID for predefined type {CHARACTER_32}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `wide_character_type`. -- (from REFLECTOR_CONSTANTS) character_8_field (i: INTEGER_32; object: ANY): CHARACTER_8 -- Character value of i-th field of object -- Was declared in {INTERNAL} as synonym of `character_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) character_8_field: field_type (i, object) = Character_8_type ensure -- from INTERNAL instance_free: class Character_8_type: INTEGER_32 = 2 -- Abstract type ID for predefined type {CHARACTER_8}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `character_type`. -- (from REFLECTOR_CONSTANTS) character_field (i: INTEGER_32; object: ANY): CHARACTER_8 -- Character value of i-th field of object -- Was declared in {INTERNAL} as synonym of `character_8_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) character_8_field: field_type (i, object) = Character_8_type ensure -- from INTERNAL instance_free: class Character_type: INTEGER_32 = 2 -- Abstract type ID for predefined type {CHARACTER_8}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `character_8_type`. -- (from REFLECTOR_CONSTANTS) class_name (object: ANY): STRING_8 -- Name of the class associated with object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class class_name_8_of_type (type_id: INTEGER_32): STRING_8 -- Name of class associated with dynamic type type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class class_name_of_type (type_id: INTEGER_32): STRING_8 -- Name of class associated with dynamic type type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class current_working_path: PATH -- Directory of current execution. -- (from EXECUTION_ENVIRONMENT) ensure -- from EXECUTION_ENVIRONMENT instance_free: class result_not_void: Result /= Void Default_shell: STRING_32 -- Default shell -- (from EXECUTION_ENVIRONMENT) ensure -- from EXECUTION_ENVIRONMENT instance_free: class detachable_type (type_id: INTEGER_32): INTEGER_32 -- Detachable version of type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class unchanged_if_detachable: not is_attached_type (type_id) implies type_id = Result double_field (i: INTEGER_32; object: ANY): REAL_64 -- Double precision value of i-th field of object -- Was declared in {INTERNAL} as synonym of `real_64_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) real_64_field: field_type (i, object) = Real_64_type ensure -- from INTERNAL instance_free: class Double_type: INTEGER_32 = 6 -- Abstract type ID for predefined type {REAL_64}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `real_64_type`. -- (from REFLECTOR_CONSTANTS) dynamic_type (object: separate ANY): INTEGER_32 -- Dynamic type of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class dynamic_type_nonnegative: Result >= 0 Expanded_type: INTEGER_32 = 7 -- Abstract type ID for a non-predefined expanded type. -- (from REFLECTOR_CONSTANTS) field (i: INTEGER_32; object: ANY): detachable ANY -- Object attached to the i-th field of object -- (directly or through a reference) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) not_special: not is_special (object) ensure -- from INTERNAL instance_free: class field_name (i: INTEGER_32; object: ANY): STRING_8 -- Name of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) not_special: not is_special (object) ensure -- from INTERNAL instance_free: class result_exists: Result /= Void field_name_8_of_type (i: INTEGER_32; type_id: INTEGER_32): STRING_8 -- Name of i-th field of dynamic type type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 index_large_enough: i >= 1 index_small_enought: i <= field_count_of_type (type_id) ensure -- from REFLECTOR instance_free: class field_name_of_type (i: INTEGER_32; type_id: INTEGER_32): STRING_8 -- Name of i-th field of dynamic type type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 index_large_enough: i >= 1 index_small_enought: i <= field_count_of_type (type_id) ensure -- from REFLECTOR instance_free: class field_offset (i: INTEGER_32; object: ANY): INTEGER_32 -- Offset of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) not_special: not is_special (object) ensure -- from INTERNAL instance_free: class field_static_type_of_type (i: INTEGER_32; type_id: INTEGER_32): INTEGER_32 -- Static type of declared i-th field of dynamic type type_id -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 index_large_enough: i >= 1 index_small_enough: i <= field_count_of_type (type_id) ensure -- from REFLECTOR instance_free: class field_type_nonnegative: Result >= 0 field_type (i: INTEGER_32; object: ANY): INTEGER_32 -- Abstract type of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) ensure -- from INTERNAL instance_free: class field_type_nonnegative: Result >= 0 field_type_of_type (i: INTEGER_32; type_id: INTEGER_32): INTEGER_32 -- Abstract type of i-th field of dynamic type type_id -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 index_large_enough: i >= 1 index_small_enough: i <= field_count_of_type (type_id) ensure -- from REFLECTOR instance_free: class field_type_nonnegative: Result >= 0 generating_type: TYPE [detachable EQA_EVALUATOR] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty generic_count (obj: ANY): INTEGER_32 -- Number of generic parameter in obj. -- (from INTERNAL) require -- from INTERNAL obj_not_void: obj /= Void ensure -- from INTERNAL instance_free: class generic_count_of_type (type_id: INTEGER_32): INTEGER_32 -- Number of generic parameter in type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class generic_dynamic_type (obj: ANY; i: INTEGER_32): INTEGER_32 -- Dynamic type of generic parameter of object at -- position i. -- (from INTERNAL) require -- from INTERNAL obj_not_void: obj /= Void obj_generic: generic_count (obj) > 0 i_valid: i > 0 and i <= generic_count (obj) ensure -- from INTERNAL instance_free: class dynamic_type_nonnegative: Result >= 0 generic_dynamic_type_of_type (type_id: INTEGER_32; i: INTEGER_32): INTEGER_32 -- Dynamic type of generic parameter of type_id at position i. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 type_id_generic: generic_count_of_type (type_id) > 0 i_valid: i > 0 and i <= generic_count_of_type (type_id) ensure -- from REFLECTOR instance_free: class dynamic_type_nonnegative: Result >= 0 Home_directory_path: detachable PATH -- Directory name corresponding to the home directory. -- (from EXECUTION_ENVIRONMENT) require -- from EXECUTION_ENVIRONMENT home_directory_supported: Operating_environment.home_directory_supported ensure -- from EXECUTION_ENVIRONMENT instance_free: class integer_16_field (i: INTEGER_32; object: ANY): INTEGER_16 -- Integer value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_16_field: field_type (i, object) = Integer_16_type ensure -- from INTERNAL instance_free: class Integer_16_type: INTEGER_32 = 10 -- Abstract type ID for predefined type {INTEGER_16}. -- (from REFLECTOR_CONSTANTS) integer_32_field (i: INTEGER_32; object: ANY): INTEGER_32 -- Integer value of i-th field of object -- Was declared in {INTERNAL} as synonym of `integer_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_32_field: field_type (i, object) = Integer_32_type ensure -- from INTERNAL instance_free: class Integer_32_type: INTEGER_32 = 4 -- Abstract type ID for predefined type {INTEGER_32}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `integer_type`. -- (from REFLECTOR_CONSTANTS) integer_64_field (i: INTEGER_32; object: ANY): INTEGER_64 -- Integer value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_64_field: field_type (i, object) = Integer_64_type ensure -- from INTERNAL instance_free: class Integer_64_type: INTEGER_32 = 11 -- Abstract type ID for predefined type {INTEGER_64}. -- (from REFLECTOR_CONSTANTS) integer_8_field (i: INTEGER_32; object: ANY): INTEGER_8 -- Integer value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_8_field: field_type (i, object) = Integer_8_type ensure -- from INTERNAL instance_free: class Integer_8_type: INTEGER_32 = 9 -- Abstract type ID for predefined type {INTEGER_8}. -- (from REFLECTOR_CONSTANTS) integer_field (i: INTEGER_32; object: ANY): INTEGER_32 -- Integer value of i-th field of object -- Was declared in {INTERNAL} as synonym of `integer_32_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_32_field: field_type (i, object) = Integer_32_type ensure -- from INTERNAL instance_free: class Integer_type: INTEGER_32 = 4 -- Abstract type ID for predefined type {INTEGER_32}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `integer_32_type`. -- (from REFLECTOR_CONSTANTS) item (s: READABLE_STRING_GENERAL): detachable STRING_32 -- Value of s if it is an environment variable and has been set; -- void otherwise. -- (from EXECUTION_ENVIRONMENT) require -- from EXECUTION_ENVIRONMENT s_exists: s /= Void not_has_null_character: not s.has ('%U'.to_character_32) ensure -- from EXECUTION_ENVIRONMENT instance_free: class Max_predefined_type: INTEGER_32 = 16 -- (from REFLECTOR_CONSTANTS) Min_predefined_type: INTEGER_32 = -2 -- (from REFLECTOR_CONSTANTS) natural_16_field (i: INTEGER_32; object: ANY): NATURAL_16 -- NATURAL_16 value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) natural_16_field: field_type (i, object) = Natural_16_type ensure -- from INTERNAL instance_free: class Natural_16_type: INTEGER_32 = 14 -- Abstract type ID for predefined type {NATURAL_16}. -- (from REFLECTOR_CONSTANTS) natural_32_field (i: INTEGER_32; object: ANY): NATURAL_32 -- NATURAL_32 value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) natural_field: field_type (i, object) = Natural_32_type ensure -- from INTERNAL instance_free: class Natural_32_type: INTEGER_32 = 15 -- Abstract type ID for predefined type {NATURAL_32}. -- (from REFLECTOR_CONSTANTS) natural_64_field (i: INTEGER_32; object: ANY): NATURAL_64 -- NATURAL_64 value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) natural_64_field: field_type (i, object) = Natural_64_type ensure -- from INTERNAL instance_free: class Natural_64_type: INTEGER_32 = 16 -- Abstract type ID for predefined type {NATURAL_64}. -- (from REFLECTOR_CONSTANTS) natural_8_field (i: INTEGER_32; object: ANY): NATURAL_8 -- NATURAL_8 value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) natural_8_field: field_type (i, object) = Natural_8_type ensure -- from INTERNAL instance_free: class Natural_8_type: INTEGER_32 = 13 -- Abstract type ID for predefined type {NATURAL_8}. -- (from REFLECTOR_CONSTANTS) None_type: INTEGER_32 = -2 -- Type ID representation for NONE. -- (from REFLECTOR_CONSTANTS) pointer_field (i: INTEGER_32; object: ANY): POINTER -- Pointer value of i-th field of object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) pointer_field: field_type (i, object) = Pointer_type ensure -- from INTERNAL instance_free: class Pointer_type: INTEGER_32 = 0 -- Abstract type ID for predefined type {POINTER}. -- (from REFLECTOR_CONSTANTS) real_32_field (i: INTEGER_32; object: ANY): REAL_32 -- Real value of i-th field of object -- Was declared in {INTERNAL} as synonym of `real_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) real_32_field: field_type (i, object) = Real_32_type ensure -- from INTERNAL instance_free: class Real_32_type: INTEGER_32 = 5 -- Abstract type ID for predefined type {REAL_32}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `real_type`. -- (from REFLECTOR_CONSTANTS) real_64_field (i: INTEGER_32; object: ANY): REAL_64 -- Double precision value of i-th field of object -- Was declared in {INTERNAL} as synonym of `double_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) real_64_field: field_type (i, object) = Real_64_type ensure -- from INTERNAL instance_free: class Real_64_type: INTEGER_32 = 6 -- Abstract type ID for predefined type {REAL_64}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `double_type`. -- (from REFLECTOR_CONSTANTS) real_field (i: INTEGER_32; object: ANY): REAL_32 -- Real value of i-th field of object -- Was declared in {INTERNAL} as synonym of `real_32_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) real_32_field: field_type (i, object) = Real_32_type ensure -- from INTERNAL instance_free: class Real_type: INTEGER_32 = 5 -- Abstract type ID for predefined type {REAL_32}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `real_32_type`. -- (from REFLECTOR_CONSTANTS) reference_field (i: INTEGER_32; object: ANY): detachable ANY -- Reference value of the i-th field of object. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) not_special: not is_special (object) valid_type: field_type (i, object) = Reference_type ensure -- from INTERNAL instance_free: class Reference_type: INTEGER_32 = 1 -- Abstract type ID for a reference type. -- (from REFLECTOR_CONSTANTS) Root_directory_name: STRING_8 -- Directory name corresponding to the root directory. -- (from EXECUTION_ENVIRONMENT) require -- from EXECUTION_ENVIRONMENT root_directory_supported: Operating_environment.root_directory_supported ensure -- from EXECUTION_ENVIRONMENT instance_free: class result_not_void: Result /= Void starting_environment: HASH_TABLE [STRING_32, STRING_32] -- Table of environment variables when current process starts, -- indexed by variable name -- (from EXECUTION_ENVIRONMENT) ensure -- from EXECUTION_ENVIRONMENT instance_free: class result_attached: Result /= Void storable_version_of_type (a_type_id: INTEGER_32): detachable IMMUTABLE_STRING_8 -- Storable version if any specified. -- (from REFLECTOR) require -- from REFLECTOR a_type_id_nonnegative: a_type_id >= 0 ensure -- from REFLECTOR instance_free: class Temporary_directory_path: detachable PATH -- Temporary directory name. -- On Windows: %SystemDrive%\Users\%USERNAME%\AppData\Local\Temp (%USERPROFILE%\AppData\Local\Temp). -- On Unix: /tmp and /var/tmp. -- On VMS: /sys$scratch -- Otherwise Void -- (from EXECUTION_ENVIRONMENT) note eis: "name=temporary path", "src=https://en.wikipedia.org/wiki/Temporary_folder", "protocol=Uri" ensure -- from EXECUTION_ENVIRONMENT instance_free: class type_name_32 (object: ANY): READABLE_STRING_32 -- Name of object's generating type -- (type of which object is a direct instance). -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class type_name_8_of_type (type_id: INTEGER_32): STRING_8 -- Name of type_id's generating type (type of which type_id -- is a direct instance). -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class type_name_of_type (type_id: INTEGER_32): STRING_8 -- Name of type_id's generating type (type of which type_id -- is a direct instance). -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class User_directory_path: detachable PATH -- Directory name corresponding to the user directory -- On Windows: C:\Users\manus\Documents -- On Unix & Mac: $HOME -- Otherwise Void -- (from EXECUTION_ENVIRONMENT) ensure -- from EXECUTION_ENVIRONMENT instance_free: class Wide_character_type: INTEGER_32 = 12 -- Abstract type ID for predefined type {CHARACTER_32}. -- Was declared in {REFLECTOR_CONSTANTS} as synonym of `character_32_type`. -- (from REFLECTOR_CONSTANTS) feature -- Measurement deep_physical_size (object: ANY): INTEGER_32 -- Space occupied by object and its children in bytes -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class deep_physical_size_64 (object: ANY): NATURAL_64 -- Space occupied by object and its children in bytes -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class field_count (object: ANY): INTEGER_32 -- Number of logical fields in object -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class field_count_of_type (type_id: INTEGER_32): INTEGER_32 -- Number of logical fields in dynamic type type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class persistent_field_count (object: ANY): INTEGER_32 -- Number of logical fields in object that are not transient. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class count_positive: Result >= 0 persistent_field_count_of_type (a_type_id: INTEGER_32): INTEGER_32 -- Number of logical fields in dynamic type type_id that are not transient. -- (from REFLECTOR) require -- from REFLECTOR a_type_non_negative: a_type_id >= 0 ensure -- from REFLECTOR instance_free: class physical_size (object: ANY): INTEGER_32 -- Space occupied by object in bytes -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class physical_size_64 (object: separate ANY): NATURAL_64 -- Space occupied by object in bytes -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: EQA_EVALUATOR): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: EQA_EVALUATOR): BOOLEAN -- Is other attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "≜" (other: EQA_EVALUATOR): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void is_attached_type (a_type_id: INTEGER_32): BOOLEAN -- Is a_type_id an attached type? -- (from REFLECTOR) require -- from REFLECTOR a_type_non_negative: a_type_id >= 0 ensure -- from REFLECTOR instance_free: class is_field_expanded (i: INTEGER_32; object: ANY): BOOLEAN -- Is i-th field of object a user-defined expanded attribute? -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) ensure -- from INTERNAL instance_free: class is_field_expanded_of_type (i: INTEGER_32; a_type_id: INTEGER_32): BOOLEAN -- Is i-th field of type a_type_id a user-defined expanded attribute? -- (from REFLECTOR) require -- from REFLECTOR a_type_non_negative: a_type_id >= 0 index_large_enough: i >= 1 index_small_enough: i <= field_count_of_type (a_type_id) ensure -- from REFLECTOR instance_free: class is_field_transient (i: INTEGER_32; object: ANY): BOOLEAN -- Is i-th field of object a transient attribute? -- I.e. an attribute that does not need to be stored? -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) ensure -- from INTERNAL instance_free: class is_field_transient_of_type (i: INTEGER_32; a_type_id: INTEGER_32): BOOLEAN -- Is i-th field of object a transient attribute? -- I.e. an attribute that does not need to be stored? -- (from REFLECTOR) require -- from REFLECTOR a_type_non_negative: a_type_id >= 0 index_large_enough: i >= 1 index_small_enough: i <= field_count_of_type (a_type_id) ensure -- from REFLECTOR instance_free: class is_marked (obj: separate ANY): BOOLEAN -- Is obj marked? -- (from OBJECT_GRAPH_MARKER) require -- from OBJECT_GRAPH_MARKER object_exists: obj /= Void ensure -- from OBJECT_GRAPH_MARKER instance_free: class is_pre_ecma_mapping_disabled: BOOLEAN -- Are we mapping old names to new ECMA names? -- False means mapping STRING to STRING_8, INTEGER to INTEGER_32,... -- Redefine in descendants of REFLECTOR to modify the behavior of inspection queries of REFLECTOR. -- (from REFLECTOR_HELPER) ensure -- from REFLECTOR_HELPER instance_free: class is_special (object: ANY): BOOLEAN -- Is object a special object? -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class is_special_any_type (type_id: INTEGER_32): BOOLEAN -- Is type represented by type_id represent -- a SPECIAL [XX] where XX is a reference type. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class is_special_type (type_id: INTEGER_32): BOOLEAN -- Is type represented by type_id represent -- a SPECIAL [XX] where XX is a reference type -- or a basic expanded type (note that user-defined -- expanded types are excluded). -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class is_tuple (object: ANY): BOOLEAN -- Is object a TUPLE object? -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void ensure -- from INTERNAL instance_free: class is_tuple_type (type_id: INTEGER_32): BOOLEAN -- Is type represented by type_id represent a TUPLE? -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class is_valid_type_string (s: READABLE_STRING_GENERAL): BOOLEAN -- Is s a valid string representation for a TYPE. -- (from REFLECTOR_HELPER) ensure -- from REFLECTOR_HELPER instance_free: class mapped_type (a_type: READABLE_STRING_GENERAL): READABLE_STRING_GENERAL -- If `is_pre_ecma_mapping_disabled` a_type, otherwise -- the mapped typed. -- (from REFLECTOR_HELPER) require -- from REFLECTOR_HELPER a_type_not_void: a_type /= Void ensure -- from REFLECTOR_HELPER instance_free: class mapped_type_not_void: Result /= Void same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) feature -- Status setting change_working_path (path: PATH) -- Set the current directory to path -- (from EXECUTION_ENVIRONMENT) launch (s: READABLE_STRING_GENERAL) -- Pass to the operating system an asynchronous request to -- execute s interpreted as a Unicode string. -- If s is empty, use the default shell as command. -- (from EXECUTION_ENVIRONMENT) require -- from EXECUTION_ENVIRONMENT s_not_void: s /= Void ensure -- from EXECUTION_ENVIRONMENT instance_free: class put (value, key: READABLE_STRING_GENERAL) -- Set the environment variable key to value treating both -- value and key as Unicode characters. -- (from EXECUTION_ENVIRONMENT) require -- from EXECUTION_ENVIRONMENT key_exists: key /= Void key_meaningful: not key.is_empty not_key_has_null_character: not key.has ('%U'.to_character_32) value_exists: value /= Void not_value_has_null_character: not value.has ('%U'.to_character_32) ensure -- from EXECUTION_ENVIRONMENT variable_set: return_code = 0 implies ((value.is_empty and then item (key) = Void) or else not value.is_empty and then attached item (key) as k and then k.same_string_general (value)) sleep (nanoseconds: INTEGER_64) -- Suspend thread execution for interval specified in -- nanoseconds (1 nanosecond = 10^(-9) second). -- (from EXECUTION_ENVIRONMENT) require -- from EXECUTION_ENVIRONMENT non_negative_nanoseconds: nanoseconds >= 0 ensure -- from EXECUTION_ENVIRONMENT instance_free: class system (s: READABLE_STRING_GENERAL) -- Pass to the operating system a request to execute s interpreted as a Unicode string. -- If s is empty, use the default shell as command. -- (from EXECUTION_ENVIRONMENT) require -- from EXECUTION_ENVIRONMENT s_exists: s /= Void feature -- Element change set_boolean_field (i: INTEGER_32; object: ANY; value: BOOLEAN) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) boolean_field: field_type (i, object) = Boolean_type ensure -- from INTERNAL instance_free: class set_character_32_field (i: INTEGER_32; object: ANY; value: CHARACTER_32) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) character_32_field: field_type (i, object) = Character_32_type ensure -- from INTERNAL instance_free: class set_character_8_field (i: INTEGER_32; object: ANY; value: CHARACTER_8) -- Was declared in {INTERNAL} as synonym of `set_character_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) character_8_field: field_type (i, object) = Character_8_type ensure -- from INTERNAL instance_free: class set_character_field (i: INTEGER_32; object: ANY; value: CHARACTER_8) -- Was declared in {INTERNAL} as synonym of `set_character_8_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) character_8_field: field_type (i, object) = Character_8_type ensure -- from INTERNAL instance_free: class set_double_field (i: INTEGER_32; object: ANY; value: REAL_64) -- Was declared in {INTERNAL} as synonym of `set_real_64_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) real_64_field: field_type (i, object) = Real_64_type ensure -- from INTERNAL instance_free: class set_integer_16_field (i: INTEGER_32; object: ANY; value: INTEGER_16) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_16_field: field_type (i, object) = Integer_16_type ensure -- from INTERNAL instance_free: class set_integer_32_field (i: INTEGER_32; object: ANY; value: INTEGER_32) -- Was declared in {INTERNAL} as synonym of `set_integer_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_32_field: field_type (i, object) = Integer_32_type ensure -- from INTERNAL instance_free: class set_integer_64_field (i: INTEGER_32; object: ANY; value: INTEGER_64) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_64_field: field_type (i, object) = Integer_64_type ensure -- from INTERNAL instance_free: class set_integer_8_field (i: INTEGER_32; object: ANY; value: INTEGER_8) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_8_field: field_type (i, object) = Integer_8_type ensure -- from INTERNAL instance_free: class set_integer_field (i: INTEGER_32; object: ANY; value: INTEGER_32) -- Was declared in {INTERNAL} as synonym of `set_integer_32_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) integer_32_field: field_type (i, object) = Integer_32_type ensure -- from INTERNAL instance_free: class set_natural_16_field (i: INTEGER_32; object: ANY; value: NATURAL_16) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) natural_16_field: field_type (i, object) = Natural_16_type ensure -- from INTERNAL instance_free: class set_natural_32_field (i: INTEGER_32; object: ANY; value: NATURAL_32) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) natural_32_field: field_type (i, object) = Natural_32_type ensure -- from INTERNAL instance_free: class set_natural_64_field (i: INTEGER_32; object: ANY; value: NATURAL_64) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) natural_64_field: field_type (i, object) = Natural_64_type ensure -- from INTERNAL instance_free: class set_natural_8_field (i: INTEGER_32; object: ANY; value: NATURAL_8) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) natural_8_field: field_type (i, object) = Natural_8_type ensure -- from INTERNAL instance_free: class set_pointer_field (i: INTEGER_32; object: ANY; value: POINTER) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) pointer_field: field_type (i, object) = Pointer_type ensure -- from INTERNAL instance_free: class set_real_32_field (i: INTEGER_32; object: ANY; value: REAL_32) -- Was declared in {INTERNAL} as synonym of `set_real_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) real_32_field: field_type (i, object) = Real_32_type ensure -- from INTERNAL instance_free: class set_real_64_field (i: INTEGER_32; object: ANY; value: REAL_64) -- Was declared in {INTERNAL} as synonym of `set_double_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) real_64_field: field_type (i, object) = Real_64_type ensure -- from INTERNAL instance_free: class set_real_field (i: INTEGER_32; object: ANY; value: REAL_32) -- Was declared in {INTERNAL} as synonym of `set_real_32_field`. -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) real_32_field: field_type (i, object) = Real_32_type ensure -- from INTERNAL instance_free: class set_reference_field (i: INTEGER_32; object: ANY; value: detachable ANY) -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void index_large_enough: i >= 1 index_small_enough: i <= field_count (object) reference_field: field_type (i, object) = Reference_type valid_value: is_attached_type (field_static_type_of_type (i, dynamic_type (object))) implies value /= Void value_conforms_to_field_static_type: value /= Void implies field_conforms_to (dynamic_type (value), field_static_type_of_type (i, dynamic_type (object))) ensure -- from INTERNAL instance_free: class feature -- Duplication copy (other: EQA_EVALUATOR) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: EQA_EVALUATOR) -- Effect equivalent to that of: -- `copy` (other . `deep_twin`) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: EQA_EVALUATOR -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: EQA_EVALUATOR) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: EQA_EVALUATOR -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: EQA_EVALUATOR -- New object equal to Current -- `twin` calls `copy`; to change copying/twinning semantics, redefine `copy`. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable EQA_EVALUATOR -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.`default` for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Conformance field_conforms_to (a_source_type, a_field_type: INTEGER_32): BOOLEAN -- Does a_source_type conform to a_field_type? -- (from REFLECTOR) require -- from REFLECTOR a_source_type_non_negative: a_source_type >= 0 a_field_type_non_negative: a_field_type >= 0 ensure -- from REFLECTOR instance_free: class is_instance_of (object: ANY; type_id: INTEGER_32): BOOLEAN -- Is object an instance of type type_id? -- (from INTERNAL) require -- from INTERNAL object_not_void: object /= Void type_id_nonnegative: type_id >= 0 ensure -- from INTERNAL instance_free: class type_conforms_to (type1, type2: INTEGER_32): BOOLEAN -- Does type1 conform to type2? -- (from REFLECTOR) require -- from REFLECTOR type1_nonnegative: type1 >= 0 type2_nonnegative: type2 >= 0 ensure -- from REFLECTOR instance_free: class feature -- Creation dynamic_type_from_string (class_type: READABLE_STRING_GENERAL): INTEGER_32 -- Dynamic type corresponding to class_type. -- If no dynamic type available, returns -1. -- (from REFLECTOR) require -- from REFLECTOR class_type_not_void: class_type /= Void class_type_not_empty: not class_type.is_empty is_valid_type_string: is_valid_type_string (class_type) ensure -- from REFLECTOR instance_free: class dynamic_type_from_string_valid: Result = -1 or Result = None_type or Result >= 0 new_instance_of (type_id: INTEGER_32): ANY -- New instance of dynamic type_id. -- Note: returned object is not initialized and may -- hence violate its invariant. -- type_id cannot represent a SPECIAL type, use -- `new_special_any_instance` instead. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 not_special_type: not is_special_type (type_id) not_deferred: not type_of_type (type_id).is_deferred ensure -- from REFLECTOR instance_free: class not_special_type: not attached {SPECIAL [detachable ANY]} Result dynamic_type_set: attached_type (Result.generating_type.type_id) = attached_type (type_id) new_special_any_instance (type_id, a_capacity: INTEGER_32): SPECIAL [detachable ANY] -- New instance of dynamic type_id that represents -- a SPECIAL which can contain a_capacity elements of reference type. -- To create a SPECIAL of basic type, use class SPECIAL directly. -- (from REFLECTOR) require -- from REFLECTOR a_capacity_valid: a_capacity >= 0 type_id_nonnegative: type_id >= 0 special_type: is_special_any_type (type_id) ensure -- from REFLECTOR instance_free: class dynamic_type_set: Result.generating_type.type_id = type_id count_set: Result.count = 0 capacity_set: Result.capacity = a_capacity new_tuple_from_special (type_id: INTEGER_32; values: SPECIAL [detachable separate ANY]): detachable TUPLE -- New instance of a tuple of type type_id filled with values if all types of items are suitable. -- Void if some items from values are inappropriate for a tuple of type type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 is_tuple_type: is_tuple_type (type_id) ensure -- from REFLECTOR instance_free: class dynamic_type_set: attached Result implies Result.generating_type.type_id = type_id values_set: attached Result implies ∀ k: 1 |..| Result.count ¦ Result.item (k) = values [k - 1] new_tuple_from_tuple (type_id: INTEGER_32; source: separate TUPLE): detachable TUPLE -- New instance of a tuple of type type_id filled with values fom source if all value types are suitable. -- Void if some values from source are inappropriate for a tuple of type type_id. -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 is_tuple_type: is_tuple_type (type_id) ensure -- from REFLECTOR instance_free: class dynamic_type_set: attached Result implies Result.generating_type.type_id = type_id object_comparison_set: attached Result implies Result.object_comparison = source.object_comparison values_set: attached Result implies ∀ k: 1 |..| Result.count ¦ Result.item (k) = source [k] type_of (object: detachable ANY): TYPE [detachable ANY] -- Associated TYPE instance of object. -- (from INTERNAL) ensure -- from INTERNAL instance_free: class result_not_void: Result /= Void type_of_type (type_id: INTEGER_32): TYPE [detachable ANY] -- Associated TYPE instance for an object of type id type_id -- (from REFLECTOR) require -- from REFLECTOR type_id_nonnegative: type_id >= 0 ensure -- from REFLECTOR instance_free: class result_not_void: Result /= Void feature -- Marking lock_marking -- Get a lock on `mark` and `unmark` routine so that 2 threads cannot `mark` and -- `unmark` at the same time. -- (from OBJECT_GRAPH_MARKER) ensure -- from OBJECT_GRAPH_MARKER instance_free: class mark (obj: separate ANY) -- Mark object obj. -- To be thread safe, make sure to call this feature when you -- have the marking lock that you acquire using `lock_marking`. -- (from OBJECT_GRAPH_MARKER) require -- from OBJECT_GRAPH_MARKER object_not_void: obj /= Void ensure -- from OBJECT_GRAPH_MARKER instance_free: class is_marked: is_marked (obj) unlock_marking -- Release a lock on `mark` and `unmark`, so that another thread can -- use `mark` and `unmark`. -- (from OBJECT_GRAPH_MARKER) ensure -- from OBJECT_GRAPH_MARKER instance_free: class unmark (obj: separate ANY) -- Unmark object obj. -- To be thread safe, make sure to call this feature when you -- have the marking lock that you acquire using `lock_marking`. -- (from OBJECT_GRAPH_MARKER) require -- from OBJECT_GRAPH_MARKER object_not_void: obj /= Void ensure -- from OBJECT_GRAPH_MARKER instance_free: class is_not_marked: not is_marked (obj) feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void feature -- Retrieval frozen internal_correct_mismatch -- Called from runtime to perform a proper dynamic dispatch on correct_mismatch -- from MISMATCH_CORRECTOR. -- (from ANY) feature -- Serialization routines basic_store (an_object: ANY; a_writer: SED_READER_WRITER; a_optimized_for_retrieval: BOOLEAN) -- Serialization of an_object using a_writer. -- Object stored can only be retrieved by execution of same program executable. -- (from SED_STORABLE_FACILITIES) require -- from SED_STORABLE_FACILITIES an_object_not_void: an_object /= Void a_writer_not_void: a_writer /= Void a_writer_ready: a_writer.is_ready_for_writing retrieved (a_reader: SED_READER_WRITER; a_is_gc_enabled: BOOLEAN): detachable ANY -- Deserialization of object from a_reader. -- Garbage collection will be enabled if a_is_gc_enabled. -- (from SED_STORABLE_FACILITIES) require -- from SED_STORABLE_FACILITIES a_reader_not_void: a_reader /= Void a_reader_ready: a_reader.is_ready_for_reading retrieved_errors: detachable ARRAYED_LIST [SED_ERROR] -- Errors set from last call to `retrieved`. -- (from SED_STORABLE_FACILITIES) retrieved_from_medium (a_medium: IO_MEDIUM): detachable ANY -- Deserialization of object from a_reader. -- (from SED_STORABLE_FACILITIES) require -- from SED_STORABLE_FACILITIES a_medium_not_void: a_medium /= Void a_medium_open_for_reading: a_medium.is_open_read a_medium_support_storable: a_medium.support_storable session_store (an_object: ANY; a_writer: SED_READER_WRITER; a_optimized_for_retrieval: BOOLEAN) -- Serialization of an_object using a_writer. -- Object stored can only be retrieved during current program execution. -- (from SED_STORABLE_FACILITIES) require -- from SED_STORABLE_FACILITIES an_object_not_void: an_object /= Void a_writer_not_void: a_writer /= Void a_writer_ready: a_writer.is_ready_for_writing store (an_object: ANY; a_writer: SED_READER_WRITER) -- Serialization of an_object using a_writer. -- Object stored can only be retrieved by programs having the same set of types. -- (from SED_STORABLE_FACILITIES) require -- from SED_STORABLE_FACILITIES an_object_not_void: an_object /= Void a_writer_not_void: a_writer /= Void a_writer_ready: a_writer.is_ready_for_writing store_in_medium (an_object: ANY; a_medium: IO_MEDIUM) -- Serialization of an_object in a_medium -- Object stored can only be retrieved by programs having the same set of types. -- (from SED_STORABLE_FACILITIES) require -- from SED_STORABLE_FACILITIES an_object_not_void: an_object /= Void a_medium_not_void: a_medium /= Void a_medium_writable: a_medium.is_open_write a_medium_support_storable: a_medium.support_storable feature -- Status return_code: INTEGER_32 -- Status code set by last call to `system` or `put` -- (from EXECUTION_ENVIRONMENT) feature -- Storable type Eiffel_basic_store: NATURAL_32 = 2 -- (from SED_STORABLE_FACILITIES) Eiffel_independent_store: NATURAL_32 = 3 -- (from SED_STORABLE_FACILITIES) Eiffel_recoverable_store: NATURAL_32 = 4 -- Various type of storable mechanism. -- (from SED_STORABLE_FACILITIES) Eiffel_session_store: NATURAL_32 = 1 -- (from SED_STORABLE_FACILITIES) feature -- Version compiler_version: INTEGER_32 -- (from REFLECTOR) ensure -- from REFLECTOR instance_free: class invariant -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2020, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 5949 Hollister Ave., Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class EQA_EVALUATOR -- Generated by Eiffel Studio --
For more details: eiffel.org