class LIKE_ARGUMENT_TYPE_MARK
Summary
Class invariant
Overview
creation features
exported features
Others:
like_what: ARGUMENT_NAME2
writable attribute
The one written.
written_name: HASHED_STRING
writable attribute
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).
type_marks_memory: HASHED_DICTIONARY[TYPE_MARK, TYPE]
writable attribute
Memorize the corresponding TYPE_MARK for all context TYPEs.
has_been_specialized: BOOLEAN
effective function
specialize_in (new_type: TYPE): LIKE_ARGUMENT_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): LIKE_ARGUMENT_TYPE_MARK
    frozen
    effective function

    declaration_type: TYPE_MARK
    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]").
    effective procedure
    Accept to be visited by the visitor.
    to_static (new_type: TYPE): TYPE_MARK
    effective function
    Compute the is_static one in the new_type context.
    signature_resolve_in (new_type: TYPE): TYPE
    effective function
    Same work as resolve_in, but all possible "insert" paths are just ignored.
    start_position: POSITION
    writable attribute
    Of first letter of like.
    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.
    type: TYPE
    frozen
    effective function
    is_reference: BOOLEAN
    frozen
    effective function
    Is a a reference type mark?
    is_expanded: BOOLEAN
    frozen
    effective function
    is_generic: BOOLEAN
    frozen
    effective function
    Is the written type a generic type?
    generic_list: ARRAY[TYPE_MARK]
    frozen
    effective function
    frozen
    effective function
    Used for example to mangle feature name in the generated C code.
    class_text_name: CLASS_NAME
    frozen
    effective function
    The one of the corresponding base class (not the name of the one where it is written!).
    is_user_expanded: BOOLEAN
    frozen
    effective function
    Is it really a user expanded type ?
    is_empty_expanded: BOOLEAN
    frozen
    effective function
    True when is it a user's expanded type with no attribute.
    c_header_pass1
    frozen
    effective procedure
    c_header_pass2
    frozen
    effective procedure
    c_header_pass3
    frozen
    effective procedure
    c_header_pass4
    frozen
    effective procedure
    c_type_for_argument_in (str: STRING)
    frozen
    effective 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 (str: STRING)
    frozen
    effective 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 (str: STRING)
    frozen
    effective procedure
    Append in buffer the C type to use when current Eiffel type is used as a result type of a C function.
    need_c_struct: BOOLEAN
    frozen
    effective function
    Is it necessary to define a C struct ?
    c_initialize_in (buffer: STRING)
    frozen
    effective procedure
    Append in buffer C code for initialisation of local variables or attributes (see also c_initialize).
    jvm_method_flags: INTEGER_32
    frozen
    effective function
    Return the appropriate flag (static/virtual) when the receiver has this type.
    jvm_descriptor_in (str: STRING)
    frozen
    effective procedure
    Append in buffer the appropriate JVM type descriptor for arguments and Result of a method.
    jvm_target_descriptor_in (str: STRING)
    frozen
    effective procedure
    Append in buffer the appropriate JVM type descriptor for the target only.
    jvm_return_code
    frozen
    effective procedure
    Add the good JVM opcode to return Result.
    jvm_push_local (offset: INTEGER_32)
    frozen
    effective procedure
    Push value of the local variable at offset.
    jvm_check_class_invariant
    frozen
    effective procedure
    If needed, add some byte code to check the class invariant of the pushed object.
    jvm_push_default: INTEGER_32
    frozen
    effective function
    Push the default value for the Current type.
    jvm_write_local_creation (offset: INTEGER_32)
    frozen
    effective procedure
    Write the local variable at offset using the stack top.
    jvm_write_local (offset: INTEGER_32)
    frozen
    effective procedure
    Write the local variable at offset using the stack top.
    jvm_xnewarray
    frozen
    effective procedure
    Produce the appropriate byte-code to create a new JVM array with elements of Current type.
    jvm_xastore
    frozen
    effective procedure
    jvm_xaload
    frozen
    effective procedure
    jvm_if_x_eq: INTEGER_32
    frozen
    effective function
    Assume two operands of the same type are pushed.
    jvm_if_x_ne: INTEGER_32
    frozen
    effective function
    Assume two operands of the same type are pushed.
    jvm_standard_is_equal
    frozen
    effective procedure
    Produce byte-code for standard_is_equal for the top objects pair.
    need_gc_mark_function: BOOLEAN
    frozen
    effective function
    True when objects of the current type must be marked or when gc_mark_to_follow is True in corresponding run class.
    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_anchored: BOOLEAN
    frozen
    effective function
    Is it written "like ..."
    is_like_current: BOOLEAN
    frozen
    effective function
    Is it written "like Current" ?
    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_type_for_external_in (buffer: STRING)
    frozen
    effective procedure
    c_frame_descriptor_in (buffer: STRING)
    frozen
    effective procedure
    Update c_frame_descriptor_format accordingly.
    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.
    jvm_stack_space: INTEGER_32
    frozen
    effective function