#include "ExpressionVariable.h" shared_ptr ExpressionVariable::simple(string identifier) { shared_ptr expression = make_shared(); expression->variableKind = ExpressionVariableKind::SIMPLE; expression->identifier = identifier; return expression; } shared_ptr ExpressionVariable::data(string identifier, shared_ptr indexExpression) { shared_ptr expression = make_shared(); expression->variableKind = ExpressionVariableKind::DATA; expression->identifier = identifier; expression->indexExpression = indexExpression; return expression; } shared_ptr ExpressionVariable::blob(string identifier, string memberName) { shared_ptr expression = make_shared(); expression->variableKind = ExpressionVariableKind::BLOB; expression->identifier = identifier; expression->memberName = memberName; return expression; } ExpressionVariable::ExpressionVariable(): Expression(ExpressionKind::VARIABLE, nullptr) { } ExpressionVariableKind ExpressionVariable::getVariableKind() { return variableKind; } string ExpressionVariable::getIdentifier() { return identifier; } shared_ptr ExpressionVariable::getIndexExpression() { return indexExpression; } string ExpressionVariable::getMemberName() { return memberName; }