15 static mgdType _make(
void*,
const std::string& name,
const type& super,
const params& ps, nbool isAdt,
17 return mgdType(name, super, ps, isAdt, ret);
26 template <
typename T>
static auto make(
const params& ps,
const node* ret) {
30 template <
typename T>
static auto make(
const std::string& name) {
return make<T>(name,
params(),
nullptr); }
33 static auto make(
const std::string& name,
const params& ps,
const node* ret)
34 ->
decltype(_make((T*)
nullptr, name,
ttype<T>::get(), ps, !std::is_constructible<T>::value, ret)) {
35 return _make((T*)
nullptr, name,
ttype<T>::get(), ps, !std::is_constructible<T>::value, ret);
Base class for all function types.
Definition: baseFunc.hpp:18
Managed type for function objects.
Definition: funcMgdType.hpp:10
Managed type for byeol objects.
Definition: mgdType.hpp:17
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
Function parameter list container.
Definition: params.hpp:15
Template type wrapper for type metadata management.
Definition: ttype.hpp:16
Base class for runtime type information in byeol language.
Definition: type.hpp:12
Factory for creating managed types.
Definition: typeMaker.hpp:11