aboutsummaryrefslogtreecommitdiffstats
path: root/Reference.h
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-08-16 00:18:40 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-08-16 00:18:40 +0000
commit58d4b79e36dbdf70411621235793ea7ae579e174 (patch)
tree0fc92774ffd3cb7bcd32ff473b70f0a87d8a6102 /Reference.h
parent8c90cc59bf93bd0c08970b4488067a33015d4a1c (diff)
parent774ae7feaf990517ca48f2114b0dfb90273f36f4 (diff)
downloadandroid_system_tools_hidl-58d4b79e36dbdf70411621235793ea7ae579e174.tar.gz
android_system_tools_hidl-58d4b79e36dbdf70411621235793ea7ae579e174.tar.bz2
android_system_tools_hidl-58d4b79e36dbdf70411621235793ea7ae579e174.zip
Merge "Make NamedReference be child class for Reference"
Diffstat (limited to 'Reference.h')
-rw-r--r--Reference.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/Reference.h b/Reference.h
index 1728a91..8a73609 100644
--- a/Reference.h
+++ b/Reference.h
@@ -31,6 +31,7 @@ namespace android {
template <class T>
struct Reference {
Reference() = default;
+ virtual ~Reference() {}
Reference(const FQName& fqName, const Location& location)
: mResolved(nullptr), mFqName(fqName), mLocation(location) {}
@@ -97,19 +98,17 @@ struct Reference {
};
template <class T>
-struct NamedReference {
+struct NamedReference : public Reference<T> {
NamedReference(const std::string& name, const Reference<T>& reference)
- : mName(name), mReference(reference) {}
+ : Reference<T>(reference), mName(name) {}
const std::string& name() const { return mName; }
- const T& type() const { return *mReference.get(); }
- const T* operator->() const { return mReference.get(); }
+
+ // TODO(b/64715470) Legacy
+ const T& type() const { return *Reference<T>::get(); }
private:
const std::string mName;
- const Reference<T> mReference;
-
- DISALLOW_COPY_AND_ASSIGN(NamedReference<T>);
};
} // namespace android