sencha-lang/Sencha-lang/AST/ConstantExpression.cpp

65 lines
1.3 KiB
C++
Raw Normal View History

2012-12-05 19:32:43 +00:00
/*
* ConstantExpression.cpp
*
* Created on: Dec 5, 2012
* Author: attero
*/
#include "ConstantExpression.h"
ConstantExpression::ConstantExpression(ASTNode * parent) //Constructor which sets value to null SenchaObject.
{
this->parent = parent;
value = SenchaObject();
this->type = "ConstantExpression";
2012-12-05 19:32:43 +00:00
}
ConstantExpression::~ConstantExpression() {
}
ConstantExpression::ConstantExpression(ASTNode * parent, SenchaObject value) : value(value)
{
this->parent = parent;
this->type = "ConstantExpression";
}
2012-12-06 17:41:16 +00:00
SenchaObject ConstantExpression::evaluate()
{
return value;
}
2012-12-06 17:41:16 +00:00
2012-12-09 11:57:51 +00:00
void ConstantExpression::execute()
{
std::cout << evaluate().repr() << std::endl;
2012-12-09 11:57:51 +00:00
}
void ConstantExpression::execute_quietly()
{
evaluate();
}
void ConstantExpression::accept(Visitor * visitor)
{
visitor->visit(this);
}
2012-12-06 17:41:16 +00:00
ConstantExpression::ConstantExpression(ASTNode * parent, int number)
{
this->parent = parent; value = SenchaObject(number);
this->type = "ConstantExpression";
2012-12-06 17:41:16 +00:00
}
ConstantExpression::ConstantExpression(ASTNode * parent, double number)
{
this->parent = parent;
this->type = "ConstantExpression";
2012-12-06 17:41:16 +00:00
value = SenchaObject(number);
}
ConstantExpression::ConstantExpression(ASTNode * parent, std::string text)
{
this->type = "ConstantExpression";
2012-12-06 17:41:16 +00:00
this->parent = parent; value = SenchaObject(text);
}