- Mar 24, 2016
-
-
Nikita Baryshnikov authored
in places where we do not need it Change-Id: Ibf35f8144da859fffa3e0a7b6bb262284ec2292a Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Feb 19, 2016
-
-
Orgad Shaneh authored
Without this, too many threads are spawned, and loading a project takes forever. Change-Id: I3c22557ddd7bfb0c70f7b089c276432e3b003097 Reviewed-by:
Eike Ziller <eike.ziller@theqtcompany.com>
-
- Feb 12, 2016
-
-
Nikolai Kosjar authored
Affected functionality was, among others: * Getting the correct project part when opening a file * Fallback project part (merged defines/includes) not up to date * Fallback for "Switch Header/Source" not up to date In the early days sessions switching was probably implemented by "close all projects of session X, open all projects of session Y". That's not the case anymore today. Change-Id: I4c6a80e2eb219615d3ea6fcf07be7c05072c8832 Reviewed-by:
Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by:
Tobias Hunger <tobias.hunger@theqtcompany.com>
-
- Jan 19, 2016
-
-
Tobias Hunger authored
* Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by:
Tobias Hunger <tobias.hunger@theqtcompany.com>
-
- Jan 13, 2016
-
-
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>
-
- Dec 16, 2015
-
-
Nikolai Kosjar authored
This removes also the need to close editor documents. Change-Id: I96c68105bceb37841053f3dbd8a264e059a02cb8 Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- Dec 15, 2015
-
-
Nikolai Kosjar authored
...so the built-in parser can handle them. Change-Id: Iff69638f8939c3c4dced99699a3357dd94b23c71 Task-number: QTCREATORBUG-15431 Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- Dec 01, 2015
-
-
Marco Bubke authored
We reparse first the current and then the visible translation units before we reparse all other units. The signals connections are queued to wait for the visible editor update. Change-Id: I5e2b8bc80568450268ca24e26720b3f5af640995 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Nov 16, 2015
-
-
Nikolai Kosjar authored
Related to commit c47079f97f7d42db0c581525a2ce6fddbc0995f2 Clang: Activate the code model with a check box Change-Id: Ief11768ba0dd27788032e2dd3ad9b7ae39a8f52b Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- Nov 09, 2015
-
-
Nikolai Kosjar authored
...when acessing m_headerPaths, m_projectFiles or m_definedMacros from different threads. ensureUpdated() locked the mutex before writing the variables, but reading them happened with an unlocked mutex. Change-Id: I4951fd58f1939e4e50534a018dd600004789668e Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- Nov 06, 2015
-
-
Nikolai Kosjar authored
Provide the language option (e.g. "-x c++-header") when registering a translation unit for the editor. Task-number: QTCREATORBUG-14787 Change-Id: Ie06f9fdab302f1b21ba72cdb65b6aabf9f7bc04c Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- Oct 14, 2015
-
-
Nikolai Kosjar authored
...with the clang code model. In updateProjectInfo() we lock the project mutex and emit a signal. However, the correspondig slot in the clang code model will call back into a function that needs to lock the mutex, too: CppTools::CppModelManager::workingCopy // dead locks here CppTools::BaseEditorDocumentParser::InMemoryInfo::InMemoryInfo ClangCodeModel::Internal::ClangEditorDocumentProcessor::run ClangCodeModel::Internal::ModelManagerSupportClang::unregisterTranslationUnitsWithProjectParts ClangCodeModel::Internal::ModelManagerSupportClang::onProjectPartsRemoved ... CppTools::CppModelManager::projectPartsRemoved CppTools::CppModelManager::updateProjectInfo // emits here Fixed by emitting the signal after releasing the mutex. Change-Id: Id3f3cd22b0604f343ada56ea13c26f0dc1a75bd6 Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- Oct 12, 2015
-
-
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>
-
Nikolai Kosjar authored
...to it can be reused by other clients more easily. Also, in a follow-up change it will have a project part dependency that can be cleared inside the CppModelManager more easily. Change-Id: Ic9f2ce5212a94fd05ab0571e9ad99d0a25f5bc5c Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- Oct 09, 2015
-
-
Aleix Pol authored
It crashed in some places on our code-base due to the so-called "static initialization order fiasco". As a solution, it turns the variable into a function. This shouldn't have a penalty due to QStringLiteral. Change-Id: I9f8a955afdff878dc2f0db16fec861d81250c243 Reviewed-by:
Tobias Hunger <tobias.hunger@theqtcompany.com>
-
- Oct 06, 2015
-
-
Daniel Teske authored
Didn't work if there was any folded text before the #include. Change-Id: I8f16205f06bfaa8b8541401a9ebd5995c15b2227 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> Reviewed-by:
Daniel Teske <daniel.teske@theqtcompany.com>
-
- Aug 31, 2015
-
-
Marco Bubke authored
Change-Id: Ica1a33b2619f64746b8671bff2856503775a40bf Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Jul 20, 2015
-
-
Nikolai Kosjar authored
It compared pointers, not ids. Change-Id: Ic77c64e452f8abfe9a35b74591f0f3baeebcf7f0 Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
Nikolai Kosjar authored
File paths are not unique since e.g. each qbs group in a file is mapped to a project part. Change-Id: I7df3f224dd23046b869f2588b8a34eb26cfc0b1a Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- Jul 08, 2015
-
-
Nikolai Kosjar authored
Needed for ClangCodeModel. If the content changes, we want to send it immediately to the codemodelbackend process. Change-Id: Iedf16930b494ccb5e91f1bc435db026067d98613 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> Reviewed-by:
Daniel Teske <daniel.teske@theqtcompany.com>
-
- Jun 24, 2015
-
-
Nikolai Kosjar authored
Quitting Qt Creator before the project was loaded from the project manager triggers the assert because the updateProjectInfo() call was not yet made by the project manager. Change-Id: I23c660971e48d007d1bae00ecf8ed5c2ad3d4071 Reviewed-by:
Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- Jun 10, 2015
-
-
Nikolai Kosjar authored
This makes us independent of libclang crashes for completion. Re-parsing for highlighting still happens in the Qt Creator process. Run in verbose mode: qtc.clangcodemodel.ipc=true Run tests: -test "ClangCodeModel" Task-number: QTCREATORBUG-14108 Task-number: QTCREATORBUG-12819 Change-Id: Id3e95bd2afdb6508bbd1d35fddc69534a909b905 Reviewed-by:
Marco Bubke <marco.bubke@theqtcompany.com>
-
- May 13, 2015
-
-
Nikolai Kosjar authored
...with the environment variable QTC_CPP_FILE_SIZE_LIMIT_MB. Task-number: QTCREATORBUG-14390 Change-Id: Iaefaa1a3db023b58f9351b96e1b9e2139797e280 Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- Apr 24, 2015
-
-
Nikolai Kosjar authored
For indexing we used a custom revision that was updated on each modelManager BuiltinIndexingSupport::refreshSourceFiles() call. This could lead to rejection of updated documents triggered by refactoring actions, like for the following case: 1. Open a project containing a.h and a.cpp 2. Open a.cpp, insert some new lines, save and close the document 3. Open a.h and rename a function that is defined in a.cpp --> The refactoring action modifies a.h and a.cpp, so re-indexing of those is triggered. Since a.cpp has already a higher revision (step 2) than the updated document, the updated document is discarded. As a consequence find usages and follow symbol fails for the renamed function. Now the document call back provided to CppSourceProcessor is responsible for updating the document revision based on the latest revision in the global snapshot. Change-Id: I4dfa0a4d34991655acfa749109f00c47b0fbfdbe Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by:
Eike Ziller <eike.ziller@theqtcompany.com>
-
- Apr 07, 2015
-
-
Nikolai Kosjar authored
When the configuration (defines and includes dirs) did not change, we only updated the m_projectToProjectsInfo data structure, but not the others (m_projectFileToProjectPart, m_fileToProjectParts). Change-Id: I0ca235ea4bbe4556bd8b6d36897dedd6482f86a0 Reviewed-by:
Christian Stenger <christian.stenger@theqtcompany.com>
-
- Mar 05, 2015
-
-
Friedemann Kleint authored
Change-Id: I0144ac33e88980c431c54a6d69bbde28da4b1967 Reviewed-by:
Orgad Shaneh <orgads@gmail.com>
-
- Feb 27, 2015
-
-
Nikolai Kosjar authored
These operators led to parse errors, most prominently in Q_OBJECT uses since this macro nowdays uses these operators. Task-number: QTCREATORBUG-13905 Change-Id: I65632820d02ca5c5ef0b98f5d969cdc516d7f5b0 Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- Feb 26, 2015
-
-
Friedemann Kleint authored
Change-Id: I1e7dd34ba5a51fb0b34d137dc03add4457b32ed1 Reviewed-by:
Orgad Shaneh <orgads@gmail.com>
-
- Feb 20, 2015
-
-
Orgad Shaneh authored
Task-number: QTCREATORBUG-8007 Change-Id: Ic96aaa433442812a99bac9d16bb9124d66762e8c Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Feb 04, 2015
-
-
Orgad Shaneh authored
Mostly done using the following ruby script: Dir.glob('**/*.cpp').each { |file| next if file =~ %r{src/shared/qbs|/qmljs/} s = File.read(file) s.scan(/^using namespace (.*);$/) { ns = $1 t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m| before = $1 char = $2 if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/ m else before + char end } if t != s puts file File.open(file, 'w').write(t) end } } Change-Id: I6fbe13ddc1485efe95c3156097bf41d90c0febac Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Jan 16, 2015
-
-
Eike Ziller authored
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by:
Alessandro Portale <alessandro.portale@digia.com>
-
- Jan 14, 2015
-
-
Nikolai Kosjar authored
...and related functions. For clarity in client code. Change-Id: Icad6fc7b1eee2ce46a2eba8435359837a23409c8 Reviewed-by:
Orgad Shaneh <orgads@gmail.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- Jan 12, 2015
-
-
Orgad Shaneh authored
Change-Id: I85f7398aee59d0d36f0e5c3bf88ff3c96002e394 Reviewed-by:
Eike Ziller <eike.ziller@theqtcompany.com>
-
- Dec 19, 2014
-
-
Nikolai Kosjar authored
...instead of going through CppModelManager::projectInfo(). Now CppModelManager::projectInfo() returns an invalid ProjectInfo in case there is no valid data for the given Project. Change-Id: I11908bf2ddf865b1d3d71ff176eaf4139292b21c Reviewed-by:
Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- Dec 18, 2014
-
-
Erik Verbruggen authored
... by keying on Utils::FileName. Task-number: QTCREATORBUG-12390 Change-Id: Ib99eefcf3440d4383f624a614a3093f427efffbd Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Dec 17, 2014
-
-
Erik Verbruggen authored
... by keying on Utils::FileName Task-number: QTCREATORBUG-12390 Change-Id: Ia98afb5a9160a7fd9225a2f9e02539ff3c35ae86 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
-
- Dec 15, 2014
-
-
Nikolai Kosjar authored
...since this will confuse the completer. Task-number: QTCREATORBUG-13567 Change-Id: I4172d433f23f3907690d4c00f92fadb68fa354e8 Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com> Reviewed-by:
Eike Ziller <eike.ziller@theqtcompany.com>
-
- Dec 03, 2014
-
-
Nikolai Kosjar authored
This fixes SOFT ASSERT: "!filePath.isEmpty()" in file /home/nik/dev/creator/creator-ut/src/plugins/cpptools/cppmodelmanager.cpp, line 467 which can be triggered by e.g. a "git show" document (onCurrentEditorChanged does not check for an empty file path). Change-Id: If4ed8e552069b290cb4ac93da52427b7ed2b91e8 Reviewed-by:
Eike Ziller <eike.ziller@theqtcompany.com>
-
Nikolai Kosjar authored
...if the project was updated in the meanwhile. If a project is updated mark invisible editor documents dirty and update them if they get focus. This also fixes document highlighting when restoring a session for documents that the user "switched away" before the project info is pushed to CppModelManager. This completes CppTools: Update visible documents on project update commit c2eb91e0 which only takes care of visible documents. Task-number: QTCREATORBUG-13270 Change-Id: Id445e7f509deac5d03194aecc54ce4629b7926ce Reviewed-by:
Erik Verbruggen <erik.verbruggen@theqtcompany.com>
-
- Nov 24, 2014
-
-
Nikolai Kosjar authored
A DiffEditorDocument has an empty file path. Change-Id: If097497514afa82b1ed220a37cae410f4a81aa9a Task-number: QTCREATORBUG-13489 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-