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:
Fawzi Mohamed
2020-02-28 17:51:32 +01:00
parent a24dead5f6
commit b09a48599e
88 changed files with 5290 additions and 4350 deletions

View File

@@ -125,7 +125,7 @@ bool SimpleAbstractStreamReader::readFile(const QString &fileName)
bool SimpleAbstractStreamReader::readFromSource(const QString &source)
{
m_errors.clear();
m_currentSourceLocation = AST::SourceLocation();
m_currentSourceLocation = SourceLocation();
m_source = source;
@@ -151,7 +151,7 @@ QStringList SimpleAbstractStreamReader::errors() const
return m_errors;
}
void SimpleAbstractStreamReader::addError(const QString &error, const AST::SourceLocation &sourceLocation)
void SimpleAbstractStreamReader::addError(const QString &error, const SourceLocation &sourceLocation)
{
m_errors << QString::fromLatin1("%1:%2: %3\n").arg(
QString::number(sourceLocation.startLine),
@@ -159,7 +159,7 @@ void SimpleAbstractStreamReader::addError(const QString &error, const AST::Sourc
error);
}
AST::SourceLocation SimpleAbstractStreamReader::currentSourceLocation() const
SourceLocation SimpleAbstractStreamReader::currentSourceLocation() const
{
return m_currentSourceLocation;
}
@@ -278,13 +278,13 @@ QVariant SimpleAbstractStreamReader::parsePropertyExpression(AST::ExpressionNode
return textAt(expressionNode->firstSourceLocation(), expressionNode->lastSourceLocation());
}
void SimpleAbstractStreamReader::setSourceLocation(const AST::SourceLocation &sourceLocation)
void SimpleAbstractStreamReader::setSourceLocation(const SourceLocation &sourceLocation)
{
m_currentSourceLocation = sourceLocation;
}
QString SimpleAbstractStreamReader::textAt(const AST::SourceLocation &from,
const AST::SourceLocation &to)
QString SimpleAbstractStreamReader::textAt(const SourceLocation &from,
const SourceLocation &to)
{
return m_source.mid(from.offset, to.end() - from.begin());
}