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_SERVER
inherit

PLATFORM
end
feature -- Run-time reflection

rts_main_data: RTS_MAIN_DATA

class_info_from_union (ci: POINTER): RTS_CLASS_INFO
require
valid_pointer: ci /= default_pointer

class_info_by_name (class_name: STRING): RTS_CLASS_INFO
require
non_void_class_name: class_name /= void
valid_class_name: class_name.count > 0

name_from_pool (name_id: INTEGER; pool: STRING): STRING
require
valid_name_id: name_id > 0
non_void_pool: pool /= void
valid_pool: pool.count > 0
ensure
non_void_result: Result /= void
valid_result: Result.count > 0

routine_address2routine_info (p: POINTER): RTS_ROUTINE_INFO
require
valid_pointer: p /= default_pointer
valid_address: rts_main_data.module_data.is_eiffel_code (p)
ensure
non_void_result: Result /= void

object2class_id (obj: ANY): INTEGER
require
non_void_object: obj /= void
ensure
valid_class_id: valid_id (Result)

object2class_info (obj: ANY): RTS_CLASS_INFO
require
non_void_object: obj /= void
ensure
non_void_result: Result /= void

id2class_info (id: INTEGER): RTS_CLASS_INFO
require
valid_id: valid_id (id)
ensure
non_void_result: Result /= void

valid_id (id: INTEGER): BOOLEAN
feature -- External memory managment

allocate_memory (size: INTEGER): POINTER
require
valid_memory_size: size > 0

release_memory (p: POINTER)
require
valid_memory_address: p /= default_pointer
feature -- Conversion

as_pointer: POINTER
-- Address of the current object data
feature -- Reflection

root_instance: ANY
-- The root object of the system
end -- class RTS_SERVER

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES