10 template <
typename T,
typename TACTIC>
class tnarr;
11 typedef tnarr<node, strTactic> narr;
23 mgdType(
const std::string& name,
const types& supersFromRhs);
26 mgdType(
const std::string& name,
const types& supers,
const types& subs,
const params& ps, nbool isAdt);
29 nbool isTemplate()
const override;
30 nbool isAbstract()
const override;
31 const type& getSuper()
const override;
32 const nbool& isInit()
const override;
33 const std::string& getName()
const override;
35 ncnt size()
const override;
37 void onCloneDeep(
const clonable& from)
override;
39 using super::getParams;
40 params& getParams()
override;
42 const node* getRet()
const override;
45 void setRet(
const node& new1)
override;
49 void*
make()
const override;
52 types& _getSupers()
override;
53 types& _getSubs()
override;
54 type& _getStatic()
const override;
55 types** _onGetLeafs()
const override;
58 void _initSupers(
const type& super);
Interface for objects that can be cloned.
Definition: clonable.hpp:12
Managed type for byeol objects.
Definition: mgdType.hpp:17
void * make() const override
create an instance to be refered this type.
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
Native type system for byeol language.
Definition: ntype.hpp:19
Function parameter list container.
Definition: params.hpp:15
Base class for runtime type information in byeol language.
Definition: type.hpp:12