From 0f8126f62dbbe35f297c956b964940d73688237c Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 18 Jan 2010 12:38:36 +0100 Subject: [PATCH] Changed the QML/JS editor to treat .qs/.js files as JavaScript, and invoke the appropriate parser for it. Reviewed-by: Christian Kamm --- src/libs/qmljs/qmljs.pri | 2 +- src/plugins/qmljseditor/qmlcodecompletion.cpp | 6 +- .../qmljseditor/qmlexpressionundercursor.cpp | 2 +- src/plugins/qmljseditor/qmljseditor.cpp | 4 +- src/plugins/qmljseditor/qmllookupcontext.cpp | 4 +- src/plugins/qmljseditor/qmlmodelmanager.cpp | 33 +++++++---- src/shared/qmljs/qmldocument.cpp | 57 +++++++++++++++---- src/shared/qmljs/qmldocument.h | 9 ++- src/shared/qmljs/qmlidcollector.cpp | 2 +- 9 files changed, 84 insertions(+), 35 deletions(-) diff --git a/src/libs/qmljs/qmljs.pri b/src/libs/qmljs/qmljs.pri index 4d2285d2d0a..5756428677b 100644 --- a/src/libs/qmljs/qmljs.pri +++ b/src/libs/qmljs/qmljs.pri @@ -1,5 +1,5 @@ INCLUDEPATH += $$PWD/../../shared INCLUDEPATH += $$PWD/../../shared/qmljs $$PWD/../../shared/qmljs/parser -DEPENDPATH += $$PWD/../../shared/qmljs +DEPENDPATH += $$PWD/../../shared/qmljs $$PWD/../../shared/qmljs/parser LIBS *= -l$$qtLibraryTarget(QmlJS) diff --git a/src/plugins/qmljseditor/qmlcodecompletion.cpp b/src/plugins/qmljseditor/qmlcodecompletion.cpp index bc4888e4b19..4eb0b987f72 100644 --- a/src/plugins/qmljseditor/qmlcodecompletion.cpp +++ b/src/plugins/qmljseditor/qmlcodecompletion.cpp @@ -95,12 +95,12 @@ int QmlCodeCompletion::startCompletion(TextEditor::ITextEditable *editor) if (qmlDocument.isNull()) return pos; - if (!qmlDocument->program()) + if (!qmlDocument->qmlProgram()) qmlDocument = m_modelManager->snapshot().value(qmlDocument->fileName()); // FIXME: this completion strategy is not going to work when the document was never parsed correctly. - if (qmlDocument && qmlDocument->program()) { - QmlJS::AST::UiProgram *program = qmlDocument->program(); + if (qmlDocument && qmlDocument->qmlProgram()) { + QmlJS::AST::UiProgram *program = qmlDocument->qmlProgram(); // qDebug() << "*** program:" << program; if (program) { diff --git a/src/plugins/qmljseditor/qmlexpressionundercursor.cpp b/src/plugins/qmljseditor/qmlexpressionundercursor.cpp index 70c019795dd..f95db88828b 100644 --- a/src/plugins/qmljseditor/qmlexpressionundercursor.cpp +++ b/src/plugins/qmljseditor/qmlexpressionundercursor.cpp @@ -130,7 +130,7 @@ namespace QmlJSEditor { _pos = pos; _scopes.clear(); _currentSymbol = 0; - Node::accept(doc->program(), this); + Node::accept(doc->qmlProgram(), this); return _scopes; } diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index c627d342083..ee738429f5a 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -425,11 +425,11 @@ void QmlJSTextEditor::onDocumentUpdated(Qml::QmlDocument::Ptr doc) FindIdDeclarations updateIds; m_idsRevision = document()->revision(); - m_ids = updateIds(doc->program()); + m_ids = updateIds(doc->qmlProgram()); if (doc->isParsedCorrectly()) { FindDeclarations findDeclarations; - m_declarations = findDeclarations(doc->program()); + m_declarations = findDeclarations(doc->qmlProgram()); QStringList items; items.append(tr("