- 26 Apr, 2013 3 commits
-
-
Erik Verbruggen authored
Change-Id: I59fdb898e270af0fcc18e79ae922e119504ef10e Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
Erik Verbruggen authored
- Moved document update handling into CppTools. - Moved semantic info calculation into CppTools. - Moved semantic highlighting into CppTools. Change-Id: I253861bf074a64b1f657f7a4a8e6583871b5285f Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
Nikolai Kosjar authored
After processing configurationFileName() the first time, it was added to the already seen files (m_included). Thus, on parsing further files, it was ignored and with that all the project defines. Task-number: QTCREATORBUG-9107 Change-Id: Ia4817dfa3b30ed27d142f7f3eeb6f099d0653441 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- 22 Apr, 2013 1 commit
-
-
Erik Verbruggen authored
This operation is quite costly if a lot of files are involved, and in case of exiting Creator, it's also useless. Change-Id: I97d178d47a3a2f6b214f7ebc45c871edd26b8286 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by:
Eike Ziller <eike.ziller@digia.com>
-
- 16 Apr, 2013 2 commits
-
-
hjk authored
Change-Id: Ib501bbe16548b194ff5028a1b3ab74c5f0e3230d Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
Erik Verbruggen authored
System headers and other file which are not explicitly mentioned in the project must be reparsed when the project changes. Task-number: QTCREATORBUG-9056 Change-Id: I32f1206d241a078a4d9b15fac5813f365a1ba303 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 11 Apr, 2013 1 commit
-
-
Erik Verbruggen authored
When the preprocessor is asked to process a file which it has already seen before, it can skip it, but it still has to add the file to the list of included files for the current document. Task-number: QTCREATORBUG-9107 Change-Id: I30cac61c1da20da7fe925168ecccb429584e9746 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 10 Apr, 2013 1 commit
-
-
Friedemann Kleint authored
Ran script to remove inludes on a trial-and-error basis and manually corrected it. Change-Id: Ic8464ea084ca1ab401e9f4a7d0183b92b4038902 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- 09 Apr, 2013 1 commit
-
-
Erik Verbruggen authored
Change-Id: Iacf8cb12dd623c908538d80ee2595297a9bdde71 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 08 Apr, 2013 1 commit
-
-
Tobias Hunger authored
There were quite a few classes using CPlusPlus namespace in the CppTools plugin. Rename them and do some other small namespace related coding style fixups. Change-Id: I093fc1f3fc394fd9923e3f18d5f66522e288f21d Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- 03 Apr, 2013 1 commit
-
-
Oswald Buddenhagen authored
... and adjust INCLUDEPATH accordingly. while i'm at messing with include statements, also re-order the include blocks according to policy and sort them within bigger blocks. Change-Id: I7762abfd7c4ecf59432b99db2f424e4fa25733a5 Reviewed-by:
Tobias Hunger <tobias.hunger@digia.com> Reviewed-by:
Eike Ziller <eike.ziller@digia.com>
-
- 27 Mar, 2013 1 commit
-
-
Sergey Shambir authored
Change-Id: I14e9bbfea1bca58cdc49212b7ad1d880ab908ec8 Reviewed-by:
Tobias Hunger <tobias.hunger@digia.com>
-
- 21 Mar, 2013 1 commit
-
-
Sergey Shambir authored
Please, read blueprint here: http://qt-project.org/wiki/Blueprint-for-language-specs-system Removed feature from QbsProjectManager: it not longer splits project on separate C and C++ parts, because Qt version used only by clang parser (not native) and can be ignored for pure C and Objective-C without C++. Change-Id: I1c561f7f9f915cc6cb8579d19db74e8352f54c1e Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by:
Tobias Hunger <tobias.hunger@digia.com> Reviewed-by:
Daniel Teske <daniel.teske@digia.com>
-
- 12 Mar, 2013 1 commit
-
-
Friedemann Kleint authored
Change-Id: I00a68d7f2b509e3934c3248765a78e9b47749127 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 08 Mar, 2013 2 commits
-
-
Erik Verbruggen authored
Change-Id: Iab4dee2a607d453b3e80fe591b70329ab48d27a9 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
Friedemann Kleint authored
- values or keys iteration - non-const ref iterator Change-Id: I6bb58793b3155243e0fbfaf33ee43ce60edea8d1 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 27 Feb, 2013 1 commit
-
-
Erik Verbruggen authored
Change-Id: I69e892de34e06a0c95b3218abd8a0bb72966d875 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 19 Feb, 2013 1 commit
-
-
Erik Verbruggen authored
Change-Id: I5636039c79be40505c707f775b228bc51f35c243 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 30 Jan, 2013 1 commit
-
-
Erik Verbruggen authored
Change-Id: I9b199df863b404e4cb2ce3c76c920b9010c09260 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 29 Jan, 2013 1 commit
-
-
Robert Loehning authored
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by:
Kai Koehne <kai.koehne@digia.com>
-
- 18 Jan, 2013 1 commit
-
-
Erik Verbruggen authored
Track the typical #ifndef/#define/#endif usage in header files to see if the macro is an include guard. If so, store it in the Document. No behavioural change, just recording the name. This can be used in the future to track if a file needs to be re-parsed when a macro changes: if it was used in the file, and not defined in it nor being the include-guard, a file should be re-preprocessed and re-parsed. It can also be used to check if two files have the same include guard. Change-Id: I2715f529997a7b24a11bdbc6150652e2669f1a46 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 11 Jan, 2013 1 commit
-
-
hjk authored
This does not yet resolve the file using the proper mechanism. Change-Id: I04913e8b01ae0c3411961f0c1cffe07202f06a0a Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- 08 Jan, 2013 1 commit
-
-
Orgad Shaneh authored
#!/usr/bin/env ruby Dir.glob('**/*.cpp') { |file| # skip ast (excluding paste, astpath, and canv'ast'imer) next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i s = File.read(file) next if s.include?('qlalr') orig = s.dup s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m| res = $& if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces res else res.gsub!('} else', 'else') res.gsub!(/\n +} *\n/m, "\n") res.gsub(/ *{$/, '') end } s.gsub!(/ *$/, '') File.open(file, 'wb').write(s) if s != orig } Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc Reviewed-by:
hjk <qthjk@ovi.com>
-
- 04 Jan, 2013 1 commit
-
-
Erik Verbruggen authored
To be used in the ClangCodeModel, because there is no other way to find out if the ProjectParts got changed. Change-Id: Ie5681b4997adb9103499cf2864c81970cbd2be55 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 20 Dec, 2012 1 commit
-
-
hjk authored
Instead of checking each file's full path individually we store the cleaned version of the directory. Change-Id: Icaa41a38d6608ba364fcb0e01cc9eb1db99470ac Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by:
hjk <qthjk@ovi.com>
-
- 04 Dec, 2012 1 commit
-
-
Erik Verbruggen authored
Change-Id: Ibe4cc69eafd14dab7707862b1068ce1e21b1d8e0 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 03 Dec, 2012 1 commit
-
-
Erik Verbruggen authored
Change-Id: I2503ef372af3d58b32cf7ef9ddf76050a376a783 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 28 Nov, 2012 1 commit
-
-
Erik Verbruggen authored
Change-Id: Ib862e51897156a03a4a45e2a1690b00caeb03518 Reviewed-by:
Daniel Teske <daniel.teske@digia.com>
-
- 26 Nov, 2012 1 commit
-
-
Erik Verbruggen authored
The indexing support for the built-in code model is moved to its own file. Symbol searching will now call for a searcher through that support interface, which will create a fully configured and ready-to-go searcher that can be started in the/a future. Change-Id: Idc3ee1c7c789a69fa05ee1d42415313dcea94cf8 Reviewed-by:
Nikolai Kosjar <nikolai.kosjar@digia.com>
-
- 22 Nov, 2012 1 commit
-
-
Orgad Shaneh authored
Change-Id: I31a6117c2b4be3f8603c16a9f98b6937a0b9aeb2 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@digia.com>
-
- 06 Nov, 2012 1 commit
-
-
Erik Verbruggen authored
This method is called when the QTCREATOR_DUMP_PROJECT_INFO environment variable is defined. Change-Id: Id314994a2eed79cf688f5ef82f597524dba7a5cd Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@digia.com>
-
- 23 Oct, 2012 1 commit
-
-
Erik Verbruggen authored
Change-Id: Iff35840d73882a212dd77b54e4223c0b4111ac1c Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- 16 Oct, 2012 1 commit
-
-
Erik Verbruggen authored
Also removed two TODOs. Change-Id: I91b235795da7e87a21782d189844eacdd68c5f3c Reviewed-by:
Eike Ziller <eike.ziller@digia.com>
-
- 15 Oct, 2012 1 commit
-
-
Erik Verbruggen authored
Record revisions of documents in macro definitions and usages. Then, when searching for usages, check the revision of the documents against the revision of the macros. If they are out-of-sync, repreprocess the documents to get up-to-date info. Task-number: QTCREATORBUG-7872 Change-Id: I846bb52ec660024728ab117a9fb7e43382a50e63 Reviewed-by:
Christian Stenger <christian.stenger@digia.com>
-
- 08 Oct, 2012 1 commit
-
-
Andre Hartmann authored
The old implementation readed the file and converted the QString toUtf8, which seems wrong. Now use Creators default encoding. This fixes at least wrong macro offsets that leaded to highlighting errors in Find Usages, if there were non-ASCII characters before the macro definition. This should also partially solve QTCREATORBUG-7122. Change-Id: Ic4a5add5f4769bd3d5b62fc2d67598e7abf352d9 Reviewed-by:
Erik Verbruggen <erik.verbruggen@digia.com>
-
- 05 Oct, 2012 1 commit
-
-
hjk authored
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by:
Eike Ziller <eike.ziller@digia.com>
-
- 07 Sep, 2012 1 commit
-
-
Christian Kandeler authored
Does not build, is not being maintained, purpose is unclear. Change-Id: I00f3bbc9580b57e3945882a411af502a78f4864f Reviewed-by:
Eike Ziller <eike.ziller@nokia.com>
-
- 27 Aug, 2012 1 commit
-
-
Christian Kandeler authored
The class' member functions are intended to be used instead of the Q_OS_* macros in all contexts where the latter are not syntactically required. This lowers the likelihood of changes made on one platform breaking the build on another, e.g. due to the code model missing symbols in #ifdef'ed out code when refactoring. Change-Id: I4a54788591b4c8f8d589b8368a6c683d4155c9fa Reviewed-by:
hjk <qthjk@ovi.com>
-
- 19 Jul, 2012 1 commit
-
-
Eike Ziller authored
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-
- 25 Jun, 2012 1 commit
-
-
Leandro Melo authored
Summary of most relevant items: - Preprocessor output format change. No more gen true/false. Instead a more intuitive and natural expansion (like from a real compiler) is performed directly corresponding to the macro invocation. Notice that information about the generated tokens is not lost, because it's now embedded in the expansion section header (in terms of lines and columns as explained in the code). In addition the location on where the macro expansion happens is also documented for future use. - Fix line control directives and associated token line numbers. This was not detected in tests cases because some of them were actually wrong: Within expansions the line information was being considered as originally computed in the macro definition, while the desired and expected for Creator's reporting mechanism (just like regular compilers) is the line from the expanded version of the tokens. - Do not allow for eager expansion. This was previously being done inside define directives. However, it's not allowed and might lead to incorrect results, since the argument substitution should only happen upon the macro invocation (and following nested ones). At least GCC and clang are consistent with that. See test case tst_Preprocessor:dont_eagerly_expand for a detailed explanation. - Revive the 'expanded' token flag. This is used to mark every token that originates from a macro expansion. Notice, however, that expanded tokens are not necessarily generated tokens (although every generated token is a expanded token). Expanded tokens that are not generated are those which are still considered by our code model features, since they are visible on the editor. The translation unit is smart enough to calculate line/column position for such tokens based on the information from the expansion section header. - How expansions are tracked has also changed. Now, we simply add two surrounding marker tokens to each "top-level" expansion sequence. There is an enumeration that control expansion states. Also, no "previous" token is kept around. - Preprocessor client methods suffered a change in signature so they now receive the line number of the action in question as a paramater. Previously such line could be retrieved by the client implementation by accessing the environment line. However, this is not reliable because we try to avoid synchronization of the output/environment lines in order to avoid unnecessary output, while expanding macros or handling preprocessor directives. - Although macros are not expanded during define directives (as mentioned above) the preprocessor client is now "notified" when it sees a macro. This is to allow usage tracking. - Other small stuff. This is all in one patch because the fixes are a consequence of the change in preprocessing control. Change-Id: I8f4c6e6366f37756ec65d0a93b79f72a3ac4ed50 Reviewed-by:
Roberto Raggi <roberto.raggi@nokia.com>
-