Automatic generation produced by ISE Eiffel
note description: "[ Objects that are able to run tests in a protected environment and provide information whether the test has failed or succeeded. Note: Evaluator is not able to recover from all exceptions. Tests causing seg-faults or out-of- memory exceptions might put evaluator in an unstable state. ]" author: "fivaa" date: "$Date: 2020-05-19 06:46:56 -0800 (Tue, 19 May 2020) $" revision: "$Revision: 104271 $" class interface EQA_TEST_EVALUATOR [G -> EQA_TEST_SET create default_create end] create default_create -- Process instances of classes with no creation clause. -- (Default: do nothing.) -- (from ANY) 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) Check_instruction: INTEGER_32 = 7 -- Exception code for violated check -- (from EXCEP_CONST) Class_invariant: INTEGER_32 = 6 -- Exception code for violated class invariant -- (from EXCEP_CONST) 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 Com_exception: INTEGER_32 = 28 -- Exception code for a COM error. -- (from EXCEP_CONST) Create_on_deferred: INTEGER_32 = 17 -- Create on deferred -- (from EXCEP_CONST) 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 Developer_exception: INTEGER_32 = 24 -- Exception code for developer exception -- (from EXCEP_CONST) Dollar_applied_to_melted_feature: INTEGER_32 = 26 -- $ applied to melted feature -- (from EXCEP_CONST) 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 Eiffel_runtime_fatal_error: INTEGER_32 = 25 -- Eiffel run-time fatal error -- (from EXCEP_CONST) Eiffel_runtime_panic: INTEGER_32 = 13 -- Eiffel run-time panic -- (from EXCEP_CONST) Exception_in_signal_handler: INTEGER_32 = 20 -- Exception in signal handler -- (from EXCEP_CONST) Exception_manager: EXCEPTION_MANAGER -- Exception manager -- (from EXCEPTION_MANAGER_FACTORY) ensure -- from EXCEPTION_MANAGER_FACTORY instance_free: class exception_manager_not_void: Result /= Void Expanded_type: INTEGER_32 = 7 -- Abstract type ID for a non-predefined expanded type. -- (from REFLECTOR_CONSTANTS) External_exception: INTEGER_32 = 18 -- Exception code for operating system error -- which does not set the errno variable -- (Unix-specific) -- (from EXCEP_CONST) 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 Floating_point_exception: INTEGER_32 = 5 -- Exception code for floating point exception -- (from EXCEP_CONST) generating_type: TYPE [detachable EQA_TEST_EVALUATOR [G]] -- 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 Incorrect_inspect_value: INTEGER_32 = 9 -- Exception code for inspect value which is not one -- of the inspect constants, if there is no Else_part -- (from EXCEP_CONST) 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) Io_exception: INTEGER_32 = 21 -- Exception code for I/O error -- (from EXCEP_CONST) 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 Loop_invariant: INTEGER_32 = 11 -- Exception code for violated loop invariant -- (from EXCEP_CONST) Loop_variant: INTEGER_32 = 10 -- Exception code for non-decreased loop variant -- (from EXCEP_CONST) 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) No_more_memory: INTEGER_32 = 2 -- Exception code for failed memory allocation -- (from EXCEP_CONST) None_type: INTEGER_32 = -2 -- Type ID representation for NONE. -- (from REFLECTOR_CONSTANTS) Number_of_codes: INTEGER_32 = 31 -- How many codes are there to represent exceptions? -- (from EXCEP_CONST) Old_exception: INTEGER_32 = 30 -- Old exception code. -- (from EXCEP_CONST) Operating_system_exception: INTEGER_32 = 22 -- Exception code for operating system error -- which sets the errno variable -- (Unix-specific) -- (from EXCEP_CONST) Out_of_memory: INTEGER_32 = 15 -- Out of memory (cannot be ignored) -- (from EXCEP_CONST) 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) Postcondition: INTEGER_32 = 4 -- Exception code for violated postcondition -- (from EXCEP_CONST) Precondition: INTEGER_32 = 3 -- Exception code for violated precondition -- (from EXCEP_CONST) 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) Rescue_exception: INTEGER_32 = 14 -- Exception code for exception in rescue clause -- (from EXCEP_CONST) Resumption_failed: INTEGER_32 = 16 -- Resumption failed (retry did not succeed) -- (from EXCEP_CONST) Retrieve_exception: INTEGER_32 = 23 -- Exception code for retrieval error -- may be raised by retrieved in IO_MEDIUM. -- (from EXCEP_CONST) 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 Routine_failure: INTEGER_32 = 8 -- Exception code for failed routine -- (from EXCEP_CONST) Runtime_check_exception: INTEGER_32 = 29 -- Exception code for runtime check being violated. -- (from EXCEP_CONST) Runtime_io_exception: INTEGER_32 = 27 -- Exception code for I/O error raised by runtime functions -- such as store/retrieve, file access... -- (from EXCEP_CONST) Serialization_exception: INTEGER_32 = 31 -- Serialization exception code. -- (from EXCEP_CONST) Signal_exception: INTEGER_32 = 12 -- Exception code for operating system signal -- (from EXCEP_CONST) 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 valid_code (c: INTEGER_32): BOOLEAN -- Is c a valid code to represent some kind of exceptions? -- (from EXCEP_CONST) Void_assigned_to_expanded: INTEGER_32 = 19 -- Exception code for assignment of void value -- to expanded entity -- (from EXCEP_CONST) Void_call_target: INTEGER_32 = 1 -- Exception code for feature applied to void reference -- (from EXCEP_CONST) 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_TEST_EVALUATOR [G]): 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_TEST_EVALUATOR [G]): 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_TEST_EVALUATOR [G]): 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 assertion_violation: BOOLEAN -- Is last exception originally due to a violated -- assertion or non-decreasing variant? -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class exception_class_name: detachable STRING_8 -- Name of the class that includes the recipient -- of original form of last exception -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class 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 developer_exception_name: detachable STRING_8 -- Name of last developer-raised exception -- (from EXCEPTIONS) require -- from EXCEPTIONS applicable: is_developer_exception ensure -- from EXCEPTIONS instance_free: class exception: INTEGER_32 -- Code of last exception that occurred -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class exception_trace: detachable STRING_8 -- String representation of the exception trace -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class 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_developer_exception: BOOLEAN -- Is the last exception originally due to -- a developer exception? -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class is_developer_exception_of_name (name: detachable STRING_8): BOOLEAN -- Is the last exception originally due to a developer -- exception of name name? -- (from EXCEPTIONS) ensure -- from EXCEPTIONS 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_signal: BOOLEAN -- Is last exception originally due to an external -- event (operating system signal)? -- (from EXCEPTIONS) ensure -- from EXCEPTIONS 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_system_exception: BOOLEAN -- Is last exception originally due to an -- external event (operating system error)? -- (from EXCEPTIONS) ensure -- from EXCEPTIONS 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 meaning (except: INTEGER_32): detachable STRING_8 -- A message in English describing what except is -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class original_class_name: detachable STRING_8 -- Name of the class that includes the recipient -- of original form of last exception -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class original_exception: INTEGER_32 -- Original code of last exception that triggered -- current exception -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class original_recipient_name: detachable STRING_8 -- Name of the routine whose execution was -- interrupted by original form of last exception -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class original_tag_name: detachable STRING_8 -- Assertion tag for original form of last -- assertion violation. -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class recipient_name: detachable STRING_8 -- Name of the routine whose execution was -- interrupted by last exception -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class 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)) tag_name: detachable STRING_8 -- Tag of last violated assertion clause -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class feature -- Status setting catch (code: INTEGER_32) -- Make sure that any exception of code code will be -- caught. This is the default. -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class change_working_path (path: PATH) -- Set the current directory to path -- (from EXECUTION_ENVIRONMENT) die (code: INTEGER_32) -- Terminate execution with exit status code, -- without triggering an exception. -- (from EXCEPTIONS) ensure -- from EXCEPTIONS False instance_free: class ignore (code: INTEGER_32) -- Make sure that any exception of code code will be -- ignored. This is not the default. -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class 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 message_on_failure -- Print an exception history table -- in case of failure. -- This is the default. -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class no_message_on_failure -- Do not print an exception history table -- in case of failure. -- (from EXCEPTIONS) ensure -- from EXCEPTIONS 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)) raise (name: detachable READABLE_STRING_GENERAL) -- Raise a developer exception of name name. -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class raise_retrieval_exception (name: detachable READABLE_STRING_GENERAL) -- Raise a retrieval exception of name name. -- (from EXCEPTIONS) ensure -- from EXCEPTIONS instance_free: class 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_TEST_EVALUATOR [G]) -- 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_TEST_EVALUATOR [G]) -- 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_TEST_EVALUATOR [G] -- 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_TEST_EVALUATOR [G]) -- 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_TEST_EVALUATOR [G] -- 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_TEST_EVALUATOR [G] -- 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_TEST_EVALUATOR [G] -- 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 -- Execution frozen execute (a_routine: PROCEDURE [EQA_TEST_SET]): EQA_PARTIAL_RESULT -- Run full test sequence for given test set and test procedure. This includes invoking set_up -- on the {TEST_SET} instance, then calling the procedure providing the test set as an operand -- and finally invoking tear_down on the test set. -- -- Note: If an exception occurs, last_exception will be True and last_exception will provide -- the raised exception. If the exception occurs during set_up, both the procedure and -- tear_down will not be invoked. If the exception occurs during the actual test -- procedure, tear_down still gets invoked. If both the test procedure and tear_down -- raise an exception only the test procedure exception will be stored. -- -- a_routine: Agent which invokes actual test routine. ensure result_attached: 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 -- Status return_code: INTEGER_32 -- Status code set by last call to `system` or `put` -- (from EXECUTION_ENVIRONMENT) 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_TEST_EVALUATOR -- Generated by Eiffel Studio --
For more details: eiffel.org