INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

project: "Visual Eiffel run-time system"
revision: "$Revision: 1.1 $"
copyright: "Copyright (C) 1996-2005 Object Tools Group"
license: "http://visual-eiffel.com/license"
cluster: kernel
class RTS_CLASS_INFO
inherit

RTS_CLASS_INFO_
redefine
out
end
creation

make
feature

instance_length: INTEGER

out: STRING

name: STRING
ensure
non_void_result: Result /= void
valid_result: Result.count > 0

name_pool: STRING

attribute_name (att_id: INTEGER): STRING
require
valid_attribute_id: att_id > 0 and then att_id <= number_of_attributes
ensure
non_void_result: Result /= void
valid_result: Result.count > 0

has_ancestor (aname: STRING): BOOLEAN
require
non_void_name: aname /= void
valid_name: aname.count > 0

class_id: INTEGER
ensure
acceptable_class_id: class_id > 0 and then class_id <= rts_main_data.compiler_data.max_id

ci_flags: BIT 32
ensure
flags_consistency: (is_predefined implies is_expanded) and (is_predefined implies not is_deferred) and (is_deferred implies not is_expanded)
feature -- Status

is_expanded: BOOLEAN

is_deferred: BOOLEAN

is_predefined: BOOLEAN

is_bit: BOOLEAN

is_require_on: BOOLEAN

is_ensure_on: BOOLEAN

is_class_invariant_on: BOOLEAN

is_loop_invariant_on: BOOLEAN

is_loop_variant_on: BOOLEAN

is_check_on: BOOLEAN

is_extended_ci_format: BOOLEAN
feature -- Numbers

gc_index: INTEGER

number_of_parents: INTEGER

number_of_references: INTEGER

number_of_expanded_creators: INTEGER

number_of_own_routines: INTEGER

number_of_attributes: INTEGER

number_of_callbacks: INTEGER

number_of_string_constants: INTEGER

class_check_summa: INTEGER

array_item_class_info: RTS_CLASS_INFO

reverse_class_info: RTS_CLASS_INFO
-- returns reference class info for expanded type and vice versa
feature -- Tables

routine_info_table: ARRAY [RTS_ROUTINE_INFO]
require
positive_number_of_own_routines: number_of_own_routines > 0
ensure
valid_result: Result /= void and then Result.count = number_of_own_routines

routine_address_table: RTS_MEMORY_MAPPED_AREA_ARRAY [POINTER]
ensure
valid_result: number_of_own_routines > 0 implies Result /= void and then Result.count = number_of_own_routines

ancestors_table: RTS_MEMORY_MAPPED_AREA_ARRAY [POINTER]

attribute_id_table: RTS_MEMORY_MAPPED_AREA_ARRAY [POINTER]

attribute_offsets_table: RTS_MEMORY_MAPPED_AREA_ARRAY [INTEGER]

attribute_description_table: ARRAY [RTS_ATTRIBUTE]
ensure
valid_table: number_of_attributes > 0 implies Result /= void and then Result.count = number_of_attributes
feature -- Addresses

default_rescue_address: POINTER

dispose_address: POINTER

class_invariant_address: POINTER
feature -- Flags constants

is_predefined_item: INTEGER

loop_invariant_on_item: INTEGER

is_expanded_item: INTEGER

is_debug_item: INTEGER

require_on_item: INTEGER

ensure_on_item: INTEGER

class_invariant_on_item: INTEGER

check_on_item: INTEGER

loop_variant_on_item: INTEGER

is_deferred_item: INTEGER

new_ci_format_item: INTEGER

is_bit_item: INTEGER
end -- class RTS_CLASS_INFO

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES