diff options
| author | 2017-09-17 13:44:24 -0700 | |
|---|---|---|
| committer | 2017-09-18 10:57:06 -0700 | |
| commit | fc8b422c286501346b5b797420fb616aaa5e952a (patch) | |
| tree | 61c857a895cdad9ce387a899f92824701259df32 /runtime/class_reference.h | |
| parent | 7090dfe84f78b1928fcbdfd664d0dd9ea52633ff (diff) | |
Clean up AtomicDexRefMap
Make ClassReference, TypeReference, and MethodReference extend
DexFileReference. This enables using all of these types as the key
for AtomicDexRefMap.
Test: test-art-host
Bug: 63851220
Bug: 63756964
Change-Id: Ida3c94cadb53272cb5057e5cebc5971c1ab4d366
Diffstat (limited to 'runtime/class_reference.h')
| -rw-r--r-- | runtime/class_reference.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/runtime/class_reference.h b/runtime/class_reference.h index 7b206126d6..2ef9ab8959 100644 --- a/runtime/class_reference.h +++ b/runtime/class_reference.h @@ -20,22 +20,22 @@ #include <stdint.h> #include <utility> +#include "dex_file_reference.h" + namespace art { class DexFile; // A class is uniquely located by its DexFile and the class_defs_ table index into that DexFile -typedef std::pair<const DexFile*, uint32_t> ClassReference; - -inline bool operator<(const ClassReference& lhs, const ClassReference& rhs) { - if (lhs.second < rhs.second) { - return true; - } else if (lhs.second > rhs.second) { - return false; - } else { - return (lhs.first < rhs.first); +class ClassReference : public DexFileReference { + public: + ClassReference(const DexFile* file, uint32_t class_def_idx) + : DexFileReference(file, class_def_idx) {} + + uint32_t ClassDefIdx() const { + return index; } -} +}; } // namespace art |