Re-land parsing and printing for Clang function types.

This reverts commit e805fe486e, which reverted
the change earlier. The problem was caused due to a simultaneous change to some
code by the PR with parsing and printing for Clang function types (#28737)
and the PR which introduced Located<T> (#28643).

This commit also includes a small change to make sure the intersecting region
is fixed: the change is limited to using the fields of Located<T> in the
`tryParseClangType` lambda.
This commit is contained in:
Varun Gandhi
2020-01-07 12:04:44 -08:00
parent 6e7521ac57
commit afc6ccdeb5
22 changed files with 274 additions and 22 deletions

View File

@@ -440,7 +440,7 @@ bool swift::emitSwiftInterface(raw_ostream &out,
printImports(out, M);
const PrintOptions printOptions = PrintOptions::printSwiftInterfaceFile(
Opts.PreserveTypesAsWritten);
Opts.PreserveTypesAsWritten, Opts.PrintFullConvention);
InheritedProtocolCollector::PerTypeMap inheritedProtocolMap;
SmallVector<Decl *, 16> topLevelDecls;