Use AidlTypenames::MakeResolvedType() for inline types
On-the-fly creation of AidlTypeSpecifier is tedious because it needs to
be resolved. AidlTypenames::MakeResolvedType() does this for you.
Bug: 201584220
Test: m
Change-Id: I20ec718e10977e7c845345a7ef4449f150308700
diff --git a/aidl_language.cpp b/aidl_language.cpp
index 5d74338..03b9905 100644
--- a/aidl_language.cpp
+++ b/aidl_language.cpp
@@ -1415,12 +1415,10 @@
return false;
}
auto type = annot->ParamValue<std::string>("type").value();
- backing_type_ =
- std::make_unique<AidlTypeSpecifier>(annot->GetLocation(), type, false, nullptr, Comments{});
+ backing_type_ = typenames.MakeResolvedType(annot->GetLocation(), type, false);
} else {
// Default to byte type for enums.
- backing_type_ =
- std::make_unique<AidlTypeSpecifier>(AIDL_LOCATION_HERE, "byte", false, nullptr, Comments{});
+ backing_type_ = typenames.MakeResolvedType(GetLocation(), "byte", false);
}
// we only support/test a few backing types, so make sure this is a supported
@@ -1433,10 +1431,6 @@
return false;
}
- // Autofill() is called before type resolution, we resolve the backing type manually.
- AIDL_FATAL_IF(!backing_type_->Resolve(typenames, nullptr),
- "supporting backing types must resolve");
-
return true;
}