Clang: Clean up TranslationUnits

* Use shared pointer to simplify ownership, also for a follow-up change.
* Remove pointless else-if
* Rename some variables

Change-Id: I6a9c5760c3812e071e9199228502c87b6944926a
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Nikolai Kosjar
2017-05-03 12:42:55 +02:00
parent d4ac34449b
commit b091b20685
2 changed files with 46 additions and 46 deletions

View File

@@ -33,6 +33,7 @@
#include <clang-c/Index.h>
#include <QList>
#include <QSharedPointer>
namespace ClangBackEnd {
@@ -43,9 +44,8 @@ class TranslationUnits
public:
class TranslationUnitData {
public:
TranslationUnitData(const Utf8String &id)
: id(id)
{}
TranslationUnitData(const Utf8String &id);
~TranslationUnitData();
Utf8String id;
@@ -54,10 +54,10 @@ public:
TimePoint parseTimePoint;
};
using TranslationUnitDataPtr = QSharedPointer<TranslationUnitData>;
public:
TranslationUnits(const Utf8String &filePath);
~TranslationUnits();
TranslationUnit createAndAppend();
TranslationUnit get(PreferredTranslationUnit type = PreferredTranslationUnit::RecentlyParsed);
@@ -72,11 +72,11 @@ public: // for tests
private:
TranslationUnit getPreferredTranslationUnit(PreferredTranslationUnit type);
TranslationUnitData &findUnit(const Utf8String &translationUnitId);
TranslationUnit toTranslationUnit(TranslationUnitData &unit);
TranslationUnit toTranslationUnit(const TranslationUnitDataPtr &unit);
private:
Utf8String m_filePath;
QList<TranslationUnitData> m_tuDatas;
QList<TranslationUnitDataPtr> m_units;
};
} // namespace ClangBackEnd