mirror of
https://github.com/apple/swift.git
synced 2026-06-20 15:42:51 +02:00
1f008fb0d0
And update tests to use them. This commit depends on fixes in swiftlang/swift PRs #86905, #87129, and #87130. Fixes rdar://169749886.
40 lines
1.9 KiB
Swift
40 lines
1.9 KiB
Swift
// RUN: %empty-directory(%t)
|
|
// RUN: %target-swift-emit-module-interface(%t/Foo.swiftinterface) %s -module-name Foo
|
|
// RUN: %target-swift-typecheck-module-from-interface(%t/Foo.swiftinterface) -module-name Foo
|
|
// RUN: %FileCheck %s < %t/Foo.swiftinterface
|
|
|
|
// RUN: %target-swift-emit-module-interface(%t/FooWithTesting.swiftinterface) %s -module-name FooWithTesting -enable-testing
|
|
// RUN: %target-swift-typecheck-module-from-interface(%t/FooWithTesting.swiftinterface) -module-name FooWithTesting
|
|
// RUN: %FileCheck %s < %t/FooWithTesting.swiftinterface
|
|
|
|
// CHECK: @_hasMissingDesignatedInitializers public class BaseClass
|
|
public class BaseClass {
|
|
init() { }
|
|
var property: Int { return 1 }
|
|
func doSomething() { }
|
|
subscript(index: Int) -> Int { get { return 0 } set(newValue) {} }
|
|
// CHECK: @usableFromInline
|
|
// CHECK-NEXT: internal func doSomethingInline()
|
|
@usableFromInline func doSomethingInline() {}
|
|
// CHECK: @usableFromInline
|
|
// CHECK-NEXT: internal func doSomethingUsableFromInline()
|
|
@usableFromInline func doSomethingUsableFromInline() {}
|
|
}
|
|
|
|
// CHECK: @_inheritsConvenienceInitializers public class DerivedClass : {{Foo|FooWithTesting}}::BaseClass
|
|
public class DerivedClass: BaseClass {
|
|
// CHECK: public init()
|
|
public override init() { super.init() }
|
|
// CHECK: public var property: Swift::Int
|
|
public override var property : Int { return 0 }
|
|
// CHECK: public func doSomething()
|
|
public override func doSomething() { }
|
|
// CHECK: public subscript(index: Swift::Int) -> Swift::Int
|
|
public override subscript(index: Int) -> Int { get {return 0} set(newValue) {} }
|
|
// CHECK: @inlinable override public func doSomethingInline() { super.doSomethingInline() }
|
|
@inlinable public override func doSomethingInline() { super.doSomethingInline() }
|
|
// CHECK: @usableFromInline
|
|
// CHECK-NEXT: override internal func doSomethingUsableFromInline()
|
|
@usableFromInline override func doSomethingUsableFromInline() { super.doSomethingUsableFromInline() }
|
|
}
|