|
tan
0.0.1
|


Public Member Functions | |
| bool | is_function () const override |
| Type * | get_return_type () const |
| void | set_return_type (Type *t) |
| vector< Type * > | get_arg_types () const |
| void | set_arg_types (const vector< Type * > &arg_types) |
| vector< Type * > | children () const override |
Public Member Functions inherited from tanlang::Type | |
| virtual bool | is_primitive () const |
| virtual bool | is_pointer () const |
| virtual bool | is_array () const |
| virtual bool | is_string () const |
| virtual bool | is_struct () const |
| virtual bool | is_ref () const |
| virtual bool | is_float () const |
| virtual bool | is_int () const |
| virtual bool | is_num () const |
| virtual bool | is_unsigned () const |
| virtual bool | is_bool () const |
| virtual bool | is_void () const |
| virtual bool | is_char () const |
| virtual int | get_align_bits () |
| virtual int | get_size_bits () |
| bool | is_canonical () const |
| const str & | get_typename () const |
Protected Member Functions | |
| FunctionType (Type *ret_type, const vector< Type * > &arg_types) | |
Friends | |
| class | Type |
Additional Inherited Members | |
Static Public Member Functions inherited from tanlang::Type | |
| static PrimitiveType * | GetVoidType () |
| static PrimitiveType * | GetBoolType () |
| static PrimitiveType * | GetCharType () |
| static PrimitiveType * | GetIntegerType (size_t bit_size, bool is_unsigned) |
| static PrimitiveType * | GetFloatType (size_t bit_size) |
| static StringType * | GetStringType () |
| static PointerType * | GetPointerType (Type *pointee) |
| static ArrayType * | GetArrayType (Type *element_type, int size) |
| static FunctionType * | GetFunctionType (Type *ret_type, const vector< Type * > &arg_types) |
| static StructType * | GetStructType (StructDecl *decl) |
| static TypeRef * | GetTypeRef (const str &name) |
| static bool | IsCanonical (const Type &type) |
| A composite type is canonical only if its subtype(s) are also canonical. A non-composite type is canonical only if it's not a type reference. More... | |
Static Public Attributes inherited from tanlang::Type | |
| static vector< str > | ALL_TYPE_NAMES |
Protected Attributes inherited from tanlang::Type | |
| str | _type_name {} |
Static Protected Attributes inherited from tanlang::Type | |
| static StringType * | STRING_TYPE = new StringType() |
| static umap< Type *, PointerType * > | POINTER_TYPE_CACHE {} |
| static umap< pair< Type *, int >, ArrayType *, PairHash > | ARRAY_TYPE_CACHE {} |
| static umap< str, Type * > | NAMED_TYPE_CACHE {} |