- 24 Oct, 2017 1 commit
-
-
Ivan Donchevskii authored
Usages class is used in findUsages and globalRename in further changes. Change-Id: I2f314e4ebe7828e59fcc3cae824893c96eb21cab Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io>
-
- 23 Oct, 2017 1 commit
-
-
Ivan Donchevskii authored
Since it's never used for other compilers. Change-Id: I9512692d1dc9f9a701ea2453b7d50005478bed5d Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io>
-
- 22 Sep, 2017 2 commits
-
-
Ivan Donchevskii authored
Move CppRefactoringEngine to CppTools and builtin member ownership to model manager. Change-Id: I3e72308559fd2928229f9f25d4dd09beb3f56c34 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io>
-
Ivan Donchevskii authored
Move FollowSymbolUnderCursor to CppTools and builtin member ownership to internal model manager. Change-Id: I97a4f744ec1709ccc0b34fb67b58680973ef566f Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io>
-
- 19 Sep, 2017 1 commit
-
-
Nikolai Kosjar authored
...to avoid confusion. Use a customized QPlainTextEdit instead of a QLineEdit because the latter does not allow wrapping of long lines. Horizontal scrolling in a QLineEdit for long/many options is inconvenient. Change-Id: I15b5f034e04920d0ca955c4f822d882b05e9c235 Reviewed-by:
Tim Jenssen <tim.jenssen@qt.io>
-
- 15 Sep, 2017 2 commits
-
-
Ivan Donchevskii authored
Create an interface to get the ability to use another FollowSymbol implementation Change-Id: I5802f62523ff3ee47b8a14e487adf43edcb6c9b1 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io>
-
Ivan Donchevskii authored
..and use it when we don't have refactoring plug-in Change-Id: Ibe317a9728d439b9c5e05271d92a330d22eaacb9 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io>
-
- 15 Aug, 2017 1 commit
-
-
Ivan Donchevskii authored
Invoke follow symbol in clang backend if env variable QTC_CLANG_FOLLOW_SYMBOL is 1. Does not include backend implementation. Change-Id: Ia20a677830ebdd7f24800af5c5d6e8b1bf579205 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io>
-
- 15 Jun, 2017 1 commit
-
-
Nikolai Kosjar authored
Change-Id: I7bef1dee81678f77f5c0d8a6d22488aa63f981e7 Reviewed-by:
Ivan Donchevskii <ivan.donchevskii@qt.io> Reviewed-by:
hjk <hjk@qt.io>
-
- 14 Jun, 2017 1 commit
-
-
Nikolai Kosjar authored
Let CppUseSelectionsUpdater delegate the work to *EditorDocumentProcessor so that the clang code model can also provide results. Change-Id: I6872afbfeea1a5c4a64fdf19fcb1992f134dde08 Reviewed-by:
Marco Bubke <marco.bubke@qt.io>
-
- 29 May, 2017 1 commit
-
-
Nikolai Kosjar authored
Needed for a follow-up change. Change-Id: Ibb4815f3411f0d63deac8c32583178470668f67b Reviewed-by:
Ivan Donchevskii <ivan.donchevskii@qt.io> Reviewed-by:
Orgad Shaneh <orgads@gmail.com>
-
- 20 Feb, 2017 1 commit
-
-
Nikolai Kosjar authored
${AnyProject}::updateCppCodeModel() did two potentially not that cheap operations in the ui thread: (1) Querying the MimeDatabase for the mime type for the source files of the project. In 99.9% of the cases no files need to be read for this as the file extension will resolve the type. The expensiveness comes from the sheer number of files that can occur. (2) Calling compilers with the "(sub)project's compiler command line" to determine the macros. While the caches avoid redundant calls, the number of the unique compiler calls makes this still a ui-freezing experience. These two operations are moved into a worker thread. For this, the expensive compiler calls are encapsulated in thread safe lambdas ("runners") in order to keep the "mutexed" data minimal. The original API calls of the toolchains are implemented in terms of the runners. While adapting the project managers, remove also the calls to setProjectLanguage(). These are redundant because all of the project managers already set a proper value in the constructor. Also, currently there is no need (client) to report back detection of C sources in project parts. This also keeps CppProjectUpdater simple. There is still room for improvement: * Run the compiler calls in parallel instead of sequence. * Ensure that the mime type for a file is determined exactly once. Change-Id: I2efc4e132ee88e3c8f264012ec8fafe3d86c404f Reviewed-by:
Tobias Hunger <tobias.hunger@qt.io>
-
- 24 Jan, 2017 1 commit
-
-
Nikolai Kosjar authored
Parse issues can have multiple reasons (invalid kit, not a project file, actual parse issue) and we should be able to tell them apart. With this change, we can distinguish between the fallback project part and a ambiguous project part. Follow up changes will use this to display more accurate diagnostics. Change-Id: Icc8767607cc17dc14d6227b07f34e81ba5525a96 Reviewed-by:
David Schulz <david.schulz@qt.io>
-
- 16 Jan, 2017 1 commit
-
-
Nikolai Kosjar authored
...instead of C++ headers. For the Clang Code Model this results in using "-x c-header" instead of "-x c++-header". This introduces a new option in Options > C++ > "Code Model" to configure this. Change-Id: I8a0ce8fa6155f5ef58743ebc7f1d0b500fbf6599 Reviewed-by:
David Schulz <david.schulz@qt.io> Reviewed-by:
Leena Miettinen <riitta-leena.miettinen@qt.io>
-
- 16 Dec, 2016 1 commit
-
-
Nikolai Kosjar authored
...and put it under tests. Change-Id: Id4bd2391abd1dfdc23640e871453558566cb0693 Reviewed-by:
David Schulz <david.schulz@qt.io>
-
- 15 Dec, 2016 1 commit
-
-
Marco Bubke authored
We used the same code in different but don't shared it. From a bug fixing perspective it's actually not that smart. Change-Id: Iaaffc883229e259ff77f95b5cf0a8f0d8b5117df Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io>
-
- 13 Dec, 2016 1 commit
-
-
Nikolai Kosjar authored
...and add some basic tests. Introduce the abstractions ProjectInterface and ToolChainInterface in order to break the dependency to the ProjectExplorer. Also, some simple logic can go there to simplify the (Base)ProjectPartBuilder. Change-Id: I6c50a1804ce62098b87109931eb171f5c2542937 Reviewed-by:
David Schulz <david.schulz@qt.io>
-
- 08 Dec, 2016 1 commit
-
-
Nikolai Kosjar authored
Change-Id: Ib7a5c3c61b0ea172cbc6a3ac7c94e77ffabc0db4 Reviewed-by:
David Schulz <david.schulz@qt.io>
-
- 04 Aug, 2016 1 commit
-
-
Marco Bubke authored
Change-Id: I2e3f36f810276da3f8dc7dcc587b06f8edb586d3 GPush-Base: d02f51b48fc752fddcdef6dcb32b3f7f6c0195a3 Reviewed-by:
Tim Jenssen <tim.jenssen@qt.io>
-
- 30 May, 2016 1 commit
-
-
David Schulz authored
Change-Id: I12b7828d23d599e5903237d0cc2a3c0440e1b07d Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@qt.io> Reviewed-by:
Leena Miettinen <riitta-leena.miettinen@qt.io>
-
- 26 Apr, 2016 1 commit
-
-
David Schulz authored
Replacing all occurrences of win32-msvc* with msvc. Task-number: QTCREATORBUG-16118 Change-Id: I46bd54628bffb04c24bca587fd9dd7684e888f1a Reviewed-by:
Eike Ziller <eike.ziller@qt.io> Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
- 01 Mar, 2016 1 commit
-
-
Nikolai Kosjar authored
A warning configuration is a list of command line (warning) options for libclang. Three non-editable built-in configurations are provided by default. The user can copy a configuration to customize it. This is still a global setting and it changes take effect after re-opening a document. Both issues will be addressed in follow-up changes. Change-Id: I86667d7dc39ad31b88666454220e6da563797740 Reviewed-by:
Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- 29 Feb, 2016 1 commit
-
-
Alexandru Croitor authored
Implement selection expanding / shrinking, that is aware of C++ semantics, thus giving smart selection changing. Change-Id: I1386a20597fa6bb85c3aa0d8ddfb87cdb3fd7c38 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- 16 Feb, 2016 1 commit
-
-
Ulf Hermann authored
Allow for different extra compilers which may get called to generate additional code for the code model. The build system is expected to know what files are generated from which source file and the extra compilers know how to generate the content of those files, without touching the build directory. the uic adapter is refactored to be the first such extra compiler. The extra compiler is run when an editor for its source document loses focus, or after a timeout of 1s when the source document has been changed. Change-Id: I13c110c61120c812f02639a3684144daf8979b37 Reviewed-by:
Tobias Hunger <tobias.hunger@theqtcompany.com>
-
- 13 Jan, 2016 5 commits
-
-
Marco Bubke authored
Change-Id: Ida0e8552d371972c141cf561b28667f4428c6fff Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
Marco Bubke authored
Change-Id: I503ffd72a98db6668f6449ce95e695e035a79a29 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
Marco Bubke authored
Change-Id: I0aa65ec6c80dcd437f13ff70021388b0da57ccfd Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
Marco Bubke authored
Change-Id: I0fc4c73553a29585d4ff7c8d6593acb6975d1607 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
Marco Bubke authored
Also extracting inline HeaderPath class and change projects list in vector because the size is larger than a pointer. Change-Id: I885fdff3fe9bccc877634d1615249755f5b674fd Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- 12 Jan, 2016 1 commit
-
-
Marco Bubke authored
We broke the dependency of BaseEditorDocumentProcessor *BaseEditorDocumentProcessor::get(const QString &filePath) It's hiding static calls and it is much easier to do it that way than to provide a reference to every user. It's also possible to exchange it with different implementations for different test cases. Change-Id: Ic74699b45948e8b48f7efb6a1b295ba2641b8951 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- 12 Oct, 2015 1 commit
-
-
Nikolai Kosjar authored
Finding the class definition for a forward declaration or finding the function definition from its declaration is mostly determined by the file iteration order. Documents with the most common path prefix are checked first. This works fine as long as the files of your project have a common ancestor. If that's not the case, FollowSymbol might take you to the definition within another project. Fix that issue by considering the project part id when constructing the file iteration order. Since the cached file iteration order now depends on the projects, ensure to clear it if projects are added, changed or removed. Task-number: QTCREATORBUG-15116 Change-Id: I529166bac363959c9fee0b946747fd0370a88809 Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- 28 Sep, 2015 1 commit
-
-
Marco Bubke authored
Reparsing a document is expensive so we should avoid it by all means. In this patch we prevent that the same document is send again. It isn't send too in advance of a code completion if there was no changes before the the completion position. Change-Id: I0bb786ba1d4e7ce08611a518cb32f8cf8f4d0037 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- 26 Jan, 2015 1 commit
-
-
Nikolai Kosjar authored
Change-Id: I75768f548f8f914e76fbdeaf3c318c207782fe1b Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- 21 Jan, 2015 1 commit
-
-
Nikolai Kosjar authored
As as side effect, this also brings some more pragma completions for the builtin-in completion engine, e.g. "pragma once" or "pragma omp atomic". Change-Id: If3ef22076c331c653b78a87cfff836c1da38c8fb Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- 12 Jan, 2015 1 commit
-
-
Eike Ziller authored
Collects all included files from any file of any project or that is open in an editor. It has the same shortcut as the files from any project filter and is also enabled by default. Task-number: QTCREATORBUG-280 Change-Id: I7cd89ee68d2f8ec4e0ea03de0c11671f489c47dc Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- 19 Sep, 2014 1 commit
-
-
hjk authored
Replace the CppModelManagerInterface/derived CppModelManager combo by a more common CppModelManager/CppModelManagerPrivate pimpl pattern. Change-Id: Ia4582845ed94d5ef60b8571bab9b2260c6290287 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 18 Sep, 2014 1 commit
-
-
Tobias Hunger authored
Make some C++ related methods available to the JsExpander. These are concerned with namespace handling, etc. Change-Id: I2fc3807cf421b817bb103b727606a78aee290652 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 25 Aug, 2014 1 commit
-
-
Nikolai Kosjar authored
This mainly takes CppEditorSupport apart. * Parsing is now invoked by CPPEditorDocument itself by listening to QTextDocument::contentsChanged(). * Upon construction and destruction CPPEditorDocument creates and deletes an EditorDocumentHandle for (un)registration in the model manager. This handle provides everything to generate the working copy and to access the editor document processor. * A CPPEditorDocument owns a BaseEditorDocumentProcessor instance that controls parsing, semantic info recalculation and the semantic highlighting for the document. This is more or less what is left from CppEditorSupport and can be considered as the backend of a CPPEditorDocument. CPPEditorDocument itself is quite small. * BuiltinEditorDocumentProcessor and ClangEditorDocumentProcessor derive from BaseEditorDocumentProcessor and implement the gaps. * Since the semantic info calculation was bound to the widget, it also calculated the local uses, which depend on the cursor position. This calculation got moved into the extracted class UseSeletionsUpdater in the cppeditor plugin, which is run once the cursor position changes or the semantic info document is updated. * Some more logic got extracted: - SemanticInfoUpdater (logic was in CppEditorSupport) - SemanticHighlighter (logic was in CppEditorSupport) * The *Parser and *Processor classes can be easily accessed by the static function get(). * CppHighlightingSupport is gone since it turned out to be useless. * The editor dependency in CompletionAssistProviders is gone since we actually only need the file path now. Change-Id: I49d3a7bd138c5ed9620123e34480772535156508 Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- 20 Aug, 2014 2 commits
-
-
Nikolai Kosjar authored
Change-Id: I554b5e9e3f1ef7c167fa45b5cd0c230fdf63073b Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
Nikolai Kosjar authored
Change-Id: If89e81eec6d600d3d39cc09203cf434d0768c1b4 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-