Commit Graph

2512 Commits

Author SHA1 Message Date
hjk
c4c55955e4 Debugger: Drop some too clever logic from ValuePattern matching
Change-Id: I6e1c89e3637e4408a23584bf71fcf8e2c4d29d7f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-11 12:48:23 +00:00
hjk
d4ed07eb87 Debugger: Change/improve LLDB display of enums in some cases
This fixes the Internal2, EnumFlags and EnumInClass tests on Linux.

The values lose now the previously hand-crafted Class:: prefixes,
but the context is clear from the type column, and it's what LLDB
developers (and potentially users) consider normal.

Change-Id: I09e41f7b4fb4f078ef3f535fe650d06e7c2a0331
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-12-11 11:37:11 +00:00
hjk
14035584d8 Debugger: Fix CharArray dumper and test for LLDB
Change-Id: If12936fa863633b1ca85e712f8395e8ab4a0d69c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-11 09:35:37 +00:00
hjk
5cf60fc38f Debugger: Fix LLDB message parsing in dumper tests
Was off by one, swallowing the first character of the message.

Change-Id: I736cadda2cb6d9e3703d276b631e574c498af874
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-11 09:35:01 +00:00
Christian Stenger
c6b23f903a Tests: Enable callgrindparser tests for cmake
Change-Id: I2fed0477e9d35e5978a728ed8fee40daca16b565
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-12-11 05:44:38 +00:00
hjk
1ff6f27286 Debugger: Replace CheckType in dumper test
Use a ValuePattern(.*) instead to specify an uninteresting/unchecked
value.

This allows using of TypePattern in the same check, allowing to fix
a part of CharArray test for LLDB.

Change-Id: I3b8b209318d663290c02ce466e2a198d3a66832f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-10 15:47:52 +00:00
Eike Ziller
1283b15117 Merge remote-tracking branch 'origin/4.14'
Conflicts:
	doc/qtdesignstudio/examples/loginui1/qtquickcontrols2.conf
	doc/qtdesignstudio/examples/loginui2/qtquickcontrols2.conf
	doc/qtdesignstudio/examples/loginui3/qtquickcontrols2.conf
	doc/qtdesignstudio/examples/loginui4/qtquickcontrols2.conf
	share/qtcreator/debugger/dumper.py
	share/qtcreator/debugger/qttypes.py

Change-Id: Id44a67cdeeb0889ff96eddcdf409d20ca7cbdd0b
2020-12-10 13:02:02 +01:00
hjk
eac85f8261 Debugger: Fix QObject property display with Qt 6
Task-number: QTCREATORBUG-24098
Change-Id: I6e1013fe39208ef6e9ba792e6b2fb745eb5e3108
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-10 09:59:58 +00:00
hjk
11d079a0fe Debugger: Partially fix QV4 dumper for Qt6
Just the 64 bit case, simple types.

Task-number: QTCREATORBUG-24098
Change-Id: If13e342c1fb419a026cdaa35b21483566e8494b7
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-10 09:32:13 +00:00
hjk
36c2e441ef Debugger: Adapt BoostSharedPointer dumper test to Qt 6
Use QList<QString> instead of QStringList for the test, the
actual dumper is unaffected.

Task-number: QTCREATORBUG-24098
Change-Id: Ibbdd9255add9744acc06144f8f8d5b34e42186c9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-09 12:40:02 +00:00
hjk
c06d3e39d8 Debugger: Adapt dumper test for QTCREATORBUG-4904
Maps have changed.

Task-number: QTCREATORBUG-24098
Change-Id: I3a078e0168fb0e2a95d4c92fefc7c3cdeba9114f
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-09 08:51:00 +00:00
hjk
ce2e8bd2fb Debugger: Adapt QJson dumper to Qt6
Task-number: QTCREATORBUG-24098
Change-Id: I0bdfca1389763582072fd774b6288b9a855cf8cf
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-09 08:50:48 +00:00
hjk
e9ae81612f Debugger: Disable StaticMembersInLib dumper test for Qt 6
Both values used as test cases are gone.

Change-Id: I7f386a1ad1eccb0589b005d14090207cc518b6f3
Reviewed-by: hjk <hjk@qt.io>
2020-12-08 13:55:54 +00:00
Eike Ziller
3f0e7bcbe1 Merge remote-tracking branch 'origin/4.14'
Change-Id: I9d1931b7862f4541ac7a064ff987128afd835cbe
2020-12-07 12:29:44 +01:00
hjk
fba5effd41 Debugger: Adapt QMultiMap dumper test to Qt6
Task-number: QTCREATORBUG-24098
Change-Id: Iec811d90accd6fada7883e8bcb548ec0ab4c38f6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-07 08:56:44 +00:00
hjk
aa9e1ec106 Debugger: Adapt QSet dumper and tests to Qt6
Task-number: QTCREATORBUG-24098
Change-Id: Ib9b2c53ee763871873f0cc3ad4f8ba0152999328
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-07 08:56:39 +00:00
Alessandro Portale
996ad4c8cb PluginManager test: Fix linkage for Qbs build system
Dependency on Utils is not exported by ExtensionSystem, therefore not
transitive.

Amends 41b73594ad

Change-Id: Iaa95ae16854cf760fdd32bc542297746b6351527
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-07 07:14:33 +00:00
hjk
d861778ff1 Debugger: Adapt Qt6 QVariant(QHostAddress) dumper test
Just brush over the differences between the versions, the actual
contents is ok.

Change-Id: I4fe8e1a0e87ab6c4157a048f215b8abb13887cd4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-04 11:40:35 +00:00
Eike Ziller
41b73594ad Add API for saving settings with default value
We should never actually write default values into the settings, because

- if the default value changes in a later Qt Creator version, the new
  default should automatically take effect if the user didn't change the
  value
- it senselessly grows the settings file

Add a QtcSettings class that extends QSettings by a
"setValueWithDefault" method, which does not write default values to the
settings, and actually removes the settingskey if the user switches back
to the default.

Use it at the places where we already do this manually.

Task-number: QTCREATORBUG-24762
Change-Id: Ia76414cb21e8521f3aeed1e37b43ae4fb3393ea3
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-12-04 08:25:17 +00:00
hjk
e62d364d97 Debugger: Adapt QVariantMap dumper and test to Qt 6
Task-number: QTCREATORBUG-24098
Change-Id: I4e157a18ce5ff06a732fccbec1ec3d2ff507b961
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-03 15:22:24 +00:00
Christian Stenger
5ed3357bed Tests: Fix expected type
Amends e6873b5b24. As on it fix handling for key, value
handling for Qt6.

Change-Id: Ie13b02f92fd56d9372150763a2d56df511185baf
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-03 14:03:20 +00:00
Eike Ziller
1e78fdb71f Merge remote-tracking branch 'origin/4.14'
Change-Id: Id4c4c06b086dfe38960f4d68694ae23f3e00109f
2020-12-03 11:57:42 +01:00
Christian Kandeler
ff2322ac0b CPlusPlus: Fix mis-classification of pure virtuals
Syntactically, they do have an initializer, but they are not
initializations.

Change-Id: I0556b279ce2d173868585cbce085b803c1cff285
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-03 09:09:52 +00:00
hjk
08a1117c26 Debugger: Extend and fix QPolygon dumper and test for Qt6
Task-number: QTCREATORBUG-24098
Change-Id: Ia2e43d15263e18698d9db6b4d23fa553c7b7ae5b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-02 15:22:35 +00:00
hjk
25a89250f6 Debugger: Adapt QVariant dumper and tests to Qt 6
Task-number: QTCREATORBUG-24098
Change-Id: I9543bad098bb11d21079c1e2711b639bde3873b7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-02 10:16:33 +00:00
hjk
e1790ed9d0 Debugger: Fix some dumpers with namespaced Qt
This makes the use of '@' prefixes in split('{@QString}'...) etc
mandatory, thereby removing the guessing on whether namespaces apply
or not on the dumper 'core' side, and removes the guessing on
whether dropping the '@' 'works' on the individual dumper implementation
side.

Amends 1074c2ffce.

Change-Id: I44611eb09557638dec12d2e2f78cdaeac0bbd449
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-12-01 14:59:06 +00:00
Eike Ziller
d02afbe6b4 Merge remote-tracking branch 'origin/4.14'
Conflicts:
	src/plugins/projectexplorer/gcctoolchain.cpp

Change-Id: I2136ba89d3aa3c4c2a0e7a4f9d8ba9cec32924ce
2020-11-30 16:14:32 +01:00
Alessandro Portale
a3857a996a Don't access static functions/fields via instance
Courtesy of readability-static-accessed-through-instance

Amends: b2a766a79a

Round #2: This time done with Qt Creator's Analyzer, which
found other occurences than run-clang-tidy.py

Change-Id: I479e280c7abcf2d24baccbb0af69ae4bda05198e
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2020-11-27 13:26:07 +00:00
Alessandro Portale
81f3452e1c Aggregation/Utils/ExtensionSystem: Make member functions const/static
readability-make-member-function-const finds lots of member functions
that could be made const. This change just picks getter functions that
really should be const.

readability-convert-member-functions-to-static finds non-static member
functions which do not access this. This change turns most of them
into static ones, but leaves some non static to keep the class API
consistent.

readability-static-accessed-through-instance fixes the places where
the originally non-static, now static functions were called through
instance.

Change-Id: I8cf16c01f7988a7c9d073b5f8ede6a9706b94fb0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-11-27 09:16:08 +00:00
David Schulz
f3830c68b1 Debugger: Fix dumper test using QVector
QVector is a typedef to QList in Qt6 so cdb reports vector types as
QList<T>

Change-Id: Ic1940bc9e3286906c42d29a9c29882b5b3699312
Reviewed-by: hjk <hjk@qt.io>
2020-11-26 12:23:10 +00:00
David Schulz
e6873b5b24 Debugger: adjust QStringList dumper test for qt6
QStringList is a typedef in qt 6 so cdb reports the type as
QList<QString> now.

Change-Id: I9660935dfb26a2a765411acdec1a3478357040fe
Reviewed-by: hjk <hjk@qt.io>
2020-11-26 11:21:41 +00:00
Eike Ziller
6172fc8a9d Merge remote-tracking branch 'origin/4.14'
Change-Id: I8543d87779c0da6a876caa046f6852737c9ae680
2020-11-26 10:53:34 +01:00
hjk
0ce92b3ac7 Debugger: Adapt QXmlAttributes dumper to Qt6
Task-number: QTCREATORBUG-24098
Change-Id: I67ee0fae1308d20b474fe0dd565b46d2a83dd5e3
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-11-26 08:41:23 +00:00
hjk
35c2d51ec9 Debugger: Adapt QDate{,Time} dumper and test to Qt6
Essentially removing the parts that are gone in Qt6

Task-number: QTCREATORBUG-24098
Change-Id: I49f7ed8ea8e568803850bd4a0118b690248013af
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-11-25 13:06:28 +00:00
Eike Ziller
8245523653 Merge remote-tracking branch 'origin/4.14'
Conflicts:
	src/plugins/designer/cpp/formclasswizard.h
	src/plugins/designer/cpp/formclasswizarddialog.h

Change-Id: I9f9d166e1a9249022305503f9cbe571136c2a2b1
2020-11-25 11:25:34 +01:00
hjk
56b2158500 Debugger: Adapt QRegion dumper and test to Qt6
Task-number: QTCREATORBUG-24098
Change-Id: Ie9c75c779595a981e75f20e73bfaccb5d24cf16b
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-11-24 08:52:31 +00:00
hjk
0ede48270f Debygger: Adapt QLazilyAllocated dumper test to Qt 6 changes
Task-number: QTCREATORBUG-24098
Change-Id: Id5dde3089af8bffdc7b8d9ebfaf9e6748257fd9f
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-11-24 08:39:40 +00:00
hjk
c80313f777 Debugger: Adapt QHash dumper for Qt6
This is a completely new structure, also effective order when
iterating is completely different.

QHashIterator doesn't work yet.

Task-number: QTCREATORBUG-24098
Change-Id: I917cacf7952d9d54a31d14a0691213ab944d0d8f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-23 12:26:24 +00:00
Eike Ziller
f534624fce Fix build with newest Qt 6
No implicit casts from QString to QFileInfo anymore, and a few more
QChar(int) fixes.

Task-number: QTCREATORBUG-24098
Change-Id: I3326fc0701a9259c7bdd2d8c3025de0a4774f8aa
Reviewed-by: hjk <hjk@qt.io>
2020-11-20 15:43:25 +00:00
Eike Ziller
5ca70bdcb3 Merge remote-tracking branch 'origin/4.14'
Change-Id: Iea84f23cf394de13e99a9ed777c8c113e4eff473
2020-11-19 15:38:13 +01:00
hjk
a812bd7303 Debugger: Make qfloat16 dumper test pass with Qt 6
45.3 is represented as 45.28125 in Qt 5, but as 45.3125 in Qt 6.
Actually an improvement.

Task-number: QTCREATORBUG-24098
Change-Id: I779bfd8a2b4a2ae91f5e40dbe54ba75000531f4c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-19 10:23:27 +00:00
hjk
92cd7f3c06 Debugger: Adapt QMap and QMultiMap dumper to Qt6
Chicken out of the QStringList == QList<QString> in Qt 6 dilemma
by using QList<QString> everywhere, that's not important for the
QMap test. value/key vs first/second nevertheless needs adaptation.

Task-number: QTCREATORBUG-24098
Task-number: QTCREATORBUG-23806
Change-Id: I4bdb8222978de7e7f1596be380e0fedc8f9d1a06
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-11-19 07:24:26 +00:00
Christian Kandeler
dc66d30076 CPlusPlus: Support C++11 attributes also for function parameters
Fixes: QTCREATORBUG-24636
Change-Id: I9dc3d2cc6ca102b09f6b040455fa901c362dae7d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-12 13:16:34 +00:00
Christian Kandeler
59f8bd4702 CPlusPlus: Expose "static" specifier also for function declarations
To be able to do this, the parser needs to store the decl specifier list
in FunctionDeclaratorAST objects, the same way it is done for
FunctionDefinitionAST.

Task-number: QTCREATORBUG-24894
Change-Id: I475fb08b1f14c63f3050d72dff200c1b08df5789
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-11 15:41:27 +00:00
Eike Ziller
1d2b5db02f Merge remote-tracking branch 'origin/4.14'
Change-Id: I2ae0eb18782224e48cd20d41907f9dfea6ee1771
2020-11-10 13:42:46 +01:00
Christian Kandeler
e41f3eb607 CPlusPlus: Fix "find usages" categorization for sizeof and array access
Task-number: QTCREATORBUG-24894
Change-Id: I65fa097785b19e181f15178ad6d30608899316c0
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-11-09 12:50:07 +00:00
Christian Kandeler
882dd60aad C++: Extend alias declaration support in built-in parser
The type-id in an alias declaration can also define a new type.

Change-Id: I65dc397d2526c56334676c6ab522564f6748d594
Task-number: QTCREATORBUG-24875
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-09 10:56:17 +00:00
Christian Kandeler
42d34015e2 CPlusPlus: Provide information about the "static" specifier
... to the function type.
This fixes the issue for function *definitions*. For function
*declarations*, we need to amend the parser.

Task-number: QTCREATORBUG-24894
Change-Id: I02043d8b974c2c64dcd739c7e05ce44fd277b5d3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-09 10:55:38 +00:00
Christian Kandeler
1988d89198 CPlusPlus: Check for static member functions in FindUsages
Static member functions cannot modify the object and therefore must not
be reported as writable references.
Note that this does not have an effect yet, as the function type lacks
information about the "static" specifier.

Task-number: QTCREATORBUG-24894
Change-Id: Ib04a17864a0ca5b7610579a2f5efbcfde257e08a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-09 09:51:08 +00:00
Christian Stenger
f2b5c29494 Tests: Fix linking of test project
Avoid fail to link when using Qt5.15.1 and MSVC 2017.

Change-Id: Ief4edce7490c4828c46033c7a055acb6173c94e1
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-11-06 05:22:02 +00:00