Clang: Process distinct documents concurrently

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>
This commit is contained in:
Nikolai Kosjar
2016-05-31 16:07:09 +02:00
parent 90f94363db
commit 38f72855b6
51 changed files with 3736 additions and 1061 deletions

View File

@@ -36,9 +36,19 @@ HEADERS += $$PWD/clangcodemodelserver.h \
$$PWD/highlightingmarks.h \
$$PWD/highlightingmarksiterator.h \
$$PWD/utf8positionfromlinecolumn.h \
$$PWD/clangasyncjob.h \
$$PWD/clangcompletecodejob.h \
$$PWD/clangcreateinitialdocumentpreamblejob.h \
$$PWD/clangfilepath.h \
$$PWD/clangiasyncjob.h \
$$PWD/clangjobcontext.h \
$$PWD/clangjobqueue.h \
$$PWD/clangjobrequest.h \
$$PWD/clangjobs.h \
$$PWD/clangrequestdocumentannotationsjob.h \
$$PWD/clangtranslationunitcore.h \
$$PWD/clangunsavedfilesshallowarguments.h \
$$PWD/clangtranslationunitcore.h
$$PWD/clangupdatedocumentannotationsjob.h
SOURCES += $$PWD/clangcodemodelserver.cpp \
$$PWD/codecompleter.cpp \
@@ -74,6 +84,16 @@ SOURCES += $$PWD/clangcodemodelserver.cpp \
$$PWD/highlightingmark.cpp \
$$PWD/highlightingmarks.cpp \
$$PWD/utf8positionfromlinecolumn.cpp \
$$PWD/clangcompletecodejob.cpp \
$$PWD/clangcreateinitialdocumentpreamblejob.cpp \
$$PWD/clangfilepath.cpp \
$$PWD/clangiasyncjob.cpp \
$$PWD/clangjobcontext.cpp \
$$PWD/clangjobqueue.cpp \
$$PWD/clangjobrequest.cpp \
$$PWD/clangjobs.cpp \
$$PWD/clangrequestdocumentannotationsjob.cpp \
$$PWD/clangtranslationunitcore.cpp \
$$PWD/clangunsavedfilesshallowarguments.cpp \
$$PWD/clangtranslationunitcore.cpp
$$PWD/clangupdatedocumentannotationsjob.cpp \