forked from qt-creator/qt-creator
Update qmljs parser to Qt 5.15 parser
* parser side support for annotations, inline components, new UiVersion and all the things included in QT 5.15 parser * SourceLocation moved from QmlJS:AST to QmlJS * Visitors now need to handle throwRecursionDepthError * BaseVisitor for visitors that want to override all visit Task-number: QTCREATORBUG-23591 Change-Id: I682a30d0b08b6c929739fd0e339ef6fbde3eb630 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
@@ -313,6 +313,12 @@ protected:
|
||||
_state = ReachesEnd;
|
||||
return false;
|
||||
}
|
||||
|
||||
void throwRecursionDepthError() override
|
||||
{
|
||||
// handle differently? ReturnOrThrow declares unreachable code, but probably leads to bogus warnings
|
||||
_state = ReachesEnd;
|
||||
}
|
||||
};
|
||||
|
||||
class MarkUnreachableCode : protected ReachesEndCheck
|
||||
@@ -352,6 +358,11 @@ protected:
|
||||
if (message.isValid())
|
||||
_messages += message;
|
||||
}
|
||||
|
||||
void throwRecursionDepthError() override
|
||||
{
|
||||
_messages.append(Message(ErrHitMaximumRecursion, SourceLocation()));
|
||||
}
|
||||
};
|
||||
|
||||
class DeclarationsCheck : protected Visitor
|
||||
@@ -510,6 +521,11 @@ protected:
|
||||
--_block;
|
||||
}
|
||||
|
||||
void throwRecursionDepthError() override
|
||||
{
|
||||
addMessage(ErrHitMaximumRecursion, SourceLocation());
|
||||
}
|
||||
|
||||
private:
|
||||
void addMessage(StaticAnalysis::Type type, const SourceLocation &loc, const QString &arg1 = QString())
|
||||
{
|
||||
@@ -808,6 +824,11 @@ void Check::endVisit(UiObjectInitializer *)
|
||||
m_idStack.pop();
|
||||
}
|
||||
|
||||
void Check::throwRecursionDepthError()
|
||||
{
|
||||
addMessage(ErrHitMaximumRecursion, SourceLocation());
|
||||
}
|
||||
|
||||
void Check::checkProperty(UiQualifiedId *qualifiedId)
|
||||
{
|
||||
const QString id = toString(qualifiedId);
|
||||
|
Reference in New Issue
Block a user