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 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
// RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -I %t -I %S/Inputs/custom-modules -print-module -source-filename %s -module-to-print=ImportAsMember.A -always-argument-labels > %t.printed.A.txt
// RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -I %t -I %S/Inputs/custom-modules -print-module -source-filename %s -module-to-print=ImportAsMember.B -always-argument-labels > %t.printed.B.txt
// RUN: %FileCheck %s -check-prefix=PRINT -strict-whitespace < %t.printed.A.txt
// RUN: %FileCheck %s -check-prefix=PRINTB -strict-whitespace < %t.printed.B.txt
// RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -I %t -I %S/Inputs/custom-modules -print-module -source-filename %s -module-to-print=ImportAsMember.APINotes -swift-version 4 -always-argument-labels | %FileCheck %s -check-prefix=PRINT-APINOTES-3 -strict-whitespace
// RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -I %t -I %S/Inputs/custom-modules -print-module -source-filename %s -module-to-print=ImportAsMember.APINotes -swift-version 5 -always-argument-labels | %FileCheck %s -check-prefix=PRINT-APINOTES-4 -strict-whitespace
// RUN: %target-typecheck-verify-swift -I %S/Inputs/custom-modules
// Assertion failed: (I != F.TypeRemap.end() && "Invalid index into type index remap"))
// REQUIRES: rdar70691386
// PRINT: struct Struct1 {
// PRINT-NEXT: var x: Double
// PRINT-NEXT: var y: Double
// PRINT-NEXT: var z: Double
// PRINT-NEXT: init()
// PRINT-NEXT: init(x x: Double, y y: Double, z z: Double)
// PRINT-NEXT: }
// Make sure the other extension isn't here.
// PRINT-NOT: static var static1: Double
// PRINT: extension Struct1 {
// PRINT-NEXT: static var globalVar: Double
// PRINT-NEXT: init(value value: Double)
// PRINT-NEXT: init(specialLabel specialLabel: ())
// PRINT-NEXT: func inverted() -> Struct1
// PRINT-NEXT: mutating func invert()
// PRINT-NEXT: func translate(radians radians: Double) -> Struct1
// PRINT-NEXT: func scale(_ radians: Double) -> Struct1
// PRINT-NEXT: var radius: Double { get nonmutating set }
// PRINT-NEXT: var altitude: Double{{$}}
// PRINT-NEXT: var magnitude: Double { get }
// PRINT-NEXT: static func staticMethod() -> Int32
// PRINT-NEXT: static var property: Int32
// PRINT-NEXT: static var getOnlyProperty: Int32 { get }
// PRINT-NEXT: func selfComesLast(x x: Double)
// PRINT-NEXT: func selfComesThird(a a: Int32, b b: Float, x x: Double)
// PRINT-NEXT: }
// PRINT-NOT: static var static1: Double
// Make sure the other extension isn't here.
// PRINTB-NOT: static var globalVar: Double
// PRINTB: extension Struct1 {
// PRINTB: static var static1: Double
// PRINTB-NEXT: static var static2: Float
// PRINTB-NEXT: init(float value: Float)
// PRINTB-NEXT: static var zero: Struct1 { get }
// PRINTB-NEXT: }
// PRINTB: var currentStruct1: Struct1
// PRINTB-NOT: static var globalVar: Double
// PRINT-APINOTES-3: @available(swift, obsoleted: 3, renamed: "Struct1.oldApiNoteVar")
// PRINT-APINOTES-3-NEXT: var IAMStruct1APINoteVar: Double
// PRINT-APINOTES-3: extension Struct1 {
// PRINT-APINOTES-3-NEXT: var oldApiNoteVar: Double
// PRINT-APINOTES-3-NEXT: @available(swift, introduced: 4.2, renamed: "Struct1.oldApiNoteVar")
// PRINT-APINOTES-3-NEXT: var newApiNoteVar: Double
// PRINT-APINOTES-3-NEXT: @available(swift, introduced: 4.2, renamed: "IAMStruct1APINoteVarInSwift4")
// PRINT-APINOTES-3-NEXT: var apiNoteVarInSwift4: Double
// PRINT-APINOTES-3-NEXT: static func oldApiNoteMethod()
// PRINT-APINOTES-3-NEXT: @available(swift, introduced: 4.2, renamed: "Struct1.oldApiNoteMethod()")
// PRINT-APINOTES-3-NEXT: static func newApiNoteMethod()
// PRINT-APINOTES-3-NEXT: init(oldLabel _: Int32)
// PRINT-APINOTES-3-NEXT: @available(swift, introduced: 4.2, renamed: "Struct1.init(oldLabel:)")
// PRINT-APINOTES-3-NEXT: init(newLabel _: Int32)
// PRINT-APINOTES-3-NEXT: typealias OldApiNoteType = Struct1.NewApiNoteType
// PRINT-APINOTES-3-NEXT: typealias NewApiNoteType = Double
// PRINT-APINOTES-3-NEXT: }
// PRINT-APINOTES-3-NOT: @available
// PRINT-APINOTES-3: var IAMStruct1APINoteVarInSwift4: Double
// PRINT-APINOTES-3: @available(swift, obsoleted: 3, renamed: "Struct1.oldApiNoteMethod()")
// PRINT-APINOTES-3-NEXT: func IAMStruct1APINoteFunction()
// PRINT-APINOTES-3: @available(swift, obsoleted: 3, renamed: "Struct1.init(oldLabel:)")
// PRINT-APINOTES-3-NEXT: func IAMStruct1APINoteCreateFunction(_ _: Int32) -> Struct1
// PRINT-APINOTES-3: @available(swift, obsoleted: 3, renamed: "Struct1.OldApiNoteType")
// PRINT-APINOTES-3-NEXT: typealias IAMStruct1APINoteType = Struct1.OldApiNoteType
// PRINT-APINOTES-4: @available(swift, obsoleted: 3, renamed: "Struct1.newApiNoteVar")
// PRINT-APINOTES-4-NEXT: var IAMStruct1APINoteVar: Double
// PRINT-APINOTES-4: extension Struct1 {
// PRINT-APINOTES-4-NEXT: var newApiNoteVar: Double
// PRINT-APINOTES-4-NEXT: @available(swift, obsoleted: 4.2, renamed: "Struct1.newApiNoteVar")
// PRINT-APINOTES-4-NEXT: var oldApiNoteVar: Double
// PRINT-APINOTES-4-NEXT: var apiNoteVarInSwift4: Double
// PRINT-APINOTES-4-NEXT: static func newApiNoteMethod()
// PRINT-APINOTES-4-NEXT: @available(swift, obsoleted: 4.2, renamed: "Struct1.newApiNoteMethod()")
// PRINT-APINOTES-4-NEXT: static func oldApiNoteMethod()
// PRINT-APINOTES-4-NEXT: init(newLabel _: Int32)
// PRINT-APINOTES-4-NEXT: @available(swift, obsoleted: 4.2, renamed: "Struct1.init(newLabel:)")
// PRINT-APINOTES-4-NEXT: init(oldLabel _: Int32)
// PRINT-APINOTES-4-NEXT: typealias NewApiNoteType = Double
// PRINT-APINOTES-4-NEXT: @available(swift, obsoleted: 4.2, renamed: "Struct1.NewApiNoteType")
// PRINT-APINOTES-4-NEXT: typealias OldApiNoteType = Struct1.NewApiNoteType
// PRINT-APINOTES-4-NEXT: }
// PRINT-APINOTES-4: @available(swift, obsoleted: 4.2, renamed: "Struct1.apiNoteVarInSwift4")
// PRINT-APINOTES-4-NEXT: var IAMStruct1APINoteVarInSwift4: Double
// PRINT-APINOTES-4: @available(swift, obsoleted: 3, renamed: "Struct1.newApiNoteMethod()")
// PRINT-APINOTES-4-NEXT: func IAMStruct1APINoteFunction()
// PRINT-APINOTES-4: @available(swift, obsoleted: 3, renamed: "Struct1.init(newLabel:)")
// PRINT-APINOTES-4-NEXT: func IAMStruct1APINoteCreateFunction(_ _: Int32) -> Struct1
// PRINT-APINOTES-4: @available(swift, obsoleted: 3, renamed: "Struct1.NewApiNoteType")
// PRINT-APINOTES-4-NEXT: typealias IAMStruct1APINoteType = Struct1.NewApiNoteType
#if canImport(Foundation)
import Foundation
#endif
import ImportAsMember.A
import ImportAsMember.B
import ImportAsMember.APINotes
let iamStructFail = IAMStruct1CreateSimple()
// expected-error@-1{{missing argument for parameter #1 in call}}
var iamStruct = Struct1(x: 1.0, y: 1.0, z: 1.0)
let gVarFail = IAMStruct1GlobalVar
// expected-error@-1{{IAMStruct1GlobalVar' has been renamed to 'Struct1.globalVar'}}
let gVar = Struct1.globalVar
print("\(gVar)")
let iamStructInitFail = IAMStruct1CreateSimple(42)
// expected-error@-1{{'IAMStruct1CreateSimple' has been replaced by 'Struct1.init(value:)'}}
let iamStructInitFail2 = Struct1(value: 42)
let gVar2 = Struct1.static2
// Instance properties
iamStruct.radius += 1.5
_ = iamStruct.magnitude
// Static properties
iamStruct = Struct1.zero
// Global properties
currentStruct1.x += 1.5
|