#ifndef PORYGONLANG_EVALUATIONSCOPE_HPP #define PORYGONLANG_EVALUATIONSCOPE_HPP #include #include #include "../EvalValues/EvalValue.hpp" #include "../EvalValuePointer.hpp" using namespace Porygon::Binder; namespace Porygon::Evaluation { class EvaluationScope { map *_scriptScope; map _localScope; public: explicit EvaluationScope(map *scriptVariables); ~EvaluationScope(){ _localScope.clear(); }; void CreateVariable(const BoundVariableKey *key, EvalValuePointer value); void SetVariable(const BoundVariableKey *key, EvalValuePointer value); EvalValuePointer GetVariable(const BoundVariableKey *key); }; } #endif //PORYGONLANG_EVALUATIONSCOPE_HPP