Cleanup FQName usage.

Bug: 32559427
Test: hidl_test
Change-Id: Ie5e234c102f8ad76ab24db9bce1630e2227562f6
diff --git a/AST.cpp b/AST.cpp
index 309e06f..dcf7495 100644
--- a/AST.cpp
+++ b/AST.cpp
@@ -447,13 +447,11 @@
         // dependencies.  If not, then it must have been defined in types.hal.
         //
         // In the case of just specifying Folder, the resolved type is
-        // android.hardware.tests.foo@1.0::IFoo.Folder, and the same logic as
+        // android.hardware.tests.foo@1.0::Folder, and the same logic as
         // above applies.
 
         if (!resolvedType->isInterface()) {
-            FQName ifc(resolvedName.package(),
-                       resolvedName.version(),
-                       resolvedName.names().at(0));
+            FQName ifc = resolvedName.getTopLevelType();
             for (const auto &importedAST : mImportedASTs) {
                 FQName matchingName;
                 Type *match = importedAST->findDefinedType(ifc, &matchingName);
@@ -465,8 +463,7 @@
 
         if (!resolvedType->isInterface()) {
             // Non-interface types are declared in the associated types header.
-            FQName typesName(
-                    resolvedName.package(), resolvedName.version(), "types");
+            FQName typesName = resolvedName.getTypesForPackage();
 
             mImportedNames.insert(typesName);
         } else {
@@ -500,7 +497,7 @@
 
 void AST::getImportedPackages(std::set<FQName> *importSet) const {
     for (const auto &fqName : mImportedNames) {
-        FQName packageName(fqName.package(), fqName.version(), "");
+        FQName packageName = fqName.getPackageAndVersion();
 
         if (packageName == mPackage) {
             // We only care about external imports, not our own package.