Also add a test case and Remove some dead code along the way.
Task-number: QDS-2071
Change-Id: If34d4e152860ec9ab098f07e36e3a5dc4368c67f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* This seems be the correct expected outcome.
* Minor fix in SwitchTemplate
Change-Id: I5de04d943d3522a37ac1664157f384594ddddcde
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Currently, the tests fail, but the output is by and large correct.
There are some issues that still need to be analyzed.
Task-number: QDS-2071
Change-Id: Idb4618171a7256ec527368d6079c756eb734db82
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
... if the previous line already has a trailing backslash.
Fixes: QTCREATORBUG-24083
Change-Id: Ieabce541da2ef55bcbf3bd14d139b14f3a7575c7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
These changes target Find Usages feature to work with shared_ptr.
Improve libs/3rdparty/cplusplus and plugins/cplusplus:
parse __declspec() attribute,
call to variadic function template without specified template arguments,
if constexpr,
c++11 attributes [[value]],
function templates with default parameters,
resolve order for function vs template with default parameter,
template operator->() with default arguments,
template specialization with numeric values,
find best partial specialization,
fix partial specialization for non-first specialized argument
Fixes: QTCREATORBUG-7866
Fixes: QTCREATORBUG-20781
Fixes: QTCREATORBUG-22857
Fixes: QTCREATORBUG-17825
Change-Id: I31a080f7729edfb2ee9650f1aff48daeba5a673b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Nikolai Kosjar <pinaceae.pinus@gmail.com>
Otherwise, we trip over uses of operators from the standard
library such as std::chrono's operator"" ms(), potentially breaking
basic code navigation.
Amends 425811291d.
Fixes: QTCREATORBUG-24067
Change-Id: I3b2863ce88ee3787414e7a1acdf25f368041cdb4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Adds classes to merge a template qml file and a qml stylesheet that have
been exported from other design tools into a resulting qml file that can
be used for further processing in Qt Design Studio.
Current issues:
* Sometimes it makes sense to define width and height
if an anchor is present, but most of the time not.
* Actually if the hierachy was defined (e.g. Text item not child of
background) most likely the anchors should be ignored.
But this would be just a "dirty" heuristic. I suggest to let the
template decide. If the template has anchors those have "precedence".
It is always possible to define templates without anchors.
Task-number: QDS-2071
Change-Id: I9159514a8e884b7ffc31897aef4551b5efbbcb87
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This does not seem to affect the code paths we are using through
Python.
Task-number: QTCREATORBUG-23965
Change-Id: I2e20d6d3c1937d56293e81b74c453e83a92ddc4c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The QtQuick module plugins.qmltypes in Qt 5.15.0 do not contain
QML types like QtObject. Instead, they are found in the QtQml module.
Something similar applies to QtQml and QtQml.Models and
QtQml.WorkerScript.
As Qt 5.15 can't use the "import" command in the qmldir file, this code
instead detects the 5.15 QtQuick and QtQml modules and adds the
dependent imports manually, as a workaround.
Change-Id: I982e349298eb7200372390dfc384fb43a762b253
Task-number: QTCREATORBUG-23986
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
qmldir files can have lines like "import QtQml". These were already
parsed, but not stored in LibraryInfo. Store them.
When imports are resolved in Link and a library has such an import, also
load the module it refers to, with the same version and "as" scope.
Add a test to verify the behavior works.
Change-Id: I80b260bfaa36a9e5de0849fa5632b3361077ef01
Task-number: QTCREATORBUG-23986
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
In particular, clang with version number 10 is not really clang 10 on
macOS.
Change-Id: I8be489fa9cffd63c1ea8f13d181686ab1a575ec6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Make sure to fix the path separators for the macro that gets passed on
the command line.
Change-Id: I444883e6fc5a2b49d73a1fa52aa1ea26b207185c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
These are two separate views now
Change-Id: I010ad0b937982704310d102d1f4338ec0c29a370
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
QRegExpValidator is going away in Qt6, so port over to the
version using QRegularExpression.
Change-Id: Iecd1ba1f0e5e01009ae43b79c1ccc73f0fc046b2
Reviewed-by: hjk <hjk@qt.io>
Which doesn't exist on windows and will fail the test
Change-Id: I0dd005ccfcbf54faa716c642c5441c2086b3a32a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
..in general, with tests, and when using a namespaced Qt.
Amends b09a48599e.
Change-Id: I99e275e10df5eed741d021911a360457f0d0d2e7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
qmljsdiagnosticmessage_p.h: In static member function ‘static QmlJS::Severity::Enum QmlJS::DiagnosticMessage::qtMsgTypeToKind(QtMsgType)’:
qmljsdiagnosticmessage_p.h:72:5: warning: control reaches end of non-void function [-Wreturn-type]
72 | }
| ^
Change-Id: I2183199bf257453e0af2998b739fae8c90f5c098
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
This is in sync with what qmake and qbs project have.
Change-Id: Id82bbd933a8331c3e2032e5068323c183b2a1814
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Don't build qml auto tests if the QmlJSTools plugin is disbled in the
configuration.
Change-Id: I05217446b087a9ab201c0ee8b1d37d5a0ddd6c8e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Don't build QmlProjectManager tests if the QmlProjectManager plugin is
disbled in the configuration.
Change-Id: I354a23567528d02ba9d4207202800ff0175d9a6b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
The iterator type of QVector is just (const) T *, so we cannot call
::reference on it directly. Access via std::iterator_traits instead.
This is especially interesting in the light of Qt 6 replacing QList with
QVector.
Change-Id: Ib4e84f61302822e51b8984e2a44fea874efce81d
Reviewed-by: hjk <hjk@qt.io>
Use central rpath.pri for setting RPATHs and qttestrpath.pri for tests.
Simplify install names of plugins and libraries on macOS to be just
@rpath/libName, which follows convention better and makes setting up
RPATHs easier.
Preparation for moving tools one directory level down on macOS, to
be able to add a qt.conf for the tools generically.
Task-number: QTCREATORBUG-23120
Change-Id: I16625d48904abd3a7f4c2ad7bbba5916cdc400cd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This part had been added for lldb provided by Xcode 8.
Even LLDB 3.10 is rather old, so probably no more necessary.
Change-Id: I823ee15869cc60cb8504fa6969758b5f7c3a74ab
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
For ".pragma library" there is a special flag in QmlJS::Directives.
We just need to actually set the flag and query it when re-emitting the
code.
Change-Id: Ia3455fda18aba3219b02ecf092bb28987a6ccef5
Fixes: QTCREATORBUG-22326
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
tst_check.cpp:151:36: error: reference to 'Type' is ambiguous
In file included from src/libs/qmljs/qmljscheck.h:30:0,
src/libs/qmljs/qmljsstaticanalysismessage.h:42:6:
note: candidates are: enum QmlJS::StaticAnalysis::Type
src/libs/qmljs/parser/qmljsast_p.h:347:46:
note: class QmlJS::AST::Type
Change-Id: I2f2af3e19fc0cbb7cef359c28d5f5d1505778882
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>