Merge pull request #37879 from varungandhi-apple/vg-fix-interface-bug

[ModuleInterface] Print full type if ambiguous for extensions.
This commit is contained in:
Varun Gandhi
2021-06-15 21:10:42 -07:00
committed by GitHub
15 changed files with 134 additions and 93 deletions

View File

@@ -590,10 +590,16 @@ public:
DeclAttributes::print(printer, printOptions, attrs);
printer << "extension ";
PrintOptions typePrintOptions = printOptions;
typePrintOptions.FullyQualifiedTypes = false;
typePrintOptions.FullyQualifiedTypesIfAmbiguous = false;
nominal->getDeclaredType().print(printer, typePrintOptions);
{
PrintOptions typePrintOptions = printOptions;
bool oldFullyQualifiedTypesIfAmbiguous =
typePrintOptions.FullyQualifiedTypesIfAmbiguous;
typePrintOptions.FullyQualifiedTypesIfAmbiguous =
typePrintOptions.FullyQualifiedExtendedTypesIfAmbiguous;
nominal->getDeclaredType().print(printer, typePrintOptions);
typePrintOptions.FullyQualifiedTypesIfAmbiguous =
oldFullyQualifiedTypesIfAmbiguous;
}
printer << " : ";
proto->getDeclaredInterfaceType()->print(printer, printOptions);