home
wiki
classes/clusters list
class information
+
Point of view
PARENT_LISTS
ANY
EIFFEL_PARSER
FEATURE_STAMP
PARENT_EDGE
CLASS_TEXT
TYPE
ANONYMOUS_FEATURE_MIXER
FEATURE_ACCUMULATOR
EXPORT_LIST
PARENT_LISTS
NATIVE_JAVA
VISITOR
SYSTEM_TOOLS
SMART_EIFFEL
COMPILE
SE
ACE
INSTALL
INTERNALS_HANDLER
All features
class PARENT_EDGE
Summary
top
To represent either an
"inherit"
or an
"insert"
parent edge.
Direct parents
inherit list:
VISITABLE
insert list:
GLOBALS
Class invariant
top
not
type_mark
.is_anchored
Overview
top
creation features
make
(insert_flag:
BOOLEAN
, tm:
TYPE_MARK
)
exported features
type_mark
:
TYPE_MARK
Declaration
type_mark
of the parent.
start_position
:
POSITION
class_text
:
CLASS_TEXT
An alias for
type_mark.class_text
.
class_text_name
:
STRING
An alias for
class_text.name.to_string
.
parent_lists
:
PARENT_LISTS
The corresponding one
is_insert_member
:
BOOLEAN
This parent is inserted (then current type does not conform to this parent via this inherit text item)
is_inherit_member
:
BOOLEAN
accept
(visitor:
PARENT_EDGE_VISITOR
)
Accept to be visited by the
visitor
.
is_target_of_rename
(fn:
FEATURE_NAME
):
BOOLEAN
is_source_of_rename
(fn:
FEATURE_NAME
):
BOOLEAN
set_insert_member
get_undefine
(a_final_fn:
FEATURE_NAME
):
FEATURE_NAME
If the undefine list exists and if
a_final_fn
is member of the undefine list, this function returns the actual feature name which is in the list.
get_redefine
(a_final_fn:
FEATURE_NAME
):
FEATURE_NAME
do_rename
(fn:
FEATURE_NAME
):
FEATURE_NAME
If some rename exists for
fn
, return the new name, otherwise, give back
fn
.
runnable_type
(ct:
TYPE_MARK
):
TYPE_MARK
exports_for
(fn:
FEATURE_NAME
):
CLIENT_LIST
Only looks for a possible explicit export clause for a given feature name.
exports_for_all
:
CLIENT_LIST
id_extra_information
(tfw:
TEXT_FILE_WRITE
)
pretty
initialize_and_check_level_1
(pl:
PARENT_LISTS
)
First step of initialization (see also
check_level_2
).
check_level_2
(type:
TYPE
)
Second and last step (see also
initialize_and_check_level_1
).
type_mark
:
TYPE_MARK
writable attribute
top
Declaration
type_mark
of the parent.
start_position
:
POSITION
effective function
top
class_text
:
CLASS_TEXT
writable attribute
top
An alias for
type_mark.class_text
.
class_text_name
:
STRING
writable attribute
top
An alias for
class_text.name.to_string
.
parent_lists
:
PARENT_LISTS
writable attribute
top
The corresponding one
is_insert_member
:
BOOLEAN
writable attribute
top
This parent is inserted (then current type does not conform to this parent via this inherit text item)
is_inherit_member
:
BOOLEAN
effective function
top
accept
(visitor:
PARENT_EDGE_VISITOR
)
effective procedure
top
Accept to be visited by the
visitor
.
require
visitor /= Void
is_target_of_rename
(fn:
FEATURE_NAME
):
BOOLEAN
effective function
top
is_source_of_rename
(fn:
FEATURE_NAME
):
BOOLEAN
effective function
top
set_insert_member
effective procedure
top
require
is_inherit_member
ensure
is_insert_member
get_undefine
(a_final_fn:
FEATURE_NAME
):
FEATURE_NAME
effective function
top
If the undefine list exists and if
a_final_fn
is member of the undefine list, this function returns the actual feature name which is in the list.
(This can be useful to print error messages with accurate POSITIONs and to know if
a_final_fn
is undefined.)
require
a_final_fn /= Void
get_redefine
(a_final_fn:
FEATURE_NAME
):
FEATURE_NAME
effective function
top
require
a_final_fn /= Void
do_rename
(fn:
FEATURE_NAME
):
FEATURE_NAME
effective function
top
If some rename exists for
fn
, return the new name, otherwise, give back
fn
.
Use
FEATURE_STAMP
.resolve_dynamic_binding_for or
FEATURE_STAMP
.fs_for_building_type.
require
fn /= Void
ensure
Result /= Void
runnable_type
(ct:
TYPE_MARK
):
TYPE_MARK
effective function
top
require
ct.is_static
ensure
Result.is_static
exports_for
(fn:
FEATURE_NAME
):
CLIENT_LIST
effective function
top
Only looks for a possible explicit export clause for a given feature name.
Contrarily to
clients_for
, does not compute the export list. Hence, the result may be Void.
require
fn /= Void
exports_for_all
:
CLIENT_LIST
effective function
top
id_extra_information
(tfw:
TEXT_FILE_WRITE
)
effective procedure
top
pretty
effective procedure
top
initialize_and_check_level_1
(pl:
PARENT_LISTS
)
effective procedure
top
First step of initialization (see also
check_level_2
).
require
pl /= Void
ensure
parent_lists
= pl
class_text
/= Void
class_text_name
/= Void
check_level_2
(type:
TYPE
)
effective procedure
top
Second and last step (see also
initialize_and_check_level_1
).
require
type.class_text =
parent_lists
.class_text