forked from qt-creator/qt-creator
QmlJS checks: Hint about extra parentheses.
Migrated from QtChecker. Change-Id: I85f7dd039ac858b103dfe0af257f66031540c5de Reviewed-on: http://codereview.qt-project.org/5969 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
This commit is contained in:
@@ -525,6 +525,7 @@ Check::Check(Document::Ptr doc, const ContextPtr &context)
|
||||
disableMessage(HintDeclarationsShouldBeAtStartOfFunction);
|
||||
disableMessage(HintBinaryOperatorSpacing);
|
||||
disableMessage(HintOneStatementPerLine);
|
||||
disableMessage(HintExtraParentheses);
|
||||
}
|
||||
|
||||
Check::~Check()
|
||||
@@ -1104,6 +1105,13 @@ void Check::checkBindingRhs(Statement *statement)
|
||||
addMessages(unreachableCheck(statement));
|
||||
}
|
||||
|
||||
void Check::checkExtraParentheses(ExpressionNode *expression)
|
||||
{
|
||||
if (NestedExpression *nested = cast<NestedExpression *>(expression)) {
|
||||
addMessage(HintExtraParentheses, nested->lparenToken);
|
||||
}
|
||||
}
|
||||
|
||||
void Check::addMessages(const QList<Message> &messages)
|
||||
{
|
||||
foreach (const Message &msg, messages)
|
||||
@@ -1199,6 +1207,30 @@ bool Check::visit(StatementList *ast)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Check::visit(ReturnStatement *ast)
|
||||
{
|
||||
checkExtraParentheses(ast->expression);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Check::visit(ThrowStatement *ast)
|
||||
{
|
||||
checkExtraParentheses(ast->expression);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Check::visit(DeleteExpression *ast)
|
||||
{
|
||||
checkExtraParentheses(ast->expression);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Check::visit(TypeOfExpression *ast)
|
||||
{
|
||||
checkExtraParentheses(ast->expression);
|
||||
return true;
|
||||
}
|
||||
|
||||
/// When something is changed here, also change ReadingContext::lookupProperty in
|
||||
/// texttomodelmerger.cpp
|
||||
/// ### Maybe put this into the context as a helper method.
|
||||
|
Reference in New Issue
Block a user