1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -typecheck -emit-module-interface-path %t.swiftinterface %s
// RUN: %FileCheck %s < %t.swiftinterface --check-prefix CHECK --check-prefix COMMON
// RUN: %target-swift-frontend -typecheck -emit-module-interface-path %t-resilient.swiftinterface -enable-library-evolution %s
// RUN: %FileCheck %s --check-prefix RESILIENT --check-prefix COMMON < %t-resilient.swiftinterface
// RUN: %target-swift-frontend -emit-module -o %t/Test.swiftmodule %t.swiftinterface -disable-objc-attr-requires-foundation-module
// RUN: %target-swift-frontend -emit-module -o /dev/null -merge-modules %t/Test.swiftmodule -module-name Test -emit-module-interface-path - | %FileCheck %s --check-prefix CHECK --check-prefix COMMON
// RUN: %target-swift-frontend -emit-module -o %t/TestResilient.swiftmodule -enable-library-evolution %t.swiftinterface -disable-objc-attr-requires-foundation-module
// RUN: %target-swift-frontend -emit-module -o /dev/null -merge-modules %t/TestResilient.swiftmodule -module-name TestResilient -enable-library-evolution -emit-module-interface-path - | %FileCheck %s --check-prefix RESILIENT --check-prefix COMMON
// COMMON: struct MyStruct {{{$}}
public struct MyStruct {
// COMMON-NEXT: var publicVar: Swift.Int64{{$}}
public var publicVar: Int64
// COMMON-NEXT: let publicLet: Swift.Bool{{$}}
public let publicLet: Bool
// CHECK-NEXT: internal var internalVar: Swift.Int64{{$}}
// RESILIENT-NOT: internal var internalVar: Swift.Int64{{$}}
var internalVar: Int64
// CHECK-NEXT: internal let internalLet: Swift.Bool{{$}}
// RESILIENT-NOT: internal let internalLet: Swift.Bool{{$}}
let internalLet: Bool
// COMMON-NEXT: @usableFromInline
// COMMON-NEXT: internal var ufiVar: Swift.Int64{{$}}
@usableFromInline var ufiVar: Int64
// COMMON-NEXT: @usableFromInline
// COMMON-NEXT: internal let ufiLet: Swift.Bool{{$}}
@usableFromInline let ufiLet: Bool
// CHECK-NEXT: private var privateVar: Swift.Int64{{$}}
// RESILIENT-NOT: private var privateVar: Swift.Int64{{$}}
private var privateVar: Int64
// CHECK-NEXT: private let privateLet: Swift.Bool{{$}}
// RESILIENT-NOT: private let privateLet: Swift.Bool{{$}}
private let privateLet: Bool
// CHECK-NOT: private var
// RESILIENT-NOT: private var
private var computedPrivateVar: Int64 {
return 0
}
// CHECK-NOT: private static var
// RESILIENT-NOT: private static var
private static var staticPrivateVar: Int64 = 0
// COMMON: var publicEndVar: Swift.Int64{{$}}
public var publicEndVar: Int64 = 0
// COMMON: }{{$}}
}
// COMMON: class MyClass {{{$}}
public class MyClass {
// COMMON-NEXT: var publicVar: Swift.Int64{{$}}
public var publicVar: Int64 = 0
// COMMON-NEXT: let publicLet: Swift.Bool{{$}}
public let publicLet: Bool = true
// CHECK-NEXT: internal var internalVar: Swift.Int64{{$}}
// RESILIENT-NOT: internal var internalVar: Swift.Int64{{$}}
var internalVar: Int64 = 0
// CHECK-NEXT: internal let internalLet: Swift.Bool{{$}}
// RESILIENT-NOT: internal let internalLet: Swift.Bool{{$}}
let internalLet: Bool = true
// COMMON-NEXT: @usableFromInline
// COMMON-NEXT: internal var ufiVar: Swift.Int64{{$}}
@usableFromInline var ufiVar: Int64 = 0
// COMMON-NEXT: @usableFromInline
// COMMON-NEXT: internal let ufiLet: Swift.Bool{{$}}
@usableFromInline let ufiLet: Bool = true
// CHECK-NEXT: private var privateVar: Swift.Int64{{$}}
// RESILIENT-NOT: private var privateVar: Swift.Int64{{$}}
private var privateVar: Int64 = 0
// CHECK-NEXT: private let privateLet: Swift.Bool{{$}}
// RESILIENT-NOT: private let privateLet: Swift.Bool{{$}}
private let privateLet: Bool = true
// CHECK-NOT: private var
// RESILIENT-NOT: private var
private var computedPrivateVar: Int64 {
return 0
}
// CHECK-NOT: private static var
// RESILIENT-NOT: private static var
private static var staticPrivateVar: Int64 = 0
// COMMON: var publicEndVar: Swift.Int64{{$}}
public var publicEndVar: Int64 = 0
public init() {}
// COMMON: }{{$}}
}
|