aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AST.cpp4
-rw-r--r--AST.h5
2 files changed, 4 insertions, 5 deletions
diff --git a/AST.cpp b/AST.cpp
index 5391e71b..0ecb639f 100644
--- a/AST.cpp
+++ b/AST.cpp
@@ -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."));
diff --git a/AST.h b/AST.h
index a283a09b..bbb73b08 100644
--- a/AST.h
+++ b/AST.h
@@ -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;