|
Yume
|
Namespaces | |
| namespace | detail |
Classes | |
| class | BaseType |
Represents a type in the type system. NOTE: that this isn't the class to use for type introspection, for that, Type should be used instead as it is fully qualified. More... | |
| struct | Compat |
| The compatibility between two types, for overload selection. More... | |
| struct | Conv |
| class | Function |
| A function pointer type. More... | |
| class | Generic |
An unsubstituted generic type variable, usually something like T. More... | |
| class | Int |
| A built-in integral type, such as I32 or Bool. More... | |
| class | Meta |
| A metatype, that is, a type referring to a type. More... | |
| class | Nil |
| The null type, Nil. More... | |
| class | OpaqueSelf |
| The "self" type of abstract or overriding functions. An extra layer of indirection is introduced for type erasure. More... | |
| class | Ptr |
A "qualified" type, with a stackable qualifier, i.e. ptr. More... | |
| class | Struct |
| An user-defined struct type with associated fields. More... | |
| class | Type |
A "qualified" type, with a non-stackable qualifier, i.e. mut. More... | |
Enumerations | |
| enum | Kind { K_Unknown , K_Int , K_Nil , K_Ptr , K_Struct , K_Function , K_Generic , K_OpaqueSelf , K_Meta } |
Functions | |
| static auto | qual_suffix (Qualifier qual) -> string |
| static void | visit_subs (Type a, Type b, std::unordered_map< string, ty::Type > &sub) |
| enum yume::ty::Kind |
| Enumerator | |
|---|---|
| K_Unknown |
|
| K_Int | |
| K_Nil | |
| K_Ptr | |
| K_Struct | |
| K_Function | |
| K_Generic | |
| K_OpaqueSelf | |
| K_Meta | |
Definition at line 14 of file type_base.hpp.
|
static |
Definition at line 22 of file type.cpp.
References yume::Mut, yume::Ptr, and yume::Ref.
Referenced by yume::ty::Type::name(), and yume::ty::Ptr::name().
|
static |
Definition at line 53 of file type.cpp.
References yume::ty::Type::base_cast(), yume::ty::Type::base_dyn_cast(), yume::ty::Type::base_isa(), yume::ty::Type::ensure_mut_base(), yume::ty::Type::is_generic(), yume::ty::Type::is_meta(), yume::ty::Type::is_mut(), yume::ty::Generic::name(), yume::ty::Type::ptr_base(), yume::ty::Ptr::qualifier(), visit_subs(), yume::ty::Type::without_meta(), and YUME_ASSERT.
Referenced by yume::ty::Type::determine_generic_subs(), and visit_subs().