args.hpp
Go to the documentation of this file.
1
2#pragma once
3
5#include "core/ast/obj.hpp"
6
7namespace by {
8
13 class _nout args: public narr {
14 BY(CLASS(args, narr))
15
16 public:
17 args();
18 args(const narr& rhs);
19 args(const baseObj* me);
20 args(const baseObj* me, const narr& rhs);
21 args(const me& rhs);
22
23 public:
25 const me& setMe(const node& me) const;
26 const me& setMe(const node* me) const BY_SIDE_FUNC(me, setMe(*me), *this);
27 node* getMe() const;
28
30 std::string toStr() const;
31
32 tmay<me> evalAll(const params& ps) const;
33 tmay<me> evalAll(const params* it) const BY_SIDE_FUNC(evalAll);
34
35 private:
36 mutable str _me;
37 };
38}
Function call arguments container.
Definition: args.hpp:13
const me & setMe(const node &me) const
std::string toStr() const
Base class for all objects in byeol language.
Definition: baseObj.hpp:24
Base class for all AST nodes in byeol language.
Definition: node.hpp:30
Function parameter list container.
Definition: params.hpp:15
Optional value wrapper with byeol-style interface.
Definition: tmay.hpp:18