Commit Graph

69 Commits

Author SHA1 Message Date
Jordan Rose ff7d03fbd1 [ParseableInterfaces] Handle unsatisfiable conditional conformances (#20433)
...by printing them with a dummy, unsatisfiable condition. This
happens when a public type conforms to a public protocol with
non-public conditions; the conformance can't be used in inlinable
code, but neither is it okay for a client to declare their own
conformance (constrained or unconstrained).

rdar://problem/45657450
2018-11-09 08:28:49 -08:00
Jordan Rose 4d041a360a [ParseableInterface] Print protocols inherited through private protos (#20169)
In this code:

    private protocol MyProto: Hashable {}
    public struct MyStruct: MyProto {}

Being Hashable is part of MyStruct's public API, even though it's not
written explicitly. If we're not going to require people to write it
explicitly, we need to make sure it gets printed.

rdar://problem/44662501
2018-11-08 10:33:42 -08:00
Graydon Hoare 0a3bd3eae9 [ModuleInterface] Address more review comments. 2018-11-01 21:17:09 -07:00
Graydon Hoare fc4510e2b8 [ModuleInterface] Make up-to-date check recursive, since it runs first. 2018-11-01 10:51:44 -07:00
Graydon Hoare 9b258192de [ModuleInterface] Add more debug logging. 2018-11-01 10:51:44 -07:00
Graydon Hoare 6cb7b46f39 [ModuleInterface] Set EnableParseableModuleInterface in sub-instance. 2018-11-01 10:51:44 -07:00
Graydon Hoare 8d6f6e2d2f [ModuleInterface] Pass clang module cache path to sub-instance. 2018-11-01 10:51:44 -07:00
Graydon Hoare 11f3c9470d [ModuleInterface] Add PrintingDiagnosticConsumer to sub-instance. 2018-11-01 10:51:44 -07:00
Graydon Hoare 1a4ba3851b [ModuleInterface] Factor out clang module cache path extraction function. 2018-11-01 10:51:44 -07:00
Graydon Hoare fd226ae761 [ModuleInterface] Address review comments. 2018-11-01 10:51:44 -07:00
Graydon Hoare 4938b002b4 [ModuleInterface] Remove SwiftParseableInterfaceDeps files, use INPUT_BLOCK. 2018-11-01 10:51:16 -07:00
Graydon Hoare b4a96bb182 [ModuleInterface] Write, read-back and test deps stored in .sid files. 2018-10-19 12:12:53 -07:00
Graydon Hoare 1f85e80f3f [ModuleInterface] Tighten up cache key for generated .swiftmodule. 2018-10-18 00:31:23 -07:00
Graydon Hoare 63e1e166db [ModuleInterface] Specify module as supplementary rather than main output. 2018-10-11 23:56:21 -07:00
Graydon Hoare 2be23089a6 [ModuleInterface] Actually generate SIL for the module. 2018-10-11 23:56:20 -07:00
Graydon Hoare 4f315363f8 [ModuleInterface] Change TY_SwiftModuleInterfaceFile to TY_SwiftParseableInterfaceFile 2018-10-11 23:56:19 -07:00
Graydon Hoare 5e202697a3 [ModuleInterface] Mop up remaining "textual interface" terminology. 2018-10-11 23:56:19 -07:00
Graydon Hoare 6ea9accbed [ModuleInterface] Add TextualInterfaceModuleLoader sketch. 2018-10-11 23:56:18 -07:00
Graydon Hoare 45e6b25da4 [ModuleInterface] Rename TextualInterfaceGeneration.{cpp,h} to TextualInterfaceSupport.{cpp,h} 2018-10-11 16:43:51 -07:00