summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-08-19 16:05:29 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2013-10-01 10:33:51 +0200
commitba2d7a4fa7c29ea2d62da3d6f6835a091f604656 (patch)
tree240f8484a13829478d3b7c586eec0598c45d0872 /src/plugins/cpptools/cppmodelmanager.h
parent447c4ed37f8904ca733d6e6253ad19bb0388f209 (diff)
downloadqt-creator-ba2d7a4fa7c29ea2d62da3d6f6835a091f604656.tar.gz
C++: Only parse with appropriate defines for open editors.
If two files from different (sub-)projects include the same header file, and the defined macros differ for both files, the header file will be parsed with only the appropriate macros for the including file. Task-number: QTCREATORBUG-9802 Task-number: QTCREATORBUG-1249 Change-Id: I560490afa287b3bb1e863bce1bb4f57af36ad56e Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.h')
-rw-r--r--src/plugins/cpptools/cppmodelmanager.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h
index 2ec1423e3a..e86875a63f 100644
--- a/src/plugins/cpptools/cppmodelmanager.h
+++ b/src/plugins/cpptools/cppmodelmanager.h
@@ -69,11 +69,19 @@ public:
virtual QFuture<void> updateSourceFiles(const QStringList &sourceFiles,
ProgressNotificationMode mode = ReservedProgressNotification);
virtual WorkingCopy workingCopy() const;
+ virtual QByteArray codeModelConfiguration() const;
virtual QList<ProjectInfo> projectInfos() const;
virtual ProjectInfo projectInfo(ProjectExplorer::Project *project) const;
virtual QFuture<void> updateProjectInfo(const ProjectInfo &newProjectInfo);
- virtual QList<CppTools::ProjectPart::Ptr> projectPart(const QString &fileName) const;
+
+ /// \return All project parts that mention the given file name as one of the sources/headers.
+ virtual QList<ProjectPart::Ptr> projectPart(const QString &fileName) const;
+ /// This is a fall-back function: find all files that includes the file directly or indirectly,
+ /// and return its \c ProjectPart list for use with this file.
+ virtual QList<ProjectPart::Ptr> projectPartFromDependencies(const QString &fileName) const;
+ /// \return A synthetic \c ProjectPart which consists of all defines/includes/frameworks from
+ /// all loaded projects.
virtual ProjectPart::Ptr fallbackProjectPart() const;
virtual CPlusPlus::Snapshot snapshot() const;