|
sammine-lang
|
Public Member Functions | |
| operator bool () const | |
| bool | synthesized () const |
| Type (TypeKind type_kind, TypeData type_data) | |
| Type (const Type &other) | |
| Type (Type &&other) noexcept | |
| Type & | operator= (const Type &other) |
| Type & | operator= (Type &&other) noexcept |
| bool | operator== (const Type &other) const |
| bool | operator!= (const Type &other) const |
| bool | operator< (const Type &t) const |
| bool | operator> (const Type &t) const |
| std::string | to_string () const |
| bool | is_poisoned () const |
| bool | is_literal () const |
| bool | is_polymorphic_numeric () const |
| bool | isTypeWrapping () const |
| bool | containsLinear () const |
| template<typename F> | |
| void | forEachInnerType (F &&callback) const |
| operator std::string () const | |
Static Public Member Functions | |
| static Type | I32_t () |
| static Type | I64_t () |
| static Type | U32_t () |
| static Type | U64_t () |
| static Type | F64_t () |
| static Type | Bool () |
| static Type | Char () |
| static Type | Poisoned () |
| static Type | Unit () |
| static Type | Never () |
| static Type | Integer () |
| static Type | Flt () |
| static Type | String (const std::string &str) |
| static Type | NonExistent () |
| static Type | TypeParam (const std::string &name) |
| static Type | Pointer (Type pointee) |
| static Type | Array (Type element, size_t size) |
| static Type | Struct (sammine_util::QualifiedName name, std::vector< std::string > field_names, std::vector< Type > field_types) |
| static Type | Enum (sammine_util::QualifiedName name, std::vector< EnumType::VariantInfo > variants, bool integer_backed=false, TypeKind backing_type=TypeKind::I32_t) |
| static Type | Tuple (std::vector< Type > element_types) |
| static Type | Function (std::vector< Type > params, bool var_arg=false) |
Public Attributes | |
| TypeKind | type_kind |
| TypeData | type_data |
| bool | is_mutable = false |
| bool | is_linear = false |