It depends on header-only implementation.
Change-Id: Ib0a1dc92789b2d3e527f1d3cd1a4393f92e161e1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... and remove all instances that became redundant now.
this excludes everything that comes from outside qtc, or looks like it
could "leave" it.
Change-Id: Idc8baad17cd1ffdc5e160ec48ea3292d633a2562
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
...by giving the Quick app more time to finish.
Change-Id: I788715bcfa0949ee1873295eb869fb4e04fd00b1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Speed ups the typical use cases that can profit from this:
* Change a header file and switch then to source file
* Open documents one after the other (Follow Symbol)
* Change documents visible in splits (e.g. by refactoring action)
* Restore a session with multiple splits
Fixes the test ClangIpcServer.GetCodeCompletionDependingOnArgumets.
Change-Id: Ia575bd59780df14146dfc091a4d48794e4a0543d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Extract TranslationUnitCore, which is the API for the high-level
operations we need. TranslationUnit does not call any clang_* functions
anymore, except the one needed for disposing the CXTranslationUnit - for
now, we keep TranslationUnit the owner of TranslationUnitCore.
TranslationUnitCore will be passed on to the worker threads.
With this, the current "TranslationUnit" looses its meaning. We will
rename it to "Document" in a follow-up change.
***
TranslationUnit::cxTranslationUnit does not implicitly
creates/parses/reparses anymore. We use more verbose update operations
now.
The test ClangIpcServer.GetCodeCompletionDependingOnArgumets fails now
because of this - CodeCompleter::completeHelper() does not recreate the
translation unit anymore, thus working on the old data.
This will be addressed in a follow-up change.
Change-Id: I6213d6f1609cd3c9a54666c84cb8b623b2fefe1c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
...in preparation for concurrent processing of documents.
Parsing and reparsing is handled by TranslationUnit. Since we will do
this in a different thread, extract the core logic into the new class
TranslationUnitUpdater, so that we can prepare the necessary data for
the run and then later incorporate the results of the parse/reparse.
Change-Id: Ic9d936d193ee6795a755f0cfc38c0b2a7bd402cc
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Make the necessary data implicitly shared since it might get
accessed/modified from two different threads with follow-up changes.
This applies for UnsavedFiles/UnsavedFile and ProjectPart::arguments().
* Avoid returning references.
Change-Id: I98842c1cb90ae0d344a15c63b72cbc89568722d3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
So MSVC2010 and MSVC2013 don't get in their way.
Change-Id: Idb248e86dbe904e2f3867d793b80119f7e2dc31c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The LeveledTreeModel case is general enough to cover
the UniformTreeModel case, so merge them and rename to
TreeModel. The former TreeModel is now BaseTreeModel.
BaseTreeModels should not be instantiated directly,
a tree model with non-uniform basic items is available
as TreeModel<>.
Done-with: Eike Ziller <eike.ziller@qt.io>
Change-Id: I64a65617ab68c0cde39cf65f4bc092ef808ee6fb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
So MSVC2010 and MSVC2013 don't get in their way.
Change-Id: Ie4696ce1afa695a6db109945ab506ce195322656
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
So MSVC2010 and MSVC2013 don't get in their way.
Change-Id: Ib32c30dc0cc960756bb423348d88452aa20fbfcd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Assertion failed: IncludeBriefComments == this-
>IncludeBriefCommentsInCodeCompletion, file C:\dev\src\llvm-381\tools
\clang\lib\Frontend\ASTUnit.cpp, line 2337
Only occurs when linked again a debug llvm.
Change-Id: I6a37875fe95852ee2afcef7f6b6b38e9669a6584
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
We want to use it for other profilers, too.
Change-Id: Ice4bd7fdfce6e0153d62a7c9a83dc7de6d5cba30
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
In TDD development is a standard advised that you setup you values in the
block, run what you want to test in the second and assert in third. We
should try to stick it because it makes reading the test easier.
It is advised too put the setup code after the test if possible.
I used const QList<QByteArray> inputChunks = {"hello\n"} instead of
const QList<QByteArray> inputChunks {"hello\n"} because it is always using
the initializer_list constructor.
Change-Id: I1573566efc1327a2d8681e9ae7bd0ad6ee182789
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
warning: comparison between signed and unsigned integer expressions
[-Wsign-compare]
Change-Id: I8c6e2d8f6c536ec3c50293b6302ebb5b1d8313c1
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
The messages
RequestDiagnosticsMessage
RequestHighlightingMessage
and
DiagnosticsChangedMessage
HighlightingChangedMessage
are always send/received together, so merge them into
RequestDocumentAnnotationsMessage
DocumentAnnotationsChangedMessage
Change-Id: I6a0b6281ed1e6efe6cb18386afe99b1d1fb58abf
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Only convert the raw output later in a stdOut() and stdErr() method of
the SynchronousProcessResponse.
This is necessary since we have processes that use different encodings
for different sections of the file (I am looking at you, git).
Also remove the signals for raw data on stdout/stderr, leaving only the
signals returning buffered QString lines. This should be safe, even
with UTF-16 output.
Change-Id: Ida613fa86d1468cbd33bc6b3a1506a849c2d1c0a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Syntax is similar to bash substitution:
%{variable/pattern/replacement} takes the expansion of variable, and
replaces the regular expression pattern with replacement once.
%{variable//pattern/replacement} replaces all occurrences.
Capture groups are supported for both forms.
Change-Id: I67ff91e2dad4dd8be81573ea446cd1093a05ccf6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: hjk <hjk@qt.io>
Chicken out for now after latest internal structure changes.
Change-Id: I66e283e52f9b51a51065520ecd3eb07b15e82fc2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>