Remove Reference::operator*

Reference::operator* is unclear, replaced with get() call.

Test: mma
Change-Id: I8b2f0e56964a2a45ac2d7f460aec5633765c77eb
diff --git a/ArrayType.cpp b/ArrayType.cpp
index 977a0aa..1e2693d 100644
--- a/ArrayType.cpp
+++ b/ArrayType.cpp
@@ -56,7 +56,7 @@
 }
 
 Type* ArrayType::getElementType() const {
-    return mElementType;
+    return mElementType.get();
 }
 
 std::string ArrayType::typeName() const {
diff --git a/EnumType.cpp b/EnumType.cpp
index e4fc37c..7363712 100644
--- a/EnumType.cpp
+++ b/EnumType.cpp
@@ -35,7 +35,7 @@
 }
 
 const Type *EnumType::storageType() const {
-    return mStorageType;
+    return mStorageType.get();
 }
 
 const std::vector<EnumValue *> &EnumType::values() const {
@@ -170,7 +170,7 @@
 }
 
 BitFieldType* EnumType::getBitfieldType() const {
-    return mBitfieldType;
+    return mBitfieldType.get();
 }
 
 LocalIdentifier *EnumType::lookupIdentifier(const std::string &name) const {
@@ -798,7 +798,7 @@
 }
 
 std::string BitFieldType::typeName() const {
-    return "mask" + (mElementType == nullptr ? "" : (" of " + mElementType->typeName()));
+    return "mask of " + mElementType->typeName();
 }
 
 bool BitFieldType::isCompatibleElementType(Type* elementType) const {
diff --git a/RefType.cpp b/RefType.cpp
index 0a5b3fa..3783438 100644
--- a/RefType.cpp
+++ b/RefType.cpp
@@ -28,7 +28,7 @@
 }
 
 std::string RefType::typeName() const {
-    return "ref" + (mElementType == nullptr ? "" : (" of " + mElementType->typeName()));
+    return "ref of " + mElementType->typeName();
 }
 
 std::vector<const Reference<Type>*> RefType::getStrongReferences() const {
diff --git a/Reference.h b/Reference.h
index 8bc952a..ed60960 100644
--- a/Reference.h
+++ b/Reference.h
@@ -48,8 +48,6 @@
        Referred type's field might be not resolved */
     bool isResolved() const { return mResolved != nullptr; }
 
-    operator T*() const { return get(); }
-
     T* operator->() const { return get(); }
 
     T* get() const {
diff --git a/Type.cpp b/Type.cpp
index b7436eb..1fb19bc 100644
--- a/Type.cpp
+++ b/Type.cpp
@@ -636,7 +636,7 @@
 }
 
 Type* TemplatedType::getElementType() const {
-    return mElementType;
+    return mElementType.get();
 }
 
 bool TemplatedType::isTemplatedType() const {
@@ -648,7 +648,7 @@
 }
 
 status_t TemplatedType::validate() const {
-    if (!isCompatibleElementType(mElementType)) {
+    if (!isCompatibleElementType(mElementType.get())) {
         std::cerr << "ERROR: " << typeName() /* contains element type */
                   << " is not supported at " << mElementType.location() << "\n";
         return UNKNOWN_ERROR;
diff --git a/TypeDef.cpp b/TypeDef.cpp
index f470711..8ecfe54 100644
--- a/TypeDef.cpp
+++ b/TypeDef.cpp
@@ -31,7 +31,7 @@
 }
 
 Type* TypeDef::referencedType() const {
-    return mReferencedType;
+    return mReferencedType.get();
 }
 
 bool TypeDef::isInterface() const {
diff --git a/VectorType.cpp b/VectorType.cpp
index 55ea9bb..071e406 100644
--- a/VectorType.cpp
+++ b/VectorType.cpp
@@ -29,7 +29,7 @@
 }
 
 std::string VectorType::typeName() const {
-    return "vector" + (mElementType == nullptr ? "" : (" of " + mElementType->typeName()));
+    return "vector of " + mElementType->typeName();
 }
 
 bool VectorType::isCompatibleElementType(Type *elementType) const {
@@ -568,7 +568,7 @@
     VectorType::EmitJavaFieldReaderWriterForElementType(
             out,
             depth,
-            mElementType,
+            mElementType.get(),
             parcelName,
             blobName,
             fieldName,