Files
swift-mirror/test/SourceKit/DocSupport/Inputs/cake.swift
Nathan Hawes af0509e106 [SourceKit/DocSupport] List generic requirements from contextual where clauses in doc info request
We previously didn't report the requirements in the where clause of 'boxes'
below because it didn't have generic parameters of its own:

public struct Box<Wrapped> {
    public func boxes() -> [Box<Wrapped.Element>] where Wrapped: Sequence { fatalError() }
}

Resolves rdar://problem/60658263
2020-04-06 11:43:14 -07:00

122 lines
2.0 KiB
Swift

public protocol Prot {
associatedtype Element
var p : Int { get }
func foo()
func foo1()
}
public class C1 : Prot {
public typealias Element = Int
public var p : Int = 0
public func foo() {}
public __consuming func foo1(i0: __owned Int, i1: __shared Int) {}
public subscript(index: Int) -> Int { return 0 }
public subscript(index i: Float) -> Int { return 0 }
}
public func genfoo<T1 : Prot, T2 : C1>(x ix: T1, y iy: T2) where T1.Element == Int, T2.Element == T1.Element {}
public extension Prot where Self.Element == Int {
func extfoo() {}
}
public enum MyEnum : Int {
case Blah
}
protocol Prot1 {}
typealias C1Alias = C1
extension C1Alias : Prot1 {}
public extension Prot {
public func foo1() {}
}
public struct S1 {
public enum SE {
case a
case b
case c
}
}
public extension S1 {
public func foo1() {}
public struct S2 {
public let b = 1
}
}
@objc
public protocol P2 {
@objc optional func foo1()
}
public protocol P3 {
associatedtype T
}
public struct S2 : P3 {
public typealias T = S2
}
public extension C1 {
public enum C1Cases : Int {
case case1
}
}
public class C2 : C1 {
public func C2foo() {}
}
public extension Prot {
subscript(index: Int) -> Int { return 0 }
}
public protocol P4 {}
extension C1 : P4 {
public func C1foo() {}
public struct C1S1{
public func C1S1foo(a : P4) {}
}
}
// rdar://problem/36553066
public protocol P5 {
associatedtype Element
}
public protocol P6: P5 {}
extension P6 {
public var null: Element? { return nil }
}
public struct S3<Wrapped: P5>: P5 {
public typealias Element = Wrapped.Element
}
extension S3: P6 where Wrapped: P6 {}
/**
some comments
*/
@available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
public extension C1 {
func addition() {}
}
public struct Box<Wrapped> {
public func boxes() -> [Box<Wrapped.Element>] where Wrapped: Sequence { fatalError() }
}
public protocol P {
func foo()
}
public extension P {
func bar() where Self: Equatable {}
}