forked from qt-creator/qt-creator
Clang: implement followSymbol in TranslationUnit
Follow symbol in current TU or dependent files Current algorithm tries to do the same as built-in follow symbol but better. Currently clang-based follow symbol has some limitations: - following function usage may return the declaration instead of definition because we don't have header dependencies in backend - overrides are not searched because of the same reason and the amount of dependent files (parsing 250 files takes a while) - some includes are not handled correctly, in that case we return failure and ask built-in code model to follow (example: <QtGui> or other qt includes) Change-Id: If35028ee0b5e818fdba29363c9520c5cca996348 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -16,6 +16,8 @@ HEADERS += \
|
||||
$$PWD/clangexceptions.h \
|
||||
$$PWD/clangfilepath.h \
|
||||
$$PWD/clangfilesystemwatcher.h \
|
||||
$$PWD/clangfollowsymboljob.h \
|
||||
$$PWD/clangfollowsymbol.h \
|
||||
$$PWD/clangiasyncjob.h \
|
||||
$$PWD/clangjobcontext.h \
|
||||
$$PWD/clangjobqueue.h \
|
||||
@@ -55,8 +57,7 @@ HEADERS += \
|
||||
$$PWD/sourcerange.h \
|
||||
$$PWD/unsavedfile.h \
|
||||
$$PWD/unsavedfiles.h \
|
||||
$$PWD/utf8positionfromlinecolumn.h \
|
||||
$$PWD/clangfollowsymboljob.h
|
||||
$$PWD/utf8positionfromlinecolumn.h
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/clangcodecompleteresults.cpp \
|
||||
@@ -71,6 +72,8 @@ SOURCES += \
|
||||
$$PWD/clangexceptions.cpp \
|
||||
$$PWD/clangfilepath.cpp \
|
||||
$$PWD/clangfilesystemwatcher.cpp \
|
||||
$$PWD/clangfollowsymboljob.cpp \
|
||||
$$PWD/clangfollowsymbol.cpp \
|
||||
$$PWD/clangiasyncjob.cpp \
|
||||
$$PWD/clangjobcontext.cpp \
|
||||
$$PWD/clangjobqueue.cpp \
|
||||
@@ -107,5 +110,4 @@ SOURCES += \
|
||||
$$PWD/sourcerange.cpp \
|
||||
$$PWD/unsavedfile.cpp \
|
||||
$$PWD/unsavedfiles.cpp \
|
||||
$$PWD/utf8positionfromlinecolumn.cpp \
|
||||
$$PWD/clangfollowsymboljob.cpp
|
||||
$$PWD/utf8positionfromlinecolumn.cpp
|
||||
|
||||
Reference in New Issue
Block a user