Files
swift-mirror/test/Incremental/multi-file/Inputs/Base.swift
2020-03-02 16:45:37 -08:00

40 lines
2.1 KiB
Swift

open class OpenBase {} // expected-provides {{OpenBase}}
// expected-cascading-member {{main.OpenBase.init}}
// expected-cascading-member {{main.OpenBase.deinit}}
public class PublicBase {} // expected-provides {{PublicBase}}
// expected-cascading-member {{main.PublicBase.init}}
// expected-cascading-member {{main.PublicBase.deinit}}
internal class InternalBase {} // expected-provides {{InternalBase}}
// expected-cascading-member {{main.InternalBase.init}}
// expected-cascading-member {{main.InternalBase.deinit}}
fileprivate class FilePrivateBase {} // expected-provides {{FilePrivateBase}}
// expected-cascading-member {{main.FilePrivateBase.init}}
// expected-private-member {{main.FilePrivateBase.deinit}}
private class PrivateBase {} // expected-provides {{PrivateBase}}
// expected-cascading-member {{main.PrivateBase.init}}
// expected-private-member {{main.PrivateBase.deinit}}
final fileprivate class FilePrivateSubclass: FilePrivateBase {} // expected-provides {{FilePrivateSubclass}} expected-private-superclass {{main.FilePrivateBase}}
// expected-cascading-member {{main.FilePrivateSubclass.init}}
// expected-private-member {{main.FilePrivateSubclass.deinit}}
final private class PrivateSubclass: PrivateBase {} // expected-provides {{PrivateSubclass}} expected-private-superclass {{main.PrivateBase}}
// expected-cascading-member {{main.PrivateSubclass.init}}
// expected-private-member {{main.PrivateSubclass.deinit}}
public protocol PublicBaseProtocol {} // expected-provides {{PublicBaseProtocol}}
internal protocol InternalBaseProtocol {} // expected-provides {{InternalBaseProtocol}}
fileprivate protocol FilePrivateBaseProtocol {} // expected-provides {{FilePrivateBaseProtocol}}
private protocol PrivateBaseProtocol {} // expected-provides {{PrivateBaseProtocol}}
fileprivate protocol FilePrivateProtocol: FilePrivateBaseProtocol {} // expected-provides {{FilePrivateProtocol}} expected-private-conformance {{main.FilePrivateBaseProtocol}}
private protocol PrivateProtocol: PrivateBaseProtocol {} // expected-provides {{PrivateProtocol}} expected-private-conformance {{main.PrivateBaseProtocol}}