defAssignExpr.hpp
Go to the documentation of this file.
1
2#pragma once
3
5
6namespace by {
11 class _nout defAssignExpr: public defVarExpr {
12 BY(CLASS(defAssignExpr, defVarExpr, expr::exprType), VISIT())
13
14 public:
15 defAssignExpr(const std::string& name, const node* rhs);
16 defAssignExpr(const std::string& name, const node* rhs, const node* to, const src& s, const modifier& mod);
17 defAssignExpr(const std::string& name, const node* type, const node* rhs, const node* to, const src& s,
18 const modifier& mod);
19
20 public:
21 str getEval() const override;
22 const node* getExplicitType() const;
23 void setExplicitType(const node& newType);
24
25 protected:
26 str _onMakeNew() override;
27
28 private:
29 str _type;
30 };
31}
Variable definition with assignment expression.
Definition: defAssignExpr.hpp:11
str getEval() const override
Variable definition expression base class.
Definition: defVarExpr.hpp:17
Type information for expression nodes
Definition: expr.hpp:22
Access modifier for class members and func.
Definition: modifier.hpp:12
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
Source location information.
Definition: src.hpp:11
Base class for runtime type information in byeol language.
Definition: type.hpp:12