abstract entry for a type More...
#include <dutables.h>
Public Member Functions | |
array_type_pointer | access_array () |
accesses array_type entry if applicable | |
bool_type_pointer | access_bool () |
accesses bool_type entry if applicable | |
int_type_pointer | access_int () |
accesses int_type entry if applicable | |
range_type_pointer | access_range () |
accesses range_type entry if applicable | |
real_type_pointer | access_real () |
accesses real_type entry if applicable | |
record_type_pointer | access_record () |
accesses record_type entry if applicable | |
str_type_pointer | access_str () |
accesses str_type entry if applicable | |
type_category | cat () const |
returns the category of the type | |
mlaskal::physical_type | compute_final_ptype () |
compute intermediate code physical type | |
stack_address | compute_size () |
compute the size of the type | |
virtual | ~abstract_type () |
Friends | |
class | DumpUniquizer |
bool | identical_type (type_pointer a, type_pointer b) |
compares two types | |
std::ostream & | operator<< (std::ostream &o, type_pointer e) |
class | type_entry |
abstract entry for a type
virtual mlc::abstract_type::~abstract_type | ( | ) | [inline, virtual] |
For internal use only.
array_type_pointer mlc::abstract_type::access_array | ( | ) | [inline] |
accesses array_type entry if applicable
bool_type_pointer mlc::abstract_type::access_bool | ( | ) | [inline] |
accesses bool_type entry if applicable
int_type_pointer mlc::abstract_type::access_int | ( | ) | [inline] |
accesses int_type entry if applicable
range_type_pointer mlc::abstract_type::access_range | ( | ) | [inline] |
accesses range_type entry if applicable
real_type_pointer mlc::abstract_type::access_real | ( | ) | [inline] |
accesses real_type entry if applicable
record_type_pointer mlc::abstract_type::access_record | ( | ) | [inline] |
accesses record_type entry if applicable
str_type_pointer mlc::abstract_type::access_str | ( | ) | [inline] |
accesses str_type entry if applicable
type_category mlc::abstract_type::cat | ( | ) | const [inline] |
returns the category of the type
mlaskal::physical_type mlc::abstract_type::compute_final_ptype | ( | ) | [inline] |
compute intermediate code physical type
returns the innermost element type for arrays
returns integer for range types
stack_address mlc::abstract_type::compute_size | ( | ) | [inline] |
compute the size of the type
the size is returned in stack units
friend class DumpUniquizer [friend] |
Reimplemented in mlc::type_entry.
bool identical_type | ( | type_pointer | a, | |
type_pointer | b | |||
) | [friend] |
compares two types
returns true if types are identical wrt. Mlaskal rules
std::ostream& operator<< | ( | std::ostream & | o, | |
type_pointer | e | |||
) | [friend] |
friend class type_entry [friend] |