blob: fc191c10d2939ce8fd95707e8006922a39750627 [file] [log] [blame]
// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -swift-version 5 -enable-implicit-dynamic -enable-private-imports -emit-module -primary-file %S/Inputs/dynamic_replacements_init_A.swift -emit-module -module-name ModuleA -emit-module-path %t/ModuleA.swiftmodule
// RUN: %target-swift-frontend -swift-version 5 -typecheck -verify %s -I %t
@_private(sourceFile: "dynamic_replacements_init_A.swift") import ModuleA
extension S {
@_dynamicReplacement(for: init(i:))
private init(_i: Int) {
self.i = _i
}
@_dynamicReplacement(for: init(y:))
private init(_y: Int) {
self.init(i: _y)
}
}
extension A {
@_dynamicReplacement(for: init(i:))
private init(_i: Int) {
self.i = _i
}
@_dynamicReplacement(for: init(c:))
private convenience init(_y: Int) {
self.init(i: _y)
}
}
extension B {
@_dynamicReplacement(for: init(b:i:))
private init(_i: Int, _b: Int) {
self.b = _b
super.init(i: _i)
}
@_dynamicReplacement(for: init(x:))
private convenience init(_i: Int) {
self.init(b: _i, i: _i)
}
}