... from those without one, and display the former like write accesses.
Task-number: QTCREATORBUG-24894
Change-Id: I5e2d83b2a3ec4735054441c346687f97eeb039fb
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Various Windows related issues and issues with additional QML designer
components.
Don't use very generic template definitions if the type has to provide
not so generic base functionality (in this case providing a stream
operator for QDataStream).
Task-number: QTCREATORBUG-24098
Change-Id: Id0729c249d1b81e4e939fdaeb2e02b8a64e7e8f9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
These are only necessary for the code model and can prevent clazy from
finding certain issues.
Fixes: QTCREATORBUG-24845
Change-Id: I04ba6703812918c39ebbde1dbac5af85fe18622d
Reviewed-by: David Schulz <david.schulz@qt.io>
... when switching via F4 from a .h file and vice versa.
Fixes: QTCREATORBUG-24418
Change-Id: I121967dbec90125b3feed0a9d2aceb9826f925f3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Fixes build issue with Qt6, for which QStringList is now a
QList<QString>.
Task-number: QTCREATORBUG-24098
Change-Id: I0c81aa5bae413b836dbedea0bb6117b46f6f24c2
Reviewed-by: hjk <hjk@qt.io>
... and make use of that in CppTool's "Find Usages" by assigning
different colors to read and write accesses.
Fixes: QTCREATORBUG-12734
Change-Id: I067db2c8d693bb2c5be44249931ee4f0269f7e52
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
... when looking up definitions of variables.
Amends a0764603d0.
Fixes: QTCREATORBUG-24610
Change-Id: I79e6f69066eaa385013e722ec4793c27231ab8eb
Reviewed-by: David Schulz <david.schulz@qt.io>
It makes more sense to handle this centrally than in all the build
system plugins.
Fixes: QTCREATORBUG-24515
Change-Id: I1c0f815d44135bcfb76ce51c67b6494a50e1de48
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
That is, find out whether a certain access was a read, a write, a
declaration or something else, and report the result to upper layers.
Follow-up patches can make this information visible to users.
Task-number: QTCREATORBUG-12734
Task-number: QTCREATORBUG-19373
Change-Id: Iee79e39dd1eb5a986a7e27846991e0e01b2c3a2f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
For GCC it can be deduced from the compiler flags, so no correction is
needed.
For MSVC it can be deduced from the detected defines.
Amends 26693e8212.
Change-Id: Ie4850f328a2afdb3e5158c58f8c30a2644d9c592
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... at the second argument.
The logic is as follows: The clang code model checks whether the set of
completions contains any signals. If so, it instructs the built-in code
model to analyze the AST to find out whether the completion location was
at the second argument of a call to QObject::connect(). In that case, we
filter out all non-signals, because they are not valid at that location.
Fixes: QTCREATORBUG-13558
Change-Id: I9c7d0bd16161c723aef822280626cd06ece7df93
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The getClangResourceDirAndVersion() function in ClangTools could return
the actual resource dir or the include dir, depending on the input. This
mistake happened because of misleading names spread all around the code.
Now the function returns what it says, and the other names are accurate
as well.
Change-Id: I0a8600857ee7b9fafb16256e0d1ad203ac3273d2
Reviewed-by: David Schulz <david.schulz@qt.io>
Built-in compiler macros are normally not passed to the code model,
because of potential conflicts with clang. However, in the case of custom
toolchains, these macros are provided by the user for the explicit
purpose of making them known to the code model.
Another exception are the bare metal toolchains, for which we now make
sure we won't get out of sync when new ones are added.
Fixes: QTCREATORBUG-24367
Change-Id: I2a0458d9132fdff15eb9adfcb2c06d7ef72508bc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
That is, also do function-specific magic on typing "/**<return>" in front
of a function if there is an access specifier such as "public:" in
between.
This use case is rather weird, but it's also pretty easy to support and
it should not hurt anyone.
Note that depending on the indentation of the access specifier, the
indentation of the inserted comment will probably not be what the user
expects, but this is not easily fixable.
Fixes: QTCREATORBUG-20311
Change-Id: Ie32a71eede91ef64a19381c8e379a183a91fd27d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Multi-line strings must be kept as the user wrote them.
Fixes: QTCREATORBUG-20180
Change-Id: I141eff52b55d31215e6f5c6c5a0e026689db877a
Reviewed-by: David Schulz <david.schulz@qt.io>
There were annoying inconsistencies, for instance:
- A not fully matching declaration was found from the definition,
but not vice versa.
- An implementation MyClass::foo(int) would fall back to a
declaration foo(), but an implementation MyClass::foo() would
not fall back to a declaration foo(int).
These cases behave consistently now. To this end, the clang code model
now forwards to the built-in code model if a function lookup has failed.
Fuzzy matching for free functions has been limited, as the cons appear
to outweigh the pros. For instance:
void foo(int);
void foo(double) {}
Following the definition would lead to the non-matching declaration,
which the user most likely does not want.
As a side effect, redundant code has been removed in the SymbolFinder
class.
Fixes: QTCREATORBUG-20279
Change-Id: Ib97d6710c7e12fb0fdbc30b51a0067e09bfc2190
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... and support it in the ClangCodeModel.
This allows users to get function signature(s) displayed regardless of
where exactly the cursor is on the function call.
Fixes: QTCREATORBUG-19394
Change-Id: I033e8774db93680bfc3ee52610b817e0ef8ccc76
Reviewed-by: David Schulz <david.schulz@qt.io>
QT_USE_FAST_CONCATENATION doesn't do anything nowadays.
Using QT_USE_QSTRINGBUILDER is the same as QT_USE_FAST_OPERATOR_PLUS
for QStrings and enables more QStringBuilder use for QByteArrays.
Change-Id: Ibd297817c50d86661d47822799f989447249af1b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Use case-sensitive sorting in the side bar outline, just like in
the editor outline.
Fixes: QTCREATORBUG-12714
Change-Id: I9d8243c61fcceb6e3d7b55e3b27fa5d20accccea
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
After the arrow, the state is still the same, as now a type is expected.
Only after the opening brace does the actual function start.
Fixes: QTCREATORBUG-18497
Change-Id: I7bf18fbd6907d36f8869af3a78ad617cf0ee9dbb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
If you create a ClangFormatIndenter but do not set the
fileName, the indenter will SegFault while indenting.
Change-Id: I93a56d7916bc1a02da9ee21a116bd48b4405edb1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Clearly, if a user presses F2 on the declaration of an (unimplemented)
pure virtual function, they want to go to an implementation in a derived
class.
Fixes: QTCREATORBUG-10160
Change-Id: Ie8c4ff0001ab2c98a2d0e2ebc8d954cc928578c0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
That is, offer existing namespaces for the class name line edit and
existing classes for the base class line edit.
Fixes: QTCREATORBUG-10066
Change-Id: I276036864626eff92997e40e4e22ab16c4f4d617
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
We did not notice because the JS array was auto-converted into a string.
Amends bcc2b5e08d.
Change-Id: I06ee43f78cb3081bdff0a02f8d446326a01bc2d1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This now requires license templates file to be Unicode compatible,
effectively restricting it to plain ASCII in non-Unicode codebases.
Task-number: QTCREATORBUG-24098
Change-Id: I713fed1ddb288360abbdbb40c6ca67444eb62ef3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
So if you use the ClangFormat Plugin, the ClangFormatIndenter is used
and not the CppQtStyleIndenter.
Change-Id: I7e71867cd4b48525ddc2f9b2dce8f13a65c3ad88
Reviewed-by: David Schulz <david.schulz@qt.io>
Prevent mingw from trying to #include_next a private header from a path
we cannot add to our list of includes.
Fixes: QTCREATORBUG-24251
Task-number: QTCREATORBUG-24027
Change-Id: I18a9db130b9c2265cd208c3506d08d2e1c4cee45
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
The coreplugin/id.h header is kept for downstream for now.
Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
(cherry picked from commit 430a33dcd9)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>