class PRECURSOR_INSTRUCTION
Summary
Class invariant
Overview
creation features
exported features
  • accept (visitor: PRECURSOR_INSTRUCTION_VISITOR)
    Accept to be visited by the visitor.
  • collect (t: TYPE)
    (See comment of {EXPRESSION}.collect.)
  • side_effect_free (type: TYPE): BOOLEAN
    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).
  • pretty (indent_level: INTEGER_32)
  • The known keys of the INI file:
    end_mark_comment: BOOLEAN
    constant attribute
    True for instructions which may have a possible "end" mark comment.
    specialize_2 (type: TYPE): PRECURSOR_INSTRUCTION
    effective function
    simplify (type: TYPE): PRECURSOR_INSTRUCTION
    effective function
    effective procedure
    Accept to be visited by the visitor.
    collect (t: TYPE)
    effective procedure
    (See comment of {EXPRESSION}.collect.)
    side_effect_free (type: TYPE): BOOLEAN
    effective 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).
    pretty (indent_level: INTEGER_32)
    effective procedure
    adapt_for (t: TYPE): PRECURSOR_INSTRUCTION
    deferred function
    (See comment of {EXPRESSION}.adapt_for.)
    compile_to_jvm (type: TYPE)
    deferred procedure
    is_not_a_compound: BOOLEAN
    frozen
    effective function
    Mostly for assertion checks.
    start_position: POSITION
    deferred function
    Of the left-most character of Current.
    specialize_in (type: TYPE): PRECURSOR_INSTRUCTION
    deferred function
    Specialize Current knowing that the corresponding source code was written in type.
    has_been_specialized: BOOLEAN
    deferred 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).
    specialize_thru (parent_type: TYPE, parent_edge: PARENT_EDGE, new_type: TYPE): PRECURSOR_INSTRUCTION
    deferred 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_without_checks (type: TYPE): CODE
    effective function
    Perform specialize_2 without checking the validity (export violations, ...)
    use_current (type: TYPE): BOOLEAN
    deferred function
    Is Current used?
    safety_check (type: TYPE)
    deferred procedure
    compile_to_c (type: TYPE)
    deferred procedure
    For an INSTRUCTION, produce the corresponding C code.
    install_memory: REFERENCE[INSTALL]
    once function
    parser_buffer: PARSER_BUFFER
    frozen
    once function
    fz_conf_general: STRING
    constant attribute
    fz_conf_loadpath: STRING
    constant attribute
    fz_conf_environment: STRING
    constant attribute
    since version 2
    fz_conf_se_tools: STRING
    constant attribute
    since version 3
    fz_conf_java: STRING
    constant attribute
    since version 3
    fz_conf_bin: STRING
    constant attribute
    fz_conf_lib: STRING
    constant attribute
    fz_conf_sys: STRING
    constant attribute
    fz_conf_short: STRING
    constant attribute
    fz_conf_tools: STRING
    constant attribute
    fz_conf_os: STRING
    constant attribute
    fz_conf_flavor: STRING
    constant attribute
    fz_conf_jobs: STRING
    constant attribute
    fz_conf_boost: STRING
    constant attribute
    fz_conf_no_check: STRING
    constant attribute
    fz_conf_require_check: STRING
    constant attribute
    fz_conf_ensure_check: STRING
    constant attribute
    fz_conf_invariant_check: STRING
    constant attribute
    fz_conf_loop_check: STRING
    constant attribute
    fz_conf_all_check: STRING
    constant attribute
    fz_conf_debug_check: STRING
    constant attribute
    fz_conf_flat_check: STRING
    constant attribute
    fz_conf_smarteiffel_options: STRING
    constant attribute
    fz_conf_undefined: STRING
    constant attribute
    fz_conf_tag: STRING
    constant attribute
    fz_conf_compiler_type: STRING
    constant attribute
    fz_conf_compiler_path: STRING
    constant attribute
    fz_conf_linker_path: STRING
    constant attribute
    fz_conf_strip_path: STRING
    constant attribute
    fz_conf_compiler_options: STRING
    constant attribute
    fz_conf_linker_options: STRING
    constant attribute
    fz_conf_cpp_compiler_type: STRING
    constant attribute
    fz_conf_cpp_compiler_path: STRING
    constant attribute
    fz_conf_cpp_compiler_options: STRING
    constant attribute
    fz_conf_cpp_linker_path: STRING
    constant attribute
    fz_conf_cpp_strip_path: STRING
    constant attribute
    fz_conf_cpp_linker_options: STRING
    constant attribute
    fz_conf_java_jar_binary: STRING
    constant attribute
    fz_conf_java_jvm_binary: STRING
    constant attribute
    fz_conf_java_java_compiler: STRING
    constant attribute
    arguments: EFFECTIVE_ARG_LIST
    writable attribute
    specialized_anonymous_feature: ANONYMOUS_FEATURE
    writable attribute
    The specialized version of the precursor feature
    specialized_parent: CLASS_TEXT
    writable attribute
    The parent the feature effectively comes from
    parent: TYPE_MARK
    writable attribute
    Used when only when the call looks like: {TYPE_MARK} Precursor...