diff options
-rw-r--r-- | AST.cpp | 4 | ||||
-rw-r--r-- | AST.h | 5 |
2 files changed, 4 insertions, 5 deletions
@@ -333,11 +333,9 @@ void Assignment::checkTypeRequirements() m_rightHandSide->expectType(*m_leftHandSide->getType()); m_type = m_leftHandSide->getType(); if (m_assigmentOperator != Token::ASSIGN) - { // compound assignment if (!m_type->acceptsBinaryOperator(Token::AssignmentToBinaryOp(m_assigmentOperator))) BOOST_THROW_EXCEPTION(createTypeError("Operator not compatible with type.")); - } } void ExpressionStatement::checkTypeRequirements() @@ -358,10 +356,8 @@ void UnaryOperation::checkTypeRequirements() // INC, DEC, ADD, SUB, NOT, BIT_NOT, DELETE m_subExpression->checkTypeRequirements(); if (m_operator == Token::Value::INC || m_operator == Token::Value::DEC || m_operator == Token::Value::DELETE) - { if (!m_subExpression->isLvalue()) BOOST_THROW_EXCEPTION(createTypeError("Expression has to be an lvalue.")); - } m_type = m_subExpression->getType(); if (!m_type->acceptsUnaryOperator(m_operator)) BOOST_THROW_EXCEPTION(createTypeError("Unary operator not compatible with type.")); @@ -180,7 +180,8 @@ public: Block& getBody() { return *m_body; } void addLocalVariable(VariableDeclaration const& _localVariable) { m_localVariables.push_back(&_localVariable); } - std::vector<VariableDeclaration const*>const& getLocalVariables() const { return m_localVariables; } + std::vector<VariableDeclaration const*> const& getLocalVariables() const { return m_localVariables; } + private: bool m_isPublic; ASTPointer<ParameterList> m_parameters; @@ -345,6 +346,7 @@ public: Expression& getCondition() const { return *m_condition; } Statement& getTrueStatement() const { return *m_trueBody; } Statement* getFalseStatement() const { return m_falseBody.get(); } + private: ASTPointer<Expression> m_condition; ASTPointer<Statement> m_trueBody; @@ -373,6 +375,7 @@ public: Expression& getCondition() const { return *m_condition; } Statement& getBody() const { return *m_body; } + private: ASTPointer<Expression> m_condition; ASTPointer<Statement> m_body; |