From 23f25beb27ce8f771a30d5b3c82c3fbcbb813c5c Mon Sep 17 00:00:00 2001 From: dehnert Date: Mon, 10 Jun 2013 22:14:51 +0200 Subject: [PATCH] More fixes. Still TODO: copy constructors for IR classes. --- src/ir/expressions/BooleanConstantExpression.cpp | 5 ++--- src/ir/expressions/ConstantExpression.cpp | 4 ++++ src/ir/expressions/ConstantExpression.h | 7 +++++++ src/ir/expressions/IntegerConstantExpression.cpp | 2 ++ src/ir/expressions/UnaryBooleanFunctionExpression.cpp | 5 +---- src/ir/expressions/UnaryNumericalFunctionExpression.cpp | 2 +- 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/ir/expressions/BooleanConstantExpression.cpp b/src/ir/expressions/BooleanConstantExpression.cpp index 1a3a89deb..24d22b7db 100644 --- a/src/ir/expressions/BooleanConstantExpression.cpp +++ b/src/ir/expressions/BooleanConstantExpression.cpp @@ -13,9 +13,8 @@ namespace storm { namespace ir { namespace expressions { - BooleanConstantExpression::BooleanConstantExpression(std::string const& constantName) : ConstantExpression(bool_, constantName) { - defined = false; - value = false; + BooleanConstantExpression::BooleanConstantExpression(std::string const& constantName) : ConstantExpression(bool_, constantName), value(false), defined(false) { + // Nothing to do here. } std::shared_ptr BooleanConstantExpression::clone(std::map const& renaming, storm::parser::prism::VariableState const& variableState) const { diff --git a/src/ir/expressions/ConstantExpression.cpp b/src/ir/expressions/ConstantExpression.cpp index 65a9a54a5..95784b7eb 100644 --- a/src/ir/expressions/ConstantExpression.cpp +++ b/src/ir/expressions/ConstantExpression.cpp @@ -15,6 +15,10 @@ namespace storm { // Nothing to do here. } + ConstantExpression::ConstantExpression(ConstantExpression const& constantExpression) : BaseExpression(constantExpression.getType()), constantName(constantExpression.constantName) { + // Nothing to do here + } + std::string const& ConstantExpression::getConstantName() const { return constantName; } diff --git a/src/ir/expressions/ConstantExpression.h b/src/ir/expressions/ConstantExpression.h index d313c11d4..24f82db32 100644 --- a/src/ir/expressions/ConstantExpression.h +++ b/src/ir/expressions/ConstantExpression.h @@ -28,6 +28,13 @@ namespace storm { */ ConstantExpression(ReturnType type, std::string const& constantName); + /*! + * Copy-constructs a constant expression from the given constant expression. + * + * @param constantExpression The constant expression to copy. + */ + ConstantExpression(ConstantExpression const& constantExpression); + /*! * Retrieves the name of the constant. * diff --git a/src/ir/expressions/IntegerConstantExpression.cpp b/src/ir/expressions/IntegerConstantExpression.cpp index 15d04c5d1..cabb2e45b 100644 --- a/src/ir/expressions/IntegerConstantExpression.cpp +++ b/src/ir/expressions/IntegerConstantExpression.cpp @@ -5,6 +5,8 @@ * Author: Christian Dehnert */ +#include + #include "IntegerConstantExpression.h" namespace storm { diff --git a/src/ir/expressions/UnaryBooleanFunctionExpression.cpp b/src/ir/expressions/UnaryBooleanFunctionExpression.cpp index 9f8443985..1558e7500 100644 --- a/src/ir/expressions/UnaryBooleanFunctionExpression.cpp +++ b/src/ir/expressions/UnaryBooleanFunctionExpression.cpp @@ -5,9 +5,6 @@ * Author: Christian Dehnert */ -#ifndef STORM_IR_EXPRESSIONS_UNARYBOOLEANFUNCTIONEXPRESSION_H_ -#define STORM_IR_EXPRESSIONS_UNARYBOOLEANFUNCTIONEXPRESSION_H_ - #include #include "UnaryBooleanFunctionExpression.h" @@ -24,7 +21,7 @@ namespace storm { return std::shared_ptr(new UnaryBooleanFunctionExpression(this->getChild()->clone(renaming, variableState), this->functionType)); } - FunctionType UnaryBooleanFunctionExpression::getFunctionType() const { + UnaryBooleanFunctionExpression::FunctionType UnaryBooleanFunctionExpression::getFunctionType() const { return functionType; } diff --git a/src/ir/expressions/UnaryNumericalFunctionExpression.cpp b/src/ir/expressions/UnaryNumericalFunctionExpression.cpp index 7985a4ccd..943e7f89b 100644 --- a/src/ir/expressions/UnaryNumericalFunctionExpression.cpp +++ b/src/ir/expressions/UnaryNumericalFunctionExpression.cpp @@ -45,7 +45,7 @@ namespace storm { } } - FunctionType UnaryNumericalFunctionExpression::getFunctionType() const { + UnaryNumericalFunctionExpression::FunctionType UnaryNumericalFunctionExpression::getFunctionType() const { return functionType; }