param.hpp
Go to the documentation of this file.
1
2#pragma once
3
4#include "core/common.hpp"
5#include "core/type/ntype.hpp"
7
8namespace by {
13 class _nout param: public instance {
14 BY(CLASS(param, instance))
15
16 public:
17 param(const std::string& newName, const node& org);
18 param(const std::string& newName, const node* org);
19
20 public:
21 nbool operator==(const me& rhs) const;
22 nbool operator!=(const me& rhs) const;
23
24 public:
25 const std::string& getName() const;
26
27 void setName(const std::string& new1);
28 void setName(const std::string* it) BY_SIDE_FUNC(setName);
29 void setName(const nchar* new1) BY_SIDE_FUNC(new1, setName(std::string(new1)), void());
30
31 const node& getOrigin() const;
32 void setOrigin(const node& newType);
33
34 void onCloneDeep(const clonable& from) override;
35
36 public:
37 std::string _name;
38 str _org;
39 };
40}
Interface for objects that can be cloned.
Definition: clonable.hpp:12
Base class for all managed instances in memlite system.
Definition: instance.hpp:20
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
Function parameter definition.
Definition: param.hpp:13