mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This test fails periodically across all configurations. rdar://70691386 (IDE/import_as_member.swift; fails sporadically; Assertion failed: (I != F.TypeRemap.end() && "Invalid index into type index remap"))
143 lines
7.2 KiB
Swift
143 lines
7.2 KiB
Swift
// 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
|