deferred class STATIC_TYPE_MARK
Summary
Overview
exported features
Others:
is_static: BOOLEAN
frozen
constant attribute
An is_static type mark is a completely frozen one that cannot change because of inheritance or because of some different generic derivation.
has_been_specialized: BOOLEAN
frozen
constant attribute
specialize_in (new_type: TYPE): STATIC_TYPE_MARK
frozen
effective function
As checked in the require assertion, Current is written in new_type's base class.

  • Result.has_been_specialized
  • is_static implies Result = Current
    All the original source code information is kept in the Result:

  • Result.generating_type = generating_type
  • specialize_thru (parent_type: TYPE, parent_edge: PARENT_EDGE, new_type: TYPE): TYPE_MARK
    frozen
    effective function

    declaration_type: TYPE_MARK
    frozen
    effective function
    For TYPE_MARKs for which the is_static predicate is True, the Result is obviously Current (e.g. "STRING" is the declaration_type of "STRING" and, as another example, "ARRAY[INTEGER]" is the declaration_type of "ARRAY[INTEGER]").
    to_static (new_type: TYPE): TYPE_MARK
    frozen
    effective function
    Compute the is_static one in the new_type context.
    signature_resolve_in (new_type: TYPE): TYPE
    frozen
    effective function
    Same work as resolve_in, but all possible "insert" paths are just ignored.
    start_position: POSITION
    deferred function
    The POSITION of the first character of the Current type mark where it is originally written.
    written_name: HASHED_STRING
    deferred function
    The TYPE_MARK as it is actually written in the source file (i.e. what can be seen at the corresponding start_position in the source file).
    written_mark: STRING
    frozen
    effective function
    A short-hand for written_name.to_string.
    resolve_in (new_type: TYPE): TYPE
    effective function
    Short-hand for to_static(new_type).type
    is_formal_generic: BOOLEAN
    frozen
    effective function
    Is it a formal generic argument ?
    is_reference: BOOLEAN
    deferred function
    Is a a reference type mark?
    is_expanded: BOOLEAN
    deferred function
    is_anchored: BOOLEAN
    frozen
    effective function
    Is it written "like ..."
    is_like_current: BOOLEAN
    frozen
    effective function
    Is it written "like Current" ?
    is_generic: BOOLEAN
    deferred function
    Is the written type a generic type?
    generic_list: ARRAY[TYPE_MARK]
    deferred function
    is_kernel_expanded: BOOLEAN
    frozen
    effective function
    Is it written one of: "BOOLEAN", "CHARACTER", "INTEGER", "INTEGER_8", "INTEGER_16", "INTEGER_32", "INTEGER_64", "REAL_32", "REAL_64", "REAL", "REAL_80", "POINTER".
    is_boolean: BOOLEAN
    frozen
    effective function
    Is it written "BOOLEAN"?
    is_character: BOOLEAN
    frozen
    effective function
    Is it written "CHARACTER"?
    is_integer: BOOLEAN
    frozen
    effective function
    Is it written "INTEGER"?
    is_real: BOOLEAN
    frozen
    effective function
    Is it written "REAL*"?
    is_pointer: BOOLEAN
    frozen
    effective function
    Is it written "POINTER"?
    is_tuple: BOOLEAN
    effective function
    Is it written "TUPLE" or "TUPLE[...]"?
    is_string: BOOLEAN
    frozen
    effective function
    Is it written "STRING"?
    is_array: BOOLEAN
    frozen
    effective function
    Is it written "ARRAY"?
    is_any: BOOLEAN
    frozen
    effective function
    Is it written "ANY"?
    is_native_array: BOOLEAN
    frozen
    effective function
    Is it written "NATIVE_ARRAY[...]"?
    is_agent: BOOLEAN
    frozen
    effective function
    Is the writtent type mark some agent type mark ("ROUTINE[...]", "PROCEDURE[...]", "FUNCTION[...]" or "PREDICATE[...]")?
    pretty_in (buffer: STRING)
    effective procedure
    short (shorted_type: TYPE)
    frozen
    effective procedure
    default_expression (sp: POSITION): EXPRESSION
    effective function
    Creates the corresponding ANY default expression at sp.
    c_header_pass1
    deferred procedure
    c_header_pass2
    deferred procedure
    c_header_pass3
    deferred procedure
    c_header_pass4
    deferred procedure
    c_type_for_argument_in (buffer: STRING)
    deferred procedure
    Append in buffer the C type to use when current Eiffel type is used for an argument of a feature.
    c_type_for_target_in (buffer: STRING)
    deferred procedure
    Append in buffer the C type to use when current Eiffel type is used for the target of a feature.
    c_type_for_result_in (buffer: STRING)
    deferred procedure
    Append in buffer the C type to use when current Eiffel type is used as a result type of a C function.
    c_type_for_external_in (buffer: STRING)
    frozen
    effective procedure
    need_c_struct: BOOLEAN
    deferred function
    Is it necessary to define a C struct ?
    c_initialize_in (buffer: STRING)
    deferred procedure
    Append in buffer C code for initialisation of local variables or attributes (see also c_initialize).
    c_frame_descriptor_in (buffer: STRING)
    frozen
    effective procedure
    Update c_frame_descriptor_format accordingly.
    need_gc_mark_function: BOOLEAN
    deferred function
    True when objects of the current type must be marked or when gc_mark_to_follow is True in corresponding run class.
    class_text_name: CLASS_NAME
    deferred function
    The one of the corresponding base class (not the name of the one where it is written!).
    class_text: CLASS_TEXT
    effective function
    The one of the corresponding base class (not the name of the one where it is written!).
    debug_info_in (buffer: STRING)
    frozen
    effective procedure
    For debugging only.
    type: TYPE
    deferred function
    is_user_expanded: BOOLEAN
    deferred function
    Is it really a user expanded type ?
    is_empty_expanded: BOOLEAN
    deferred function
    True when is it a user's expanded type with no attribute.
    jvm_method_flags: INTEGER_32
    deferred function
    Return the appropriate flag (static/virtual) when the receiver has this type.
    jvm_stack_space: INTEGER_32
    frozen
    effective function
    jvm_descriptor_in (buffer: STRING)
    deferred procedure
    Append in buffer the appropriate JVM type descriptor for arguments and Result of a method.
    jvm_target_descriptor_in (buffer: STRING)
    deferred procedure
    Append in buffer the appropriate JVM type descriptor for the target only.
    jvm_return_code
    deferred procedure
    Add the good JVM opcode to return Result.
    jvm_push_local (offset: INTEGER_32)
    deferred procedure
    Push value of the local variable at offset.
    jvm_push_default: INTEGER_32
    deferred function
    Push the default value for the Current type.
    jvm_write_local_creation (offset: INTEGER_32)
    deferred procedure
    Write the local variable at offset using the stack top.
    jvm_write_local (offset: INTEGER_32)
    deferred procedure
    Write the local variable at offset using the stack top.
    jvm_check_class_invariant
    deferred procedure
    If needed, add some byte code to check the class invariant of the pushed object.
    jvm_xnewarray
    deferred procedure
    Produce the appropriate byte-code to create a new JVM array with elements of Current type.
    jvm_xastore
    deferred procedure
    jvm_xaload
    deferred procedure
    jvm_if_x_eq: INTEGER_32
    deferred function
    Assume two operands of the same type are pushed.
    jvm_if_x_ne: INTEGER_32
    deferred function
    Assume two operands of the same type are pushed.
    jvm_standard_is_equal
    deferred procedure
    Produce byte-code for standard_is_equal for the top objects pair.
    accept (visitor: VISITOR)
    deferred procedure
    Accept to be visited by the visitor.