... without a space before the identifier.
Change-Id: I977ffae82eb86f5ae6ea594cba17cc486e63bf6c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
It has some platform specific warts, filepath.h is somewhat
cheaper and less ugly overall.
Partially clean up surroundings
Change-Id: Ida1fd470ec020f69c446109427f92a08e879789f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Ensure the For loop iterates even when the loop's body is empty.
Simplify internals a bit.
Change-Id: I4a269d61fa324a9c36109e95e74a992e915a72b0
Reviewed-by: hjk <hjk@qt.io>
Improve code readability by requiring iteratable Group
to be named For.
The For's c'tor requires an iterator element as a first arg.
The For's c'tor allows for passing exactly one iterator element.
It's not possible to place iterators inside Group element anymore.
Change-Id: I9dfe2c0da058abac161f66c4e336da2417c383f1
Reviewed-by: hjk <hjk@qt.io>
They are useful in conditional statements to influence
the workflow of a group.
Add tests for nullItem, successItem and errorItem.
Fix some comments in tests.
Change-Id: If0faa579e256d5a943d22cf66fe5208d60a63e0d
Reviewed-by: hjk <hjk@qt.io>
Introduce AND and OR operators for ExecutableItem
taking DoneResult.
The "task || DoneResult::Success" is an eqivalent to
tweaking the task's done result into success unconditionally.
The "task && DoneResult::Error" is an eqivalent to
tweaking the task's done result into error unconditionally.
Change-Id: Ib9213a786697c1434c37e99e726641baab550523
Reviewed-by: hjk <hjk@qt.io>
Introduce operator&& and operator|| taking ExecutableItem
as a second arg.
Both tasks (first and second) execute in sequence.
AND:
- If the 1st task finishes with Error, the 2nd task is skipped
and the returned item reports Error.
- Otherwise, the 2nd task is executed
and the returned item reports the 2nd task's result.
OR:
- If the 1st task finishes with Success, the 2nd task is skipped
and the returned item reports Success.
- Otherwise, the 2nd task is executed
and the returned item reports the 2nd task's result.
Change-Id: Ib7874a82bd86eeb57fa5d3691b4a9e63a158772f
Reviewed-by: hjk <hjk@qt.io>
Introduce ExecutableItem operator!(const ExecutableItem &item).
This operator returns a copy of this executable item
with DoneResult tweaked by negation.
If this item reports DoneResult::Success, the returned item reports
DoneResult::Error.
If this item reports DoneResult::Error, the returned item reports
DoneResult::Success.
Change-Id: Ie609938e92bbc38ddcc66f5bc3244f864e3e59c7
Reviewed-by: hjk <hjk@qt.io>
LLDB 3.8/360.x was not working with multiple inheritance even on
the command line, but looks ok nowadays at least in this simple case.
This does not fix the linked task.
Task-number: QTCREATORBUG-31042
Change-Id: Ibc52c9aaf31513af05487657a229fc4945d7e08f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This patch addresses the 38th point in the bugreport below.
Add tests for it.
Adapt docs and warning messages accordingly.
Task-number: QTCREATORBUG-28741
Change-Id: I276d2d4c3a514147f67252dc5073d79fed94b9ff
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
If the onGroupDone() handler returned DoneResult,
this result was ignored by the running task tree.
Fix it so that the optional DoneResult takes
priority over group's workflow policy.
Add tests for it.
Change-Id: I7ffdef2af08337d7214f2c3d4b68153cddaad425
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When starting the debugger, we need to pass it the location of the
downloaded device symbols, or otherwise debugger startup is very slow.
Xcode changes the location where it saves this information once in a
while, and it must have again. The location with Xcode 15.2 at least is
in the style "iPhone8,1 15.7.3 (19H307)", i.e. it starts with the
"product type" now.
Retrieve the product type of the device and add another candidate
directory for device symbols.
Fixes: QTCREATORBUG-31044
Change-Id: I1a65305fc84c1af8cd48c4ebb249167e1dbe6ae1
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Only print out additional information if the environment
does not match the expected one.
Change-Id: I9be1a90400a180a4cbd0381f54eea79409c007c7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This patch allows commenting environment changes or adding
comments to the batch edit widget.
To mark a line as comment prefix it with '##'.
Modifying the environment by using the batch edit mode
allows using '#' to disable variables.
Mis-using this to disable statements of the environment
items widget is tempting and other tools explicitly allow
it this way. But when doing so, the environment may get
some unforeseen modifications.
So, explicitly provide a mechanism for comments and be
more clear about this inside the documentation.
Change-Id: I6a58d0d00e996a3f886ec30e826cade324321818
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Introduce ParsedAvdList struct and return it from the parseAvdList().
This eliminates passing the errorPaths result by reference.
Simplify listVirtualDevices() implementation by removing some local
variables.
Adapt the tst_AvdManagerOutputParser test accordingly.
Change-Id: If4670bcc81ce36416c1fe35e8ee57e822f82516f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Change IPlugin::fileName() and IPlugin::location to use
FilePath instead of QString.
Change-Id: If473ab1e258951735f93221cbd62c505f0727eb2
Reviewed-by: hjk <hjk@qt.io>
Extend the solution from
commit d86cf5e235
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Sep 24 12:02:06 2020 +0200
Debugger: Retrieve and remember int from native GDB value
to also retrieve the int representation for numeric values
from the corresponding native gdb.Value if a typedef to
an integer or bool type is used, not only when an integer
type is used directly.
This makes expressions for bifield members in the
debugger's expression view show the correct value
when the type of those bitfield members is a typedef
to an integer type.
Extend the "Bitfields" dumper test accordingly.
One real world example where incorrect values were
previously shown is GtkWidgetPrivate from the
GTK library [1].
[1] ebc84a6185/gtk/gtkwidgetprivate.h (L39-76)
Change-Id: Ib39e00ebbfc8d7d9ab10dc89af61f37ec41fb4ee
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The type cache has been split into smaller caches for individual
aspects. Type ids are now integral, not strings.
In addition, there is new supporting code for logging, timing and
profiling
Change-Id: I6db72a149650d42aecf8b899869c542b1303d43b
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Since we now have multiple classes inheriting from PluginSpec it makes sense
to rename PluginSpecImpl to the more accurate CppPluginSpec as it deals with
compiled plugins only.
Amends b39b192518
Change-Id: Icae9daed2be5a258a9918731a881c72cbe4f0fa4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
PluginSpecImpl::read is used outside of tests, but PluginSpecImpl itself
is only exported when WITH_TESTS is on. So compilation without
WITH_TESTS would fail. To circumvent this the ::read functions are moved
outside of the PluginSpecImpl and friend'd to it.
Amends b39b192518
Change-Id: I4bd8ce087267ab4e059cff2470ff882c7db6fd78
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Enable them conditionally, since the fix went into Qt 6.6.
Task-number: QTBUG-119169
Change-Id: I6b9f1a9da6a5b6337384f37d940195f09bd28bd4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
In parallel mode the done handlers may be invoked in a
different order than the corresponding setup handlers.
Change-Id: Ib3df668491054501d250fef9c499d127fe98626d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>