swissChili | 7babd92 | 2021-12-02 22:46:48 -0800 | [diff] [blame^] | 1 | #pragma once |
2 | |||||
3 | #include <QMap> | ||||
4 | #include "Token.h" | ||||
5 | |||||
6 | class VarContext { | ||||
7 | public: | ||||
8 | VarContext() = default; | ||||
9 | VarContext(VarContext const &other) noexcept; | ||||
10 | |||||
11 | void add(char t, const QString &&name, const Token &value); | ||||
12 | char exists(const QString &name); | ||||
13 | Token operator [](const QString &name); | ||||
14 | |||||
15 | private: | ||||
16 | struct Var { | ||||
17 | Var() = default; | ||||
18 | |||||
19 | char t = 0; | ||||
20 | Token value; | ||||
21 | }; | ||||
22 | |||||
23 | QMap<QString, Var> _vars; | ||||
24 | }; |