mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
No dummy constraint in the public swiftinterface for SPI extensions
rdar://problem/63352700
This commit is contained in:
@@ -345,12 +345,18 @@ public:
|
||||
/// in \p map.
|
||||
///
|
||||
/// \sa recordConditionalConformances
|
||||
static void collectSkippedConditionalConformances(PerTypeMap &map,
|
||||
const Decl *D) {
|
||||
static void collectSkippedConditionalConformances(
|
||||
PerTypeMap &map,
|
||||
const Decl *D,
|
||||
const PrintOptions &printOptions) {
|
||||
auto *extension = dyn_cast<ExtensionDecl>(D);
|
||||
if (!extension || !extension->isConstrainedExtension())
|
||||
return;
|
||||
|
||||
// Skip SPI extensions in the public interface.
|
||||
if (!printOptions.PrintSPIs && extension->isSPI())
|
||||
return;
|
||||
|
||||
const NominalTypeDecl *nominal = extension->getExtendedNominal();
|
||||
if (!isPublicOrUsableFromInline(nominal))
|
||||
return;
|
||||
@@ -497,8 +503,9 @@ bool swift::emitSwiftInterface(raw_ostream &out,
|
||||
|
||||
if (!D->shouldPrintInContext(printOptions) ||
|
||||
!printOptions.shouldPrint(D)) {
|
||||
|
||||
InheritedProtocolCollector::collectSkippedConditionalConformances(
|
||||
inheritedProtocolMap, D);
|
||||
inheritedProtocolMap, D, printOptions);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user