로딩중...
검색중...
일치하는것 없음
mgdType.hpp
이 파일의 문서화 페이지로 가기
1
2#pragma once
3
4#include "core/ast/params.hpp"
5#include "core/type/ntype.hpp"
6
7namespace by {
8
9 class node;
10 template <typename T, typename TACTIC> class tnarr;
11 typedef tnarr<node, strTactic> narr;
12
18 class _nout mgdType: public ntype, public clonable {
19 BY(ME(mgdType, ntype), CLONE(mgdType))
20
21 public:
22 mgdType(const std::string& name, const type& super, const params& ps);
31 mgdType(const std::string& name, const type& super, const params& ps, nbool isAdt, const node* ret);
32 mgdType(const std::string& name, const types& supersFromRhs);
33
34 private:
43 mgdType(const std::string& name, const types& supers, const types& subs, const params& ps, nbool isAdt);
44
45 public:
46 nbool isTemplate() const override;
47 nbool isAbstract() const override;
48 const type& getSuper() const override;
49 const nbool& isInit() const override;
50 const std::string& getName() const override;
51
52 ncnt size() const override;
53
60 void onCloneDeep(const clonable& from) override;
61
62 using super::getParams;
63 params& getParams() override;
64
65 const node* getRet() const override;
66
67 using super::setRet;
68 void setRet(const node& new1) override;
69
70 // TODO: getSubs(), getLeafs()
71
72 void* make() const override;
73
74 protected:
75 types& _getSupers() override;
76 types& _getSubs() override;
77 type& _getStatic() const override;
78 types** _onGetLeafs() const override;
79
80 private:
81 void _initSupers(const type& super);
82
83 private:
84 std::string _name;
85 types _supers;
86 types _subs;
87 params _params;
88 nbool _isAdt;
89 str _ret;
90 };
91} // namespace by
Script type for byeol objects
Definition mgdType.hpp:18
void onCloneDeep(const clonable &from) override
Performs a deep clone operation for this script type instance.
Base class for all AST nodes in the byeol language
Definition node.hpp:195
represents native c++ type system for byeol language
Definition ntype.hpp:33
Function parameter list container
Definition params.hpp:16
Definition tnarr.hpp:9
to Top