|
Yume
|
#include <type_holder.hpp>

Classes | |
| struct | IntTypePair |
Public Member Functions | |
| TypeHolder () | |
| void | declare_size_type (Compiler &) |
| constexpr auto | int8 () -> IntTypePair |
| constexpr auto | int16 () -> IntTypePair |
| constexpr auto | int32 () -> IntTypePair |
| constexpr auto | int64 () -> IntTypePair |
| auto | find_or_create_fn_type (const vector< ty::Type > &args, optional< ty::Type > ret, const vector< ty::Type > &closure) -> ty::Function * |
| auto | find_or_create_fn_ptr_type (const vector< ty::Type > &args, optional< ty::Type > ret, bool c_varargs=false) -> ty::Function * |
Public Attributes | |
| array< IntTypePair, 4 > | int_types {} |
| ty::Int * | bool_type {} |
| IntTypePair | size_type {} |
| ty::Nil * | nil_type {} |
| llvm::StringMap< unique_ptr< ty::BaseType > > | known {} |
| std::vector< unique_ptr< ty::Function > > | fn_types {} |
Definition at line 11 of file type_holder.hpp.
| yume::TypeHolder::TypeHolder | ( | ) |
| void yume::TypeHolder::declare_size_type | ( | Compiler & | compiler | ) |
Definition at line 33 of file type_holder.cpp.
References known, yume::Compiler::ptr_bitsize(), yume::TypeHolder::IntTypePair::s_ty, size_type, and yume::TypeHolder::IntTypePair::u_ty.
Referenced by yume::Compiler::Compiler().
| auto yume::TypeHolder::find_or_create_fn_ptr_type | ( | const vector< ty::Type > & | args, |
| optional< ty::Type > | ret, | ||
| bool | c_varargs = false |
||
| ) | -> ty::Function* |
Definition at line 53 of file type_holder.cpp.
Referenced by yume::semantic::TypeWalker::statement().
| auto yume::TypeHolder::find_or_create_fn_type | ( | const vector< ty::Type > & | args, |
| optional< ty::Type > | ret, | ||
| const vector< ty::Type > & | closure | ||
| ) | -> ty::Function* |
Definition at line 43 of file type_holder.cpp.
Referenced by yume::semantic::TypeWalker::expression().
|
inlineconstexpr |
Definition at line 29 of file type_holder.hpp.
References int_types.
|
inlineconstexpr |
Definition at line 30 of file type_holder.hpp.
References int_types.
Referenced by yume::semantic::TypeWalker::expression().
|
inlineconstexpr |
Definition at line 31 of file type_holder.hpp.
References int_types.
Referenced by yume::semantic::TypeWalker::expression().
|
inlineconstexpr |
Definition at line 28 of file type_holder.hpp.
References int_types.
Referenced by yume::semantic::TypeWalker::expression().
| ty::Int* yume::TypeHolder::bool_type {} |
Definition at line 18 of file type_holder.hpp.
Referenced by yume::semantic::TypeWalker::expression(), and TypeHolder().
| std::vector<unique_ptr<ty::Function> > yume::TypeHolder::fn_types {} |
Definition at line 22 of file type_holder.hpp.
| array<IntTypePair, 4> yume::TypeHolder::int_types {} |
Definition at line 17 of file type_holder.hpp.
Referenced by int16(), int32(), int64(), int8(), and TypeHolder().
| llvm::StringMap<unique_ptr<ty::BaseType> > yume::TypeHolder::known {} |
Definition at line 21 of file type_holder.hpp.
Referenced by declare_size_type(), and TypeHolder().
| ty::Nil* yume::TypeHolder::nil_type {} |
Definition at line 20 of file type_holder.hpp.
Referenced by TypeHolder().
| IntTypePair yume::TypeHolder::size_type {} |
Definition at line 19 of file type_holder.hpp.
Referenced by declare_size_type().