mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
A couple of tests are expecting merge-modules behaviour, add `-no-emit-module-separately` in those cases to ensure that merge modules is used in both the old and new driver.
51 lines
1.7 KiB
Swift
51 lines
1.7 KiB
Swift
// RUN: %empty-directory(%t)
|
|
|
|
// Generate the parseable interface of the current file via the merge-modules step
|
|
// RUN: %target-build-swift -no-emit-module-separately -emit-module -o %t/Test.swiftmodule -emit-module-interface-path %t/TestMerge.swiftinterface -module-name Test %s
|
|
|
|
// Generate the parseable interface of the current file via a single frontend invocation
|
|
// RUN: %target-swift-frontend -typecheck -enable-objc-interop -emit-module-interface-path %t/TestSingle.swiftinterface -module-name Test %s
|
|
|
|
// Make sure both don't add override for inits shadowing convenience initializers
|
|
// RUN: %FileCheck --check-prefixes=CHECK,SINGLE %s < %t/TestSingle.swiftinterface
|
|
// RUN: %FileCheck --check-prefixes=CHECK,MERGE %s < %t/TestMerge.swiftinterface
|
|
|
|
// Check we can consume the interface without issue
|
|
// RUN: %target-swift-frontend -swift-version 5 -compile-module-from-interface -o %t/Test.swiftmodule %t/TestSingle.swiftinterface
|
|
// RUN: %target-swift-frontend -swift-version 5 -compile-module-from-interface -o %t/Test.swiftmodule %t/TestMerge.swiftinterface
|
|
|
|
public class Base {
|
|
let x: Int
|
|
public init(x: Int) {
|
|
self.x = x
|
|
}
|
|
convenience public init() {
|
|
self.init(x: 1)
|
|
}
|
|
}
|
|
|
|
public class Derived: Base {
|
|
// CHECK: {{^}} public init(z: Swift.Int)
|
|
public init(z: Int) {
|
|
super.init(x: z)
|
|
}
|
|
// MERGE: {{^}} public convenience init()
|
|
// SINGLE: {{^}} convenience public init()
|
|
convenience public init() {
|
|
self.init(z: 1)
|
|
}
|
|
}
|
|
|
|
public class Derived2: Base {
|
|
// CHECK: {{^}} public init()
|
|
public init() {
|
|
super.init(x: 1)
|
|
}
|
|
|
|
// MERGE: {{^}} override public convenience init(x: Swift.Int)
|
|
// SINGLE: {{^}} override convenience public init(x: Swift.Int)
|
|
override convenience public init(x: Int) {
|
|
self.init()
|
|
}
|
|
}
|