Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "Common ancestor for object inspection." date: "$Date: 2020-05-19 06:29:33 -0800 (Tue, 19 May 2020) $" revision: "$Revision: 104259 $" deferred class interface REFLECTED_OBJECT feature -- Access Bit_type: INTEGER_32 = 8 -- This type is obsolete and is not used anymore. -- (from REFLECTOR_CONSTANTS) Boolean_type: INTEGER_32 = 3 -- Abstract type ID for predefined type BOOLEAN. -- (from REFLECTOR_CONSTANTS) 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_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_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: STRING_8 -- Name of the class associated with object 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: INTEGER_32 -- Dynamic type of object Expanded_type: INTEGER_32 = 7 -- Abstract type ID for a non-predefined expanded type. -- (from REFLECTOR_CONSTANTS) field (i: INTEGER_32): detachable ANY -- Object attached to the i-th field of object -- (directly or through a reference) -- Use specific version of xxx_field to get best performance. require index_large_enough: i >= 1 index_small_enough: i <= field_count not_special: not is_special generating_type: TYPE [detachable REFLECTED_OBJECT] -- 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: INTEGER_32 -- Number of generic parameter in base type of object. generic_dynamic_type (i: INTEGER_32): INTEGER_32 -- Dynamic type of generic parameter of object at -- position i. require object_generic: generic_count > 0 i_valid: i > 0 and i <= generic_count ensure dynamic_type_nonnegative: Result >= 0 Integer_16_type: INTEGER_32 = 10 -- Abstract type ID for predefined type INTEGER_16. -- (from REFLECTOR_CONSTANTS) 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_type: INTEGER_32 = 11 -- Abstract type ID for predefined type INTEGER_64. -- (from REFLECTOR_CONSTANTS) Integer_8_type: INTEGER_32 = 9 -- Abstract type ID for predefined type INTEGER_8. -- (from REFLECTOR_CONSTANTS) 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) Max_predefined_type: INTEGER_32 = 16 -- (from REFLECTOR_CONSTANTS) Min_predefined_type: INTEGER_32 = -2 -- (from REFLECTOR_CONSTANTS) Natural_16_type: INTEGER_32 = 14 -- Abstract type ID for predefined type NATURAL_16. -- (from REFLECTOR_CONSTANTS) Natural_32_type: INTEGER_32 = 15 -- Abstract type ID for predefined type NATURAL_32. -- (from REFLECTOR_CONSTANTS) Natural_64_type: INTEGER_32 = 16 -- Abstract type ID for predefined type NATURAL_64. -- (from REFLECTOR_CONSTANTS) 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) object: ANY -- Associated object for Current. -- It might be a copy if Current is expanded. Pointer_type: INTEGER_32 = 0 -- Abstract type ID for predefined type POINTER. -- (from REFLECTOR_CONSTANTS) 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_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_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): detachable ANY -- Object attached to the i-th field of object -- (directly or through a reference) require index_large_enough: i >= 1 index_small_enough: i <= field_count not_special: not is_special reference_field: field_type (i) = Reference_type or field_type (i) = Expanded_type Reference_type: INTEGER_32 = 1 -- Abstract type ID for a reference type. -- (from REFLECTOR_CONSTANTS) type_name: STRING_8 -- Name of object's generating type (type of which object -- is a direct instance). 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: INTEGER_32 -- Space occupied by object and its children in bytes deep_physical_size_64: NATURAL_64 -- Space occupied by object and its children in bytes field_count: INTEGER_32 -- Number of logical fields in object persistent_field_count: INTEGER_32 -- Number of logical fields in object that are not transient. ensure count_positive: Result >= 0 physical_size: INTEGER_32 -- Space occupied by object in bytes physical_size_64: NATURAL_64 -- Space occupied by object in bytes 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: REFLECTED_OBJECT): 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: REFLECTED_OBJECT): 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: REFLECTED_OBJECT): 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 boolean_field (i: INTEGER_32): BOOLEAN -- Boolean value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count boolean_field: field_type (i) = Boolean_type character_32_field (i: INTEGER_32): CHARACTER_32 -- CHARACTER_32 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count character_32_field: field_type (i) = Character_32_type character_8_field (i: INTEGER_32): CHARACTER_8 -- CHARACTER_8 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count character_8_field: field_type (i) = Character_8_type 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 copy_semantics_field (i: INTEGER_32): REFLECTED_COPY_SEMANTICS_OBJECT -- Object attached to the i-th field of object -- (directly or through a reference) require index_large_enough: i >= 1 index_small_enough: i <= field_count not_special: not is_special reference_field: field_type (i) = Reference_type and is_copy_semantics_field (i) expanded_field (i: INTEGER_32): REFLECTED_OBJECT -- Object representation of the i-th field of object -- which is expanded. We provide a wrapper that enables -- direct editing of the field without duplicating -- the expanded object. require index_large_enough: i >= 1 index_small_enough: i <= field_count expanded_field: field_type (i) = Expanded_type not_special: not is_special field_conforms_to (a_source_type, a_field_type: INTEGER_32): BOOLEAN -- Does a_source_type conform to a_field_type? require a_source_type_non_negative: a_source_type >= 0 a_field_type_non_negative: a_field_type >= 0 field_name (i: INTEGER_32): STRING_8 -- Name of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count not_special: not is_special ensure result_exists: Result /= Void field_offset (i: INTEGER_32): INTEGER_32 -- Offset of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count not_special: not is_special field_static_type (i: INTEGER_32): INTEGER_32 -- Static type of declared i-th field of dynamic type dynamic_type require index_large_enough: i >= 1 index_small_enough: i <= field_count ensure field_type_nonnegative: Result >= 0 field_type (i: INTEGER_32): INTEGER_32 -- Abstract type of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count ensure field_type_nonnegative: Result >= 0 integer_16_field (i: INTEGER_32): INTEGER_16 -- INTEGER_16 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_16_field: field_type (i) = Integer_16_type integer_32_field (i: INTEGER_32): INTEGER_32 -- INTEGER_32 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_32_field: field_type (i) = Integer_32_type integer_64_field (i: INTEGER_32): INTEGER_64 -- INTEGER_64 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_64_field: field_type (i) = Integer_64_type integer_8_field (i: INTEGER_32): INTEGER_8 -- INTEGER_8 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_8_field: field_type (i) = Integer_8_type is_copy_semantics_field (i: INTEGER_32): BOOLEAN -- Is i-th field of object a reference with copy-semantics properties? require index_large_enough: i >= 1 index_small_enough: i <= field_count is_reference_field: field_type (i) = Reference_type is_expanded: BOOLEAN -- Is Current an instance of an expanded type? is_field_statically_attached (i: INTEGER_32): BOOLEAN -- Is i-th field of object defined as attached? require index_large_enough: i >= 1 index_small_enough: i <= field_count is_field_statically_expanded (i: INTEGER_32): BOOLEAN -- Is i-th field of object a user-defined expanded attribute? require index_large_enough: i >= 1 index_small_enough: i <= field_count is_field_transient (i: INTEGER_32): BOOLEAN -- Is i-th field of object a transient attribute? -- I.e. an attribute that does not need to be stored? require index_large_enough: i >= 1 index_small_enough: i <= field_count is_instance_of (type_id: INTEGER_32): BOOLEAN -- Is object an instance of type type_id? require object_not_void: object /= Void type_id_nonnegative: type_id >= 0 is_special: BOOLEAN -- Is object special? is_special_copy_semantics_item (i: INTEGER_32): BOOLEAN -- Is i-th field of object a reference with copy-semantics properties? require is_special: is_special is_special_of_reference: is_special_of_reference valid_index: attached {ABSTRACT_SPECIAL} object as l_spec and then l_spec.valid_index (i) is_special_of_expanded: BOOLEAN -- Is Current a SPECIAL [XX] where XX is a user defined expanded type? require is_special: is_special is_special_of_reference: BOOLEAN -- Is Current a SPECIAL [XX] where XX is a reference type? require is_special: is_special is_tuple: BOOLEAN -- Is object a TUPLE? natural_16_field (i: INTEGER_32): NATURAL_16 -- NATURAL_16 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count natural_16_field: field_type (i) = Natural_16_type natural_32_field (i: INTEGER_32): NATURAL_32 -- NATURAL_32 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count natural_32_field: field_type (i) = Natural_32_type natural_64_field (i: INTEGER_32): NATURAL_64 -- NATURAL_64 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count natural_64_field: field_type (i) = Natural_64_type natural_8_field (i: INTEGER_32): NATURAL_8 -- NATURAL_8 value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count natural_8_field: field_type (i) = Natural_8_type pointer_field (i: INTEGER_32): POINTER -- Pointer value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count pointer_field: field_type (i) = Pointer_type real_32_field (i: INTEGER_32): REAL_32 -- Real value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count real_32_field: field_type (i) = Real_32_type real_64_field (i: INTEGER_32): REAL_64 -- Double precision value of i-th field of object require index_large_enough: i >= 1 index_small_enough: i <= field_count real_64_field: field_type (i) = Real_64_type 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)) special_copy_semantics_item (i: INTEGER_32): REFLECTED_COPY_SEMANTICS_OBJECT -- Object attached to the ith item of special. require is_special: is_special is_special_reference: is_special_of_reference valid_index: attached {ABSTRACT_SPECIAL} object as l_spec and then l_spec.valid_index (i) feature -- Element change set_boolean_field (i: INTEGER_32; value: BOOLEAN) require index_large_enough: i >= 1 index_small_enough: i <= field_count boolean_field: field_type (i) = Boolean_type set_character_32_field (i: INTEGER_32; value: CHARACTER_32) -- Set character 32 value of i-th field of object to value require index_large_enough: i >= 1 index_small_enough: i <= field_count character_field: field_type (i) = Character_32_type set_character_8_field (i: INTEGER_32; value: CHARACTER_8) -- Set character value of i-th field of object to value -- Was declared in REFLECTED_OBJECT as synonym of set_character_field. require index_large_enough: i >= 1 index_small_enough: i <= field_count character_field: field_type (i) = Character_8_type set_character_field (i: INTEGER_32; value: CHARACTER_8) -- Set character value of i-th field of object to value -- Was declared in REFLECTED_OBJECT as synonym of set_character_8_field. require index_large_enough: i >= 1 index_small_enough: i <= field_count character_field: field_type (i) = Character_8_type set_double_field (i: INTEGER_32; value: REAL_64) -- Was declared in REFLECTED_OBJECT as synonym of set_real_64_field. require index_large_enough: i >= 1 index_small_enough: i <= field_count real_64_field: field_type (i) = Real_64_type set_integer_16_field (i: INTEGER_32; value: INTEGER_16) require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_16_field: field_type (i) = Integer_16_type set_integer_32_field (i: INTEGER_32; value: INTEGER_32) -- Was declared in REFLECTED_OBJECT as synonym of set_integer_field. require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_32_field: field_type (i) = Integer_32_type set_integer_64_field (i: INTEGER_32; value: INTEGER_64) require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_64_field: field_type (i) = Integer_64_type set_integer_8_field (i: INTEGER_32; value: INTEGER_8) require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_8_field: field_type (i) = Integer_8_type set_integer_field (i: INTEGER_32; value: INTEGER_32) -- Was declared in REFLECTED_OBJECT as synonym of set_integer_32_field. require index_large_enough: i >= 1 index_small_enough: i <= field_count integer_32_field: field_type (i) = Integer_32_type set_natural_16_field (i: INTEGER_32; value: NATURAL_16) require index_large_enough: i >= 1 index_small_enough: i <= field_count natural_16_field: field_type (i) = Natural_16_type set_natural_32_field (i: INTEGER_32; value: NATURAL_32) require index_large_enough: i >= 1 index_small_enough: i <= field_count natural_32_field: field_type (i) = Natural_32_type set_natural_64_field (i: INTEGER_32; value: NATURAL_64) require index_large_enough: i >= 1 index_small_enough: i <= field_count natural_64_field: field_type (i) = Natural_64_type set_natural_8_field (i: INTEGER_32; value: NATURAL_8) require index_large_enough: i >= 1 index_small_enough: i <= field_count natural_8_field: field_type (i) = Natural_8_type set_pointer_field (i: INTEGER_32; value: POINTER) require index_large_enough: i >= 1 index_small_enough: i <= field_count pointer_field: field_type (i) = Pointer_type set_real_32_field (i: INTEGER_32; value: REAL_32) -- Was declared in REFLECTED_OBJECT as synonym of set_real_field. require index_large_enough: i >= 1 index_small_enough: i <= field_count real_32_field: field_type (i) = Real_32_type set_real_64_field (i: INTEGER_32; value: REAL_64) -- Was declared in REFLECTED_OBJECT as synonym of set_double_field. require index_large_enough: i >= 1 index_small_enough: i <= field_count real_64_field: field_type (i) = Real_64_type set_real_field (i: INTEGER_32; value: REAL_32) -- Was declared in REFLECTED_OBJECT as synonym of set_real_32_field. require index_large_enough: i >= 1 index_small_enough: i <= field_count real_32_field: field_type (i) = Real_32_type set_reference_field (i: INTEGER_32; value: detachable ANY) require index_large_enough: i >= 1 index_small_enough: i <= field_count reference_field: field_type (i) = Reference_type valid_value: is_field_statically_attached (i) implies value /= Void value_conforms_to_field_static_type: value /= Void implies field_conforms_to (value.generating_type.type_id, field_static_type (i)) feature -- Duplication copy (other: REFLECTED_OBJECT) -- 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: REFLECTED_OBJECT) -- 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: REFLECTED_OBJECT -- 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: REFLECTED_OBJECT) -- 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: REFLECTED_OBJECT -- 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: REFLECTED_OBJECT -- 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 REFLECTED_OBJECT -- 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 -- 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 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 REFLECTED_OBJECT
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

-- Generated by Eiffel Studio --
For more details: eiffel.org