Rework evaluation to use shared pointers, fix bugs

This commit is contained in:
2019-06-01 21:38:39 +02:00
parent 4408cf00cd
commit 6206fef4c5
17 changed files with 122 additions and 133 deletions

View File

@@ -19,9 +19,9 @@ using namespace std;
class Script {
friend class Evaluator;
EvalValue* _lastValue;
shared_ptr<EvalValue> _lastValue;
Evaluator* _evaluator;
unordered_map<int, EvalValue*>* _scriptVariables;
unordered_map<int, shared_ptr<EvalValue>>* _scriptVariables;
explicit Script();
@@ -36,7 +36,7 @@ public:
void Evaluate();
EvalValue* GetLastValue(){
return _lastValue;
return _lastValue.get();
};
EvalValue* GetVariable(const string& key);