|
Yume
|
An user-defined struct type with associated fields. More...
#include <type.hpp>


Public Member Functions | |
| Struct (string name, vector< ast::TypeName * > fields, nonnull< yume::Struct * > decl, nullable< const Substitutions * > subs) | |
| auto | fields () const -> const auto & |
| auto | fields () -> auto & |
| auto | subs () const -> const auto * |
| auto | subs () -> auto * |
| auto | decl () const -> nonnull< yume::Struct * > |
| auto | is_interface () const -> bool |
| auto | implements () const -> const ast::OptionalType & |
| auto | name () const -> string override |
| auto | memo () const -> auto * |
| void | memo (Compiler &, llvm::Type *memo) const |
| auto | get_or_create_instantiation (Substitutions sub) const -> const Struct & |
Public Member Functions inherited from yume::ty::BaseType | |
| BaseType (const BaseType &) noexcept=delete | |
| BaseType (BaseType &&) noexcept=delete | |
| auto | operator= (const BaseType &) noexcept -> BaseType &=delete |
| auto | operator= (BaseType &&) noexcept -> BaseType &=delete |
| virtual | ~BaseType ()=default |
| auto | kind () const -> Kind |
| auto | base_name () const -> string |
| virtual auto | name () const -> string=0 |
Additional Inherited Members | |
Protected Member Functions inherited from yume::ty::BaseType | |
| BaseType (Kind kind, string name) | |
|
inline |
|
inline |
Definition at line 115 of file type.hpp.
Referenced by yume::Compiler::expression().
|
inline |
| auto yume::ty::Struct::get_or_create_instantiation | ( | Substitutions | sub | ) | const -> const Struct& |
Definition at line 306 of file type.cpp.
References get_or_create_instantiation().
Referenced by get_or_create_instantiation().
| auto yume::ty::Struct::implements | ( | ) | const -> const ast::OptionalType& |
| auto yume::ty::Struct::is_interface | ( | ) | const -> bool |
Definition at line 377 of file type.cpp.
Referenced by yume::Compiler::expression().
|
inline |
|
overridevirtual |
Implements yume::ty::BaseType.
Definition at line 462 of file type.cpp.
References yume::ty::BaseType::base_name().
|
inline |