Implements string evaluation and concat

This commit is contained in:
2019-05-25 16:15:20 +02:00
parent b536187593
commit 0205b92ae6
10 changed files with 123 additions and 6 deletions

View File

@@ -0,0 +1,38 @@
#ifndef PORYGONLANG_STRINGEVALVALUE_HPP
#define PORYGONLANG_STRINGEVALVALUE_HPP
#include <string>
#include "EvalValue.hpp"
using namespace std;
class StringEvalValue : public EvalValue{
string _value;
ScriptType* _type;
public:
explicit StringEvalValue(string s){
_value = move(s);
_type = new ScriptType(TypeClass::String);
}
~StringEvalValue() final{
delete _type;
}
ScriptType* GetType() final{
return _type;
};
bool operator ==(EvalValue* b) final{
if (b->GetType()->GetClass() != TypeClass::String)
return false;
return this->_value == b->EvaluateString();
};
string EvaluateString() final{
return _value;
}
};
#endif //PORYGONLANG_STRINGEVALVALUE_HPP