14 std::unique_ptr < Expression > m_expression;
17 TypeExpression ( std::unique_ptr < Expression > expression ) : m_expression (
std::move ( expression ) ) {
21 std::shared_ptr < abstraction::Value > translatedExpression = m_expression->translateAndEval ( environment );
26 type += translatedExpression->getType ( );
32 return std::make_shared < abstraction::ValueHolder < std::string > > ( std::move ( type ), true );
static constexpr bool isRvalueRef(TypeQualifierSet arg)
Definition: TypeQualifiers.hpp:43
static constexpr bool isConst(TypeQualifierSet arg)
Definition: TypeQualifiers.hpp:35
static constexpr bool isLvalueRef(TypeQualifierSet arg)
Definition: TypeQualifiers.hpp:47
Definition: Environment.h:29
Definition: Expression.h:14
Definition: TypeExpression.h:13
TypeExpression(std::unique_ptr< Expression > expression)
Definition: TypeExpression.h:17
std::shared_ptr< abstraction::Value > translateAndEval(Environment &environment) const override
Definition: TypeExpression.h:20
Definition: FordFulkerson.hpp:16