retExpr.hpp
Go to the documentation of this file.
1
2#pragma once
3
5
6namespace by {
7
8 class visitor;
9
14 class _nout retExpr: public retStateExpr {
15 BY(CLASS(retExpr, retStateExpr, expr::exprType), VISIT())
16
17 public:
18 retExpr(const node& ret);
19 retExpr();
20
21 public:
22 using super::run;
23 str run(const args& a) override;
24
25 node& getRet();
26 const node& getRet() const BY_CONST_FUNC(getRet())
27
28 using super::prioritize;
29 priorType prioritize(const args& a) const override;
30
31 str getEval() const override;
32
33 private:
34 nbool _isEx(const node& got, const node& funcRet);
35
36 private:
37 str _ret;
38 };
39}
Function call arguments container.
Definition: args.hpp:13
Type information for expression nodes
Definition: expr.hpp:22
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
Return statement expression.
Definition: retExpr.hpp:14
str getEval() const override
const node &getRet() const BY_CONST_FUNC(getRet()) using super priorType prioritize(const args &a) const override
Base class for return state expressions.
Definition: retStateExpr.hpp:19
priorType
the lower value, the higher priority.
Definition: tpriorities.hpp:8