59 lines
1.2 KiB
C++
59 lines
1.2 KiB
C++
/*
|
|
* 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();
|
|
}
|
|
|
|
ConstantExpression::~ConstantExpression() {
|
|
|
|
}
|
|
|
|
ConstantExpression::ConstantExpression(ASTNode * parent, SenchaObject value)
|
|
{
|
|
this->parent = parent;
|
|
this->value = value;
|
|
}
|
|
|
|
SenchaObject ConstantExpression::evaluate()
|
|
{
|
|
return value;
|
|
}
|
|
|
|
void ConstantExpression::execute()
|
|
{
|
|
std::cout << evaluate().repr() << std::endl;
|
|
}
|
|
|
|
void ConstantExpression::execute_quietly()
|
|
{
|
|
evaluate();
|
|
}
|
|
|
|
/*! \fn Constructor which creates SenchaObject(number) and sets value to it */
|
|
ConstantExpression::ConstantExpression(ASTNode * parent, int number)
|
|
{
|
|
this->parent = parent; value = SenchaObject(number);
|
|
}
|
|
|
|
ConstantExpression::ConstantExpression(ASTNode * parent, double number)
|
|
{
|
|
this->parent = parent;
|
|
value = SenchaObject(number);
|
|
}
|
|
|
|
ConstantExpression::ConstantExpression(ASTNode * parent, std::string text)
|
|
{
|
|
this->parent = parent; value = SenchaObject(text);
|
|
}
|
|
|
|
std::string ConstantExpression::debug() { return "Constant expression:\n" + value.repr() + "\n"; }
|