Cleanup way elidable types are determined.

After adding the pointer type, it didn't make sense for elidable types
to be specified in canElideCallback. Now the decision as to whether a
specific type is elidable has been moved into 'isElidableType' on the
Type class.

Bug: 33298401
Test: mma in hardware/interfaces
Change-Id: I66cbaed4c533013a52e59fc8e7edcdabc9ab9f20
diff --git a/Method.cpp b/Method.cpp
index 502591c..284339e 100644
--- a/Method.cpp
+++ b/Method.cpp
@@ -202,21 +202,14 @@
 }
 
 const TypedVar* Method::canElideCallback() const {
-    auto &res = results();
-
     // Can't elide callback for void or tuple-returning methods
-    if (res.size() != 1) {
+    if (mResults->size() != 1) {
         return nullptr;
     }
 
-    const TypedVar *typedVar = res.at(0);
+    const TypedVar *typedVar = mResults->at(0);
 
-    // We only elide callbacks for methods returning a single scalar.
-    if (typedVar->type().resolveToScalarType() != nullptr) {
-        return typedVar;
-    }
-
-    if (typedVar->type().isPointer()) {
+    if (typedVar->type().isElidableType()) {
         return typedVar;
     }