68 "unexpected kind of size expression of ValueArrayExpression (" << expression.
size()->toExpression() <<
").");
69 uint64_t size = expression.
size()->evaluateAsInt();
70 for (uint64_t i = 0; i < size; ++i) {
71 expression.
at(i)->accept(*
this, data);
78 expression.
size()->accept(*
this, data);
89 auto& set = *boost::any_cast<std::unordered_set<std::string>*>(data);
104 virtual void traverse(
Model const& model, boost::any
const& data)
override {
109 auto& res = *boost::any_cast<bool*>(data);
123 std::unordered_set<std::string> result;
124 expression.
accept(v, &result);
Represents an access to an array.
std::shared_ptr< BaseExpression const > const & getSecondOperand() const
Retrieves the second operand of the expression.
std::shared_ptr< BaseExpression const > const & getFirstOperand() const
Retrieves the first operand of the expression.
Represents an array of the given size, where the i'th entry is determined by the elementExpression,...
virtual std::shared_ptr< BaseExpression const > size() const override
std::shared_ptr< BaseExpression const > const & getElementExpression() const
boost::any accept(ExpressionVisitor &visitor, boost::any const &data) const
Accepts the given visitor.
virtual boost::any visit(IfThenElseExpression const &expression, boost::any const &data)=0
Represents an array with a given list of elements.
uint64_t getNumberOfArguments() const
std::shared_ptr< BaseExpression const > getArgument(uint64_t i) const
std::string const & getFunctionIdentifier() const
std::shared_ptr< BaseExpression const > getElseExpression() const
Retrieves the else expression of the if-then-else expression.
std::shared_ptr< BaseExpression const > getCondition() const
Retrieves the condition expression of the if-then-else expression.
std::shared_ptr< BaseExpression const > getThenExpression() const
Retrieves the then expression of the if-then-else expression.
virtual std::shared_ptr< BaseExpression const > getOperand(uint_fast64_t operandIndex) const override
Retrieves the given operand from the expression.
Represents an array with a given list of elements.
virtual std::shared_ptr< BaseExpression const > size() const override
virtual std::shared_ptr< BaseExpression const > at(uint64_t i) const override
virtual void traverse(Model const &model, boost::any const &data)
virtual boost::any visit(storm::expressions::ConstructorArrayExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::FunctionCallExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::IntegerLiteralExpression const &, boost::any const &) override
virtual boost::any visit(storm::expressions::BooleanLiteralExpression const &, boost::any const &) override
virtual boost::any visit(storm::expressions::RationalLiteralExpression const &, boost::any const &) override
virtual boost::any visit(storm::expressions::BinaryBooleanFunctionExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::BinaryNumericalFunctionExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::IfThenElseExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::BinaryRelationExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::VariableExpression const &, boost::any const &) override
virtual boost::any visit(storm::expressions::ValueArrayExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::TranscendentalNumberLiteralExpression const &, boost::any const &) override
virtual boost::any visit(storm::expressions::UnaryBooleanFunctionExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::UnaryNumericalFunctionExpression const &expression, boost::any const &data) override
virtual boost::any visit(storm::expressions::ArrayAccessExpression const &expression, boost::any const &data) override
virtual void traverse(storm::expressions::Expression const &expression, boost::any const &data) override
virtual void traverse(Model const &model, boost::any const &data) override
#define STORM_LOG_ASSERT(cond, message)
std::unordered_set< std::string > getOccurringFunctionCalls(storm::expressions::Expression const &expression)
bool containsFunctionCallExpression(Model const &model)