The reserve function is quite complicated because it is implementing a
grow pattern. Something we seldom need. So we now align to the next cache
line size.
Change-Id: I14bb88c12bd740a7afa7cd08969a4e07fb0f9add
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Under windows the signature for private and public member are different. So
the hack to make private members public is not working. The other method
to use a macro project macro header is not wanted.
Change-Id: I25a3f4a8645394ba6b49a7d4778adab90155f892
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Create an interface to get the ability to use
another FollowSymbol implementation
Change-Id: I5802f62523ff3ee47b8a14e487adf43edcb6c9b1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
..and use it when we don't have refactoring plug-in
Change-Id: Ibe317a9728d439b9c5e05271d92a330d22eaacb9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
The old code model expected the macros as C++ formatted text
("#define Foo 42) but newer targets like the Clang codemodel expect key
value arguments like "-DFoo=42". So instead of parsing the text again and
again we use an abstract data description.
Task-number: QTCREATORBUG-17915
Change-Id: I0179fd13c48a581e91ee79bba9d42d501c26f19f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
It is a first step and now a database is generated if you start QtCreator.
Some code is now shared with the PchManager which can be improved in the
future.
Change-Id: Ic267fe7960f6c455d91832859a673ce98f269aa2
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This is only meant to let the wizard finish successfully. Further
changes will be needed because of changed code in the project.
Change-Id: Ic88ffa107f15c55b3278d3d6fc4d3c2dbc4d728b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Needed since 3bb3f4af56
filters out duplicates.
Change-Id: If7e56914feb9d22c1620822fbb363b55b894a41a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Danish and Ukrainian had been added a while ago, so add them to the
list of languages to check.
Change-Id: I92c507e3a567efa39d7295559af0fb16bbcd1bb6
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
If a parse or reparse operation fails, the corresponding translation
unit is "not intact" anymore and further job requests for that
translation unit will be silently discarded without notifying the
plugin. This is especially problematic when the plugin expects/waits
(for) a certain message.
A parse/reparse can fail due to e.g. an invalid commandline or an
internal crash.
In such a case, ensure to send some dummy results.
Task-number: QTCREATORBUG-18864
Change-Id: Ida9b8066fd55e64027a9b0d8bd5cf365b16a7356
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Change unsaved file to provide constructor overloads
for std::make_unique, std::make_shared and
QSharedPointer::create
Example:
// Provide Foo constructor signatures at <Cursor>
std::make_unique<Foo>(<Cursor>
Task-number: QTCREATORBUG-18615
Change-Id: I87dd17085adf99ee498db969a3cdda5ebd973476
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
... to reuse this position in backend (instead of
searching the function start again)
Change-Id: I02818dce4fc37ed6e7ecfb533191dbfe60610204
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
When using nativeType() Squish sends single key press events for
any char to type.
nativeType() does not wait until these events have been processed
which leads to complete useless time measurings inside
tst_tasks_handling as timestamps are taken too early if nativeType
had to be used - which happens when a native FileDialog is used.
Change-Id: I446de898fd99b2e169ca39bef1adb4306d6ee530
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Latest change of adding QScrollArea around Welcome's sidebar made
the objects lookup fragile. Using the QScrollArea inside Squish
tests helped for some but not all lookups.
Simplify the lookup by assigning an object name.
Change-Id: I5f37ee69bf20eaf02c9717cbaa5ba541d8ffbc17
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This adds a configuration file for clang-format [1] and a test file to
demonstrate benefits and current problems with respect to Qt Creator's
coding rules [2].
This is based on clang-format from the llvm/clang 5.0 branch, which is
about to be released soon in the next days/weeks (already behind
schedule).
Using clang-format for Qt Creator brings these advantages:
* Enforce a bunch of coding rules by a simple tool/shortcut invocation.
* Spend less review cycles for authors and reviewers regarding
formatting. This helps especially for/with first-time contributors.
* clang-format sorts includes and using declarations.
* clang-format adds/updates namespace end comments, e.g.: } //
namespace Foo
See dist/clangformat/README.md for setup instructions und currently
known issues.
[1] https://clang.llvm.org/docs/ClangFormat.html
[2] https://doc-snapshots.qt.io/qtcreator-extending/coding-style.html
Task-number: QTCREATORBUG-17643
Change-Id: I87bdd66b8e492e99a360022962b0053f02a33e57
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It seems that item.text can change after (not during!) the
double-click. Storing it earlier to workaround this problem.
Change-Id: I5da4ae7ea8e19b945e56349c2236940a9e5731cb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Currently, only the end of a filename as actually
compared since the title also contains "filename.h"
when the title starts with "otherfilename.h"
Change-Id: I60dd4dc1fd7c53fee2ddbc44953bcfe4d75c7530
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The old algorithm was comparing the string two times. One timer for smaller
and one for larger. And memcmp on a long string still costs. The new one
has a three state so it can compare smaller, greater and equal in one.
There is a reverse version too which has big advantage for file paths.
Change-Id: Ica4024f0a071803c697e2c1f26edd3eb1b203f9f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We already share same classes there which has nothing to do with IPC and
I want to more for sharing. So we should use a name which fits better.
Change-Id: Idfb12b6de714206117b92634ad719c6a0e290e78
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
When using pastebin there can be various errors. Add another
one and try to handle it gracefully as this is a server side error
we cannot influence ourselves.
Change-Id: I2bcd5b7752bfbb98e2b3fd41cc8ebb9daf0ebf32
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
It is now possible to read values at once.
for (auto [name, value] : statement.tupleValues<String, int>(1000, "foo", 20))
....
Change-Id: I3d4bc5218810b4620e1df625126aa490f30bbc71
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
There is now a forward header and it is possible template the string type.
Change-Id: Ibebd32c475a2d89a90da7190e77d44278eb43740
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
It is more efficient to use compare instead of less and equal together.
Change-Id: I772b03ba02509c0ebc5d5d770be14cf7d5bd431e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The server and client interfaces was tightly coupled.So it prevented
the introduction of immediate interfaces.
Change-Id: Ie4197ffddb862e076d080b3d2a5ee869fad9e4d0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Handle IPv6, and do not try to interpret the result as hex.
Change-Id: I700c233d03cc706bc8712ab9fabee75d7f126df3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Currently this might happen when registerTranslationUnitsForEditor is
called with visible documents that are not the ones that are registered.
Change-Id: I9ae5f75c8bbff6a11161a3387633726066001062
Reviewed-by: Marco Bubke <marco.bubke@qt.io>