note description: "Field record" status: "See notice at end of class." legal: "See notice at end of class." date: "$Date: 2015-08-19 05:51:04 +0000 (Wed, 19 Aug 2015) $" revision: "$Revision: 97843 $" class interface RT_DBG_ATTRIBUTE_RECORD [G -> detachable ANY] create make (obj: ANY; o, eif_t: INTEGER_32; t: NATURAL_32; v: like value) -- Make field record with index i, type t an value v require obj_attached: obj /= Void feature -- Access associated_object: detachable ANY -- Associated object, if any 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) current_value_record: detachable RT_DBG_VALUE_RECORD -- Record for current value debug_output: STRING_8 -- String that should be displayed in debugger to represent Current. require -- from DEBUG_OUTPUT True ensure -- from DEBUG_OUTPUT result_not_void: Result /= Void 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) Expanded_type: INTEGER_32 = 7 -- Abstract type ID for a non-predefined expanded type. -- (from REFLECTOR_CONSTANTS) generating_type: TYPE [detachable RT_DBG_ATTRIBUTE_RECORD [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 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) Is_local_record: BOOLEAN = False -- Is local record ? is_same_as (other: RT_DBG_VALUE_RECORD): BOOLEAN -- Is Current same as other ? require -- from RT_DBG_VALUE_RECORD other_attached: other /= Void ensure -- from RT_DBG_VALUE_RECORD same_type: Result implies type = other.type 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) 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_type: INTEGER_32 = 1 -- Abstract type ID for a reference type. -- (from REFLECTOR_CONSTANTS) to_string: STRING_8 -- String representation ensure -- from RT_DBG_VALUE_RECORD result_attached: Result /= Void 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 -- 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 (other: RT_DBG_ATTRIBUTE_RECORD [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: RT_DBG_ATTRIBUTE_RECORD [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 (other: RT_DBG_ATTRIBUTE_RECORD [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 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 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 -- Duplication copy (other: RT_DBG_ATTRIBUTE_RECORD [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: RT_DBG_ATTRIBUTE_RECORD [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: RT_DBG_ATTRIBUTE_RECORD [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: RT_DBG_ATTRIBUTE_RECORD [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: RT_DBG_ATTRIBUTE_RECORD [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: RT_DBG_ATTRIBUTE_RECORD [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 RT_DBG_ATTRIBUTE_RECORD [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 -- Access local frozen c_stack_value_at (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_rt_type: NATURAL_32): detachable ANY -- Object value referenced at off offset of object -- (from RT_DBG_INTERNAL) feature -- Change set_breakable_info (v: like breakable_info) -- Set breakable_info -- (from RT_DBG_VALUE_RECORD) feature -- Change field set_field_at (off: INTEGER_32; a_type: NATURAL_32; value: detachable ANY; object: ANY) -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL object_attached: object /= Void feature -- Change local frozen c_set_boolean_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_bool: BOOLEAN): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_character_32_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_ch32: CHARACTER_32): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_character_8_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_ch8: CHARACTER_8): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_integer_16_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_i16: INTEGER_16): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_integer_32_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_i32: INTEGER_32): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_integer_64_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_i64: INTEGER_64): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_integer_8_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_i8: INTEGER_8): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_natural_16_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_n16: NATURAL_16): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_natural_32_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_n32: NATURAL_32): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_natural_64_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_n64: NATURAL_64): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_natural_8_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_n8: NATURAL_8): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_pointer_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_p: POINTER): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_real_32_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_i32: REAL_32): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_real_64_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_i64: REAL_64): INTEGER_32 -- (from RT_DBG_INTERNAL) frozen c_set_reference_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_ref: POINTER): INTEGER_32 -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL a_ref_not_null: a_ref /= default_pointer frozen c_set_void_stack_value (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32): INTEGER_32 -- (from RT_DBG_INTERNAL) Rt_dlt_argument: INTEGER_32 = 0 -- DLT=DebugLocalType, the type is an argument of a function -- (from RT_DBG_INTERNAL) Rt_dlt_localvar: INTEGER_32 = 1 -- DLT=DebugLocalType, the type is a local variable inside a function -- (from RT_DBG_INTERNAL) Rt_dlt_result: INTEGER_32 = 2 -- DLT=DebugLocalType, the type is the Result of the current feature -- (from RT_DBG_INTERNAL) set_stack_value_at (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_rt_type: NATURAL_32; value: detachable ANY): INTEGER_32 -- Set stack value at position pos on stack of depth dep with value -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL a_loc_type_valid: a_loc_type = Rt_dlt_localvar or a_loc_type = Rt_dlt_argument or a_loc_type = Rt_dlt_result feature -- Change properties get_value -- Get value feature -- Object access frozen eif_type (a_field_type: NATURAL_32): INTEGER_32 -- EIF_ type from field type a_field_type -- (from RT_DBG_INTERNAL) frozen field_at (off: INTEGER_32; a_field_type: NATURAL_32; object: ANY): detachable ANY -- Object attached at offset off field of object -- (directly or through a reference) -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL object_not_void: object /= Void index_large_enough: off >= 1 frozen field_index_at (off: INTEGER_32; obj: ANY): INTEGER_32 -- Field name at offset off on obj -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL obj /= Void frozen field_name_at (off: INTEGER_32; obj: ANY): detachable STRING_8 -- Field name at offset off on obj -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL obj /= Void frozen object_field_count (obj: ANY): INTEGER_32 -- Field_count on obj -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL obj_attached: obj /= Void frozen object_is_expanded (object: ANY): BOOLEAN -- Is object an expanded value ? -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL object_not_void: object /= Void frozen object_records (obj: ANY): detachable ARRAYED_LIST [RT_DBG_VALUE_RECORD] -- List of field records on obj -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL obj_attached: obj /= Void frozen rt_dynamic_type (object: ANY): INTEGER_32 -- Dynamic type of object -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL object_not_void: object /= Void ensure -- from RT_DBG_INTERNAL rt_dynamic_type_nonnegative: Result >= 0 frozen stack_value_at (dep: INTEGER_32; a_loc_type: INTEGER_32; pos: INTEGER_32; a_rt_type: NATURAL_32): detachable ANY -- Object attached at offset off field of object -- (directly or through a reference) -- (from RT_DBG_INTERNAL) require -- from RT_DBG_INTERNAL index_large_enough: pos >= 1 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 -- Properties breakable_info: detachable TUPLE [line: INTEGER_32; nested: INTEGER_32] -- breakable information -- (from RT_DBG_VALUE_RECORD) object: ANY -- Associated object. offset: INTEGER_32 -- Position of record. -- (from RT_DBG_VALUE_RECORD) rt_type: NATURAL_32 -- Field type type: INTEGER_32 -- Eiffel type of record value. -- (from RT_DBG_VALUE_RECORD) value: detachable G -- Associated value. feature -- Query changes_between (csr1: RT_DBG_CALL_RECORD; csr2: detachable RT_DBG_CALL_RECORD): ARRAYED_LIST [RT_DBG_VALUE_RECORD] -- Return records from r1 to -beginning-of- r2. -- (from RT_DBG_COMMON) require -- from RT_DBG_COMMON csr1_not_void: csr1 /= Void ensure -- from RT_DBG_COMMON result_not_void: Result /= Void feature -- Runtime restore (val: RT_DBG_VALUE_RECORD) -- Restore value on object require -- from RT_DBG_VALUE_RECORD val_attached: val /= Void revert (bak: RT_DBG_VALUE_RECORD) -- Revert previous change due to Current to object require -- from RT_DBG_VALUE_RECORD bak_attached: bak /= Void feature -- Testing c_rt_set_is_inside_rt_eiffel_code (v: INTEGER_32) -- (from RT_DBG_INTERNAL) test_locals (dep: INTEGER_32; loc_pos: INTEGER_32; val: ANY; a_rt_type: NATURAL_32) -- (from RT_DBG_INTERNAL) test_set_local (dep: INTEGER_32; loc_pos: INTEGER_32; val: ANY; a_rt_type: NATURAL_32) -- (from RT_DBG_INTERNAL) feature -- Trace dtrace (m: STRING_8) -- note: might be be removed with 6.2 -- (from RT_EXTENSION_COMMON) require -- from RT_EXTENSION_COMMON m_attached: m /= Void dtrace_indent (n: INTEGER_32) -- note: might be removed with 6.2 -- (from RT_EXTENSION_COMMON) invariant -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note library: "EiffelBase: Library of reusable components for Eiffel." copyright: "Copyright (c) 1984-2015, 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 RT_DBG_ATTRIBUTE_RECORD
Generated by ISE EiffelStudio