Commit Graph

1179 Commits

Author SHA1 Message Date
Uladzislau Paulovich
8f7cbd6416 qml | Fix trailing comments formatting
Change-Id: I0461c4616cff15b7010e3844850d32e9f07469ea
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-11 15:23:17 +00:00
Uladzislau Paulovich
8dc16d55c2 qml | Fix empty objects formatting
Change-Id: I760f3420fef9ca83c2a28586575a72d580658d0f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-11 15:22:36 +00:00
Uladzislau Paulovich
ab87bdf4ea qml | Add support for enums formatting
Change-Id: Id7e435a7c556c7fc469b9055ca772a7850e16676
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-11 10:04:29 +00:00
Uladzislau Paulovich
69cd74f25d qml | Fix let/const variables formatting
Change-Id: Ia2a4ee482e84a6c24abea7ea6fe05925eee11d1d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-11 10:03:57 +00:00
hjk
473a741c9f Utils: Rename FileName to FilePath
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.

Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 12:23:26 +00:00
Orgad Shaneh
1e138fbe10 Remove excess blank lines after namespace
Change-Id: I4e4f83017f2bfc2cf842c4c971ed4b05e0447e6a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-27 06:50:16 +00:00
Cristian Adam
d855b84c5d Qt Creator CMake port
Based on Tobias Hunger's work from a few months ago.

The CMake configuration needs libclang and Qt paths specified as
CMAKE_PREFIX_PATH.

Auto tests are run with "ctest". At the moment the pass rate is 87%.

Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-17 13:33:28 +00:00
Christian Stenger
06d8df7ee6 QmlJS: Fix wrong warning
Variable declarations made with let or const need
to get evaluated on block level base.

Task-number: QTCREATORBUG-22054
Change-Id: Ia1d353be61c2d9532bc54257c15d00fb33ea156c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-05-16 05:01:15 +00:00
Orgad Shaneh
c8f0d3f008 QmlJS: Fix inconsistent copy ctor/operator=
Detected by GCC9.

Change-Id: Ieab7c13c6d66b99cc679c3ac5d4a3da67bcd7767
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-05-09 14:13:16 +00:00
Orgad Shaneh
39ba01da71 Merge remote-tracking branch 'origin/4.9'
Change-Id: I7d1912cd5c4d824fd40d3454c5f1bb796f2c21d8
2019-04-07 23:13:17 +03:00
Thomas Hartmann
b7753ac86a QmlJS: Fix code re-formatter for arrays
Task-number: QTCREATORBUG-22026
Change-Id: Iae9e53b149ebfbbe904fc1aef8408b1f6f852a13
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-04-03 13:53:09 +00:00
Tim Jenssen
1d29c46662 QmlJS: re-enable revision parsing
Looks like it was unintentional disabled
when the QML parser was updated.

Task-number: QTCREATORBUG-22057
Change-Id: I670882b78e0e421447e7f7b463c51f3568e7c2a2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-04-03 09:48:44 +00:00
Eike Ziller
c53ccceff1 Merge remote-tracking branch 'origin/4.9'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/debugger/debuggerkitinformation.cpp
	src/plugins/languageclient/languageclientmanager.cpp
	src/plugins/plugins.pro
	src/plugins/projectexplorer/kit.cpp
	src/plugins/projectexplorer/kitmanager.cpp

Change-Id: I66fb941202991f35f7d7761430b21e42dfc678a8
2019-03-14 15:51:15 +01:00
Eike Ziller
ce888b45ef Merge remote-tracking branch 'origin/4.8' into 4.9
Conflicts:
	src/libs/qmljs/qmljscheck.cpp

Change-Id: Ib3d97e8e59463185e2fa4663ae594c1e29b4b337
2019-03-11 11:38:03 +01:00
Kai Koehne
37eb282313 qmljs: Fix variable name
Change-Id: I8ea8d18e0471071f3a7a22760c041ecf77dbbe8c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-03-07 19:14:28 +00:00
Christian Kandeler
2f7f1aaec3 Move qrc parser from QmlJS to Utils
We'd like to make use of it in a more general context, and it's not
directly related to QML.

Change-Id: I025ec67829f85544667684cdb8c99d1ee4c18197
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-02-13 11:48:27 +00:00
Friedemann Kleint
963dc84cc5 Fix some deprecation warnings in basic plugins
Fix warnings apppearing in 5.13, for example:
warning: ‘QDir& QDir::operator=(const QString&)’ is deprecated: Use QDir::setPath() instead [-Wdeprecated-declarations]
...
warning: ‘static QRgb QColorDialog::getRgba(QRgb, bool*, QWidget*)’ is deprecated: Use getColor() [-Wdeprecated-declarations]
warning: ‘Qt::DropAction QDrag::start(Qt::DropActions)’ is deprecated: Use QDrag::exec() instead [-Wdeprecated-declarations]
warning: ‘void QProcess::finished(int)’ is deprecated: Use QProcess::finished(int, QProcess::ExitStatus) instead [-Wdeprecated-declarations]
...
warning: ‘const QRect QDesktopWidget::availableGeometry(int) const’ is deprecated: Use QGuiApplication::screens() [-Wdeprecated-declarations]
...
warning: ‘const QBrush& QPalette::background() const’ is deprecated: Use QPalette::window() instead [-Wdeprecated-declarations]
...
warning: ‘const QBrush& QPalette::foreground() const’ is deprecated: Use QPalette::windowText() instead [-Wdeprecated-declarations]
...
warning: ‘void QTextOption::setTabStop(qreal)’ is deprecated [-Wdeprecated-declarations]
warning: ‘void QList<T>::swap(int, int) [with T = ProjectExplorer::BuildStep*]’ is deprecated: Use QList<T>::swapItemsAt() [-Wdeprecated-declarations]
warning: ‘void QProcess::setReadChannelMode(QProcess::ProcessChannelMode)’ is deprecated: Use QProcess::setProcessChannelMode() instead [-Wdeprecated-declarations]
...
warning: ‘QString QFileInfo::readLink() const’ is deprecated: Use QFileInfo::symLinkTarget() instead [-Wdeprecated-declarations]

Change-Id: I1d893d42d372245892f2de8406f52dbe7bbd552a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-02-11 09:32:06 +00:00
Tim Jenssen
87746b5906 QmlJS: improve code
- no behavior change

Change-Id: I61e515876be768309e5647261ffbe2732de423b9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-01-23 10:06:36 +00:00
Tim Jenssen
372e239d2d QmlJS: remove qtquick1 leftovers
QT_INSTALL_IMPORTS and the used ProjectInfo.qtImportsPath variable
were only used for QtQuick1.

Change-Id: I34da0cfc77effa84f3a7578e7f91fed0768a9bf4
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-01-18 13:16:30 +00:00
Tim Jenssen
d4beced19f QmlJS: modernize the code a bit
- use nullptr instead of 0
 - remove all QLatin*
 - use initializer for QStringLists

Change-Id: I62db000e2644d1d2a2c1246e70e829e37d36f2f3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-01-18 12:20:37 +00:00
Thomas Hartmann
b6868f2316 Fix warning
Change-Id: I646cf0d1c1e7dec7f44baf50a586ff22044cb7f0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-18 09:21:57 +00:00
Orgad Shaneh
d1a0479c98 QmlJS: Fix unused variable warning
By using it.

Amends commit 66dc5e9713.

Change-Id: I21bfb7a2d83987f095bfd02b0cc20931e0feb68b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-01-18 08:38:11 +00:00
Christian Kandeler
e96509d648 QmlJS: Fix qbs build
Amends b466e3f0be.

Change-Id: I812379c54a818ade6f2372e2e76e3157949f956b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-01-18 08:09:02 +00:00
Tim Jenssen
b466e3f0be QmlJS: remove not used DescribeValueVisitor
Change-Id: Ieedd134a3c197ac6bc3a2dd0a6b53032a4d861cc
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-01-17 16:14:35 +00:00
Tim Jenssen
0157e009be QmlJS: fix nullptr warnings
Change-Id: Id546a9a5c065ae8b0cc9c251051b2fd36e34803a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-01-17 16:14:21 +00:00
Eike Ziller
413c5c3b8a Merge remote-tracking branch 'origin/4.8'
Change-Id: I400217ba1c8a531e0450c3012a07db3fc93638cf
2019-01-17 12:04:35 +01:00
Thomas Hartmann
66dc5e9713 QmlDesigner: Allow more JavaScript functions
Task-number: QDS-355
Change-Id: I0f330216b0120857f21b804236d2e3338c812749
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-01-16 13:50:57 +00:00
Eike Ziller
71d60ee9c8 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/cpptools/compileroptionsbuilder.cpp

Change-Id: I522f91de70aff28692d7c3a050e8d52df0b82a76
2019-01-15 08:40:23 +01:00
Marco Benelli
873b8820c1 qmljs: relax checks on Qbs imports
Task-number: QTCREATORBUG-21042
Change-Id: I07093c240abb2f0fafe1a97fb4e81fd223551d43
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-07 12:29:17 +00:00
Marco Benelli
cd9ab31093 qmljs: do not raise warning for yield statements
Task-number: QTCREATORBUG-21301
Change-Id: I2b358039f808faf8f979eb21410fa827cc132a57
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-12-07 13:49:06 +00:00
Marco Benelli
859dce092b qmljs: basic highlighting for es7
Task-number: QTCREATORBUG-21301
Change-Id: Ic59cbd68b1d40e34a87d3d8ebe5f2d8e7f413858
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-12-04 15:57:32 +00:00
Marco Benelli
4646acad0d qmljs: update parser
Update the qtcreator qmljs parser to the
one of Qt 5.12. It supports EcmaScript 7.

Task-number: QTCREATORBUG-20341
Change-Id: I0d1cff71402ba17e22cde6b46c65614e162280de
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2018-11-22 11:21:32 +00:00
Eike Ziller
3d1d9aae2e Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/winrt/winrtdevicefactory.cpp

Change-Id: I33b8697e2ebf2bea051d7f1144449e0743ee16a5
2018-11-19 10:00:18 +01:00
Tim Jenssen
4d74cbb945 Fix reference on temperary value
Old code at Context::lookupReference took via Context::ptr()
a temporary QSharedPointer as an argument into a reference
member which is deleted just after ReferenceContext is constructed
- changing that to a general member copies this temporary QSharedPointer
and fixes the problem which was there since always and that this was not
crashing before was just luck.

class ReferenceContext
{
public:
    ReferenceContext(const ContextPtr &context);
private:
    const ContextPtr &m_context;
};

QWeakPointer<const Context> _ptr;

ContextPtr Context::ptr() const
{
    return _ptr.toStrongRef();
}

const Value *Context::lookupReference(const Value *value) const
{
    ReferenceContext refContext(ptr());
    return refContext.lookupReference(value);
}

Task-number: QTCREATORBUG-21510
Change-Id: Ic49a0597763fb8be65feca6f24fec105d531d6ab
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-11-15 20:32:33 +00:00
Ulf Hermann
fb1c562c2e QmlJS: Don't recalculate the empty library's fingerprint
LibraryInfo::calculateFingerprint() is expensive. The default ctor will
always result in the same fingerprint. We only need to calculate it
once.

Change-Id: I680dc63624d68ddeca7f3467f4518d767274b246
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-10-16 13:28:05 +00:00
Orgad Shaneh
bdc2b4b59f Remove hard-coded disabling of debug logs
Instead, set the default level of all logs to QtWarningMsg.

The call to setFilterRules overrides the user preferences in qtlogging.ini.

Change-Id: Id5f6cd550d14ff7f45ae04c5d3110e0bafb0f072
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-10-13 16:36:58 +00:00
Orgad Shaneh
8d814facf7 Replace QString::null with default constructed QString
QString::null is deprecated since Qt 5.9.

Change-Id: Ib84f338ed8cecaee0c164191fb580c851bd84ab4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-09-21 06:47:33 +00:00
Eike Ziller
4c914c6b43 Merge remote-tracking branch 'origin/4.7'
Change-Id: I562b0b8afb98940e03b67cbd7d7c3e756b77d736
2018-09-14 09:59:48 +02:00
Marco Benelli
c1a761a225 qmljs: fix bug in reformatting
Reformatting multi-line comments caused, in some cases, the deletion
of the preceding line.

Task-number: QTCREATORBUG-21036
Change-Id: I9bf9627e5992e9821c0dd62a13601a3ca6367e65
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-09-11 11:57:22 +00:00
David Schulz
141f19a652 Utils: move code model icons to utils
In preperation for the language server protocol support.

Change-Id: Iee4ccd53a86d9afdb357972ea62b75ace2edcb1d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-08-06 13:22:47 +00:00
Eike Ziller
5c81a65422 Merge remote-tracking branch 'origin/4.7'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri

Change-Id: I29916313f12e25f3942ac926f8e4d4490074978e
2018-07-05 11:14:33 +02:00
Marco Benelli
067a7e903e QmlJs: avoid adding unnecessary lines in reformatting
The reformatter used to add unnecessary empty lines, notably before
comments after import declarations.

Task-number: QTCREATORBUG-18332
Change-Id: I96d6f2dd53d1197aa6bc0b834971a66861b2f498
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2018-06-29 09:13:13 +00:00
Alessandro Portale
4b13170565 qmljs: Use C++11’s override and remove virtual where applicable
Fixes warning: prefer using 'override' or (rarely) 'final' instead of
'virtual' [modernize-use-override]

Change-Id: I17955fd0fdb052678228f1bda32cd8d3b4298998
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-06-26 10:38:38 +00:00
Joerg Bornemann
a073e17612 QmlJs: Make "qbs" an implicit import for qbs files
We want to have qbs syntax highlighting, even if the
    import qbs
statement is missing, because we want to remove the reqirement for it.

Change-Id: I569be825440bc733c3c0fa8e146e785060e08384
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-06-21 07:50:49 +00:00
Eike Ziller
3bbe535b95 Merge remote-tracking branch 'origin/4.7'
Change-Id: I3c5d7e9e8c589ad4425cd89d61e1f572f5cb7997
2018-06-19 10:03:28 +02:00
Alessandro Portale
b16ba2ba59 Remove a few redundant occurrences of 'virtual' and 'override'
warning: 'virtual' is redundant since the function is already declared
'override' [modernize-use-override]

warning: 'override' is redundant since the function is already declared
'final' [modernize-use-override]

Change-Id: I9036a0dc88ed70c4f6e37b916bb24ff65074863d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-06-18 08:41:37 +00:00
Marco Benelli
abb7d4cb53 QmlJs: fix indentation in object literals
Handle properly ternary operator inside object literals

Task-number: QTCREATORBUG-7103
Change-Id: I482fb77a606f929528147c2b3939fcade77ae40f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-05-23 08:04:29 +00:00
Marco Benelli
d14e89f899 QmlJS: improve support for enum declarations
Add indentation and little highlighting for enums.
It just highlights the 'enum' keyword and the name of the enum, not its
values.

Task-number: QTCREATORBUG-19226
Change-Id: I36e46a27b0e32c4aecc8e91875c3d22df1814d93
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-05-23 08:04:26 +00:00
Marco Benelli
d7f431482d qmljs: handle js directives .pragma and .import
The directives .pragma and .import are not included in the AST.
Their source code locations are not stored in any other place.
As a result, when reformatting the source, they simply disappear.

This patch keep track of their source code locations, so they are
not removed when reformatting the source code.
This patch contains also some modification in the lexer that should
probably be ported to the qtdeclarative version.

Task-number: QTCREATORBUG-13038
Change-Id: I5d568abf02d37a584d4d246939736aaec5af5053
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-04-12 10:49:46 +00:00
Orgad Shaneh
3a52a2c3f1 QmlJS: Sync parser with Qt 5.10
Change-Id: I87c64edc1235bab10b9f32abeab4386b5cc7390b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-04-11 12:15:19 +00:00