mirror of
https://github.com/4ian/GDevelop.git
synced 2025-10-15 10:19:04 +00:00
42 lines
1.0 KiB
C++
42 lines
1.0 KiB
C++
/*
|
|
* GDevelop Core
|
|
* Copyright 2008-2016 Florian Rival (Florian.Rival@gmail.com). All rights
|
|
* reserved. This project is released under the MIT License.
|
|
*/
|
|
|
|
#include "GDCore/Events/Expression.h"
|
|
|
|
#include "GDCore/Events/Parsers/ExpressionParser2.h"
|
|
#include "GDCore/String.h"
|
|
|
|
namespace gd {
|
|
|
|
Expression::Expression() : node(nullptr) {};
|
|
|
|
Expression::Expression(gd::String plainString_)
|
|
: node(nullptr), plainString(plainString_) {};
|
|
|
|
Expression::Expression(const char* plainString_)
|
|
: node(nullptr), plainString(plainString_) {};
|
|
|
|
Expression::Expression(const Expression& copy)
|
|
: node(nullptr), plainString{copy.plainString} {};
|
|
|
|
Expression& Expression::operator=(const Expression& expression) {
|
|
plainString = expression.plainString;
|
|
node = nullptr;
|
|
return *this;
|
|
};
|
|
|
|
Expression::~Expression(){};
|
|
|
|
ExpressionNode* Expression::GetRootNode() const {
|
|
if (!node) {
|
|
gd::ExpressionParser2 parser = ExpressionParser2();
|
|
node = std::move(parser.ParseExpression(plainString));
|
|
}
|
|
return node.get();
|
|
}
|
|
|
|
} // namespace gd
|