EnumType does not own BitFieldType.

Test: hidl_test
Change-Id: If28ec0703c2bfe1426ab225cfe64fbe6c4dbbf7c
Fixes: 64272670
diff --git a/EnumType.h b/EnumType.h
index 3293209..0f88788 100644
--- a/EnumType.h
+++ b/EnumType.h
@@ -57,6 +57,10 @@
 
     std::string getVtsType() const override;
 
+    std::string getBitfieldCppType(StorageMode mode, bool specifyNamespaces = true) const;
+    std::string getBitfieldJavaType(bool forInitializer = false) const;
+    std::string getBitfieldJavaWrapperType() const;
+
     // Return the type that corresponds to bitfield<T>.
     const BitFieldType* getBitfieldType() const;
 
@@ -125,9 +129,6 @@
 
     std::vector<EnumValue *> mValues;
     Reference<Type> mStorageType;
-    // TODO(b/64272670): Dot not store BitFieldType as it is not owned.
-    // It is kept here to avoid const-cast (BitFieldType owns non-const EnumType).
-    BitFieldType* const mBitfieldType;
 
     DISALLOW_COPY_AND_ASSIGN(EnumType);
 };
@@ -162,6 +163,8 @@
 
     std::string templatedTypeName() const override;
 
+    const EnumType* getElementEnumType() const;
+
     bool isBitField() const override;
 
     bool isCompatibleElementType(const Type* elementType) const override;