class EMPTY_TUPLE_TYPE_MARK
Summary
Overview
creation features
exported features
Others:
class_text_name: CLASS_NAME
writable attribute
Always TUPLE, but with the correct start_position.
as_type_mark: TYPE_MARK
effective function
type: TYPE
effective function
written_name: HASHED_STRING
effective 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).
start_position: POSITION
effective function
The POSITION of the first character of the Current type mark where it is originally written.
count: INTEGER_32
constant attribute
need_c_struct: BOOLEAN
effective function
Is it necessary to define a C struct ?
c_initialize_in (buffer: STRING)
effective procedure
Append in buffer C code for initialisation of local variables or attributes (see also c_initialize).
c_header_pass4
effective procedure
effective procedure
Accept to be visited by the visitor.
is_tuple: BOOLEAN
constant attribute
is_reference: BOOLEAN
constant attribute
is_expanded: BOOLEAN
constant attribute
is_user_expanded: BOOLEAN
constant attribute
is_empty_expanded: BOOLEAN
constant attribute
is_static: BOOLEAN
deferred function
generic_list: ARRAY[TYPE_MARK]
deferred function
effective function
c_type_for_argument_in (str: STRING)
effective procedure
c_type_for_target_in (str: STRING)
effective procedure
c_type_for_result_in (str: STRING)
effective procedure
c_header_pass1
frozen
effective procedure
c_header_pass2
frozen
effective procedure
c_header_pass3
frozen
effective procedure
jvm_method_flags: INTEGER_32
constant attribute
jvm_descriptor_in (str: STRING)
effective procedure
jvm_target_descriptor_in (str: STRING)
effective procedure
jvm_return_code
effective procedure
jvm_check_class_invariant
effective procedure
jvm_push_local (offset: INTEGER_32)
effective procedure
jvm_push_default: INTEGER_32
effective function
jvm_write_local_creation (offset: INTEGER_32)
effective procedure
jvm_write_local (offset: INTEGER_32)
effective procedure
jvm_xnewarray
effective procedure
jvm_xastore
effective procedure
jvm_xaload
effective procedure
jvm_if_x_eq: INTEGER_32
effective function
jvm_if_x_ne: INTEGER_32
effective function
jvm_standard_is_equal
effective procedure
need_gc_mark_function: BOOLEAN
constant attribute
is_generic: BOOLEAN
frozen
constant attribute
Is the written type a generic type?
declaration_type: TYPE_MARK
deferred 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]").
written_mark: STRING
frozen
effective function
A short-hand for written_name.to_string.
specialize_in (new_type: TYPE): EMPTY_TUPLE_TYPE_MARK
deferred 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
    deferred function

    resolve_in (new_type: TYPE): TYPE
    effective function
    Short-hand for to_static(new_type).type
    to_static (new_type: TYPE): TYPE_MARK
    deferred function
    Compute the is_static one in the new_type context.
    signature_resolve_in (new_type: TYPE): TYPE
    deferred function
    Same work as resolve_in, but all possible "insert" paths are just ignored.
    has_been_specialized: BOOLEAN
    deferred function
    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_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