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;
}