class RAW_CREATE_INSTRUCTION
Summary
Class invariant
Overview
creation features
exported features
compile_to_c (type: TYPE)
effective procedure
For an INSTRUCTION, produce the corresponding C code.
specialize_in (new_type: TYPE): RAW_CREATE_INSTRUCTION
effective function
Specialize Current knowing that the corresponding source code was written in type.
specialize_thru (parent_type: TYPE, parent_edge: PARENT_EDGE, new_type: TYPE): RAW_CREATE_INSTRUCTION
effective function
Assuming that Current is already specialized in parent_type, now specialize Current for the new_type knowing that this source code is inherited thru parent_edge.
specialize_2 (type: TYPE): RAW_CREATE_INSTRUCTION
effective function
This specialize_2 step is applyed after specialize_in / specialize_thru.
has_been_specialized: BOOLEAN
effective function
Used both for specialize_in and specialize_thru to indicate that we have all FEATURE_STAMPs ready for use and that FEATURE_NAMEs are no longer used (except for calls on non-current target who are available after specialize_2 -- step).
collect (type: TYPE)
effective procedure
(See comment of {EXPRESSION}.collect.)
adapt_for (type: TYPE): RAW_CREATE_INSTRUCTION
effective function
(See comment of {EXPRESSION}.adapt_for.)
use_current (type: TYPE): BOOLEAN
frozen
effective function
Is Current used?
simplify (type: TYPE): INSTRUCTION
effective function
May return Current, Void or a simplified version of Current.
pretty (indent_level: INTEGER_32)
effective procedure
compile_to_jvm (type: TYPE)
frozen
effective procedure
end_mark_comment: BOOLEAN
constant attribute
True for instructions which may have a possible "end" mark comment.
accept (visitor: CREATE_INSTRUCTION_VISITOR)
effective procedure
Accept to be visited by the visitor.
created_type (type: TYPE): TYPE
effective function
specialize_2_without_checks (type: TYPE): RAW_CREATE_INSTRUCTION
effective function
Perform specialize_2 without checking the validity (export violations, ...)
is_not_a_compound: BOOLEAN
frozen
effective function
Mostly for assertion checks.
start_position: POSITION
deferred function
Of the left-most character of Current.
side_effect_free (type: TYPE): BOOLEAN
deferred function
True when the evaluation of Current has no side effect at all (i.e. no memory allocated, no modification in the _heap_ memory, no external code with possible side effect).
safety_check (type: TYPE)
deferred procedure
explicit_type: TYPE_MARK
writable attribute
Explicit created one (optional for the CREATE_INSTRUCTION and mandatory for the CREATE_EXPRESSION).
writable: EXPRESSION
writable attribute
The target of the creation call (mandatory for the CREATE_INSTRUCTION and forbidden for the CREATE_EXPRESSION ).
call: PROC_CALL
writable attribute
Optional initialisation call if any.
default_create_call: BOOLEAN
writable attribute