mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[test] Update APINotes tests for Swift 3 removal
For the most part, this moves 3/4 tests to 4/5 tests. There are some interesting changes here because API notes for 4 also apply to 3 unless otherwise specified, and 4.2 is the next version after 4 rather than 5, but everything should still be correct and testing useful stuff.
This commit is contained in:
@@ -41,10 +41,10 @@ Classes:
|
||||
- Name: accessorsOnlyWeak
|
||||
PropertyKind: Instance
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyExceptInVersion3
|
||||
- Name: accessorsOnlyExceptInVersion4
|
||||
PropertyKind: Instance
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyForClassExceptInVersion3
|
||||
- Name: accessorsOnlyForClassExceptInVersion4
|
||||
PropertyKind: Class
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyWithNewType
|
||||
@@ -63,7 +63,7 @@ Functions:
|
||||
- Name: jumpToLocation
|
||||
SwiftName: 'jumpTo(x:y:z:)'
|
||||
Tags:
|
||||
- Name: InnerInSwift4
|
||||
- Name: InnerInSwift5
|
||||
SwiftName: Outer.Inner
|
||||
Globals:
|
||||
- Name: multiVersionedGlobal34Notes
|
||||
@@ -84,146 +84,6 @@ Globals:
|
||||
SwiftName: multiVersionedGlobal45Both_NEW
|
||||
SwiftVersions:
|
||||
- Version: 3.0
|
||||
Classes:
|
||||
- Name: PrintingInterference
|
||||
Methods:
|
||||
- Selector: 'print:'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'print(_:)'
|
||||
- Name: PrintingRenamed
|
||||
Methods:
|
||||
- Selector: 'print'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'print()'
|
||||
- Selector: 'print:'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'print(_:)'
|
||||
- Selector: 'print:options:'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'print(_:options:)'
|
||||
- Selector: 'print'
|
||||
MethodKind: Class
|
||||
SwiftName: 'print()'
|
||||
- Selector: 'print:'
|
||||
MethodKind: Class
|
||||
SwiftName: 'print(_:)'
|
||||
- Selector: 'print:options:'
|
||||
MethodKind: Class
|
||||
SwiftName: 'print(_:options:)'
|
||||
- Name: TestProperties
|
||||
Methods:
|
||||
- Selector: accessorsOnlyRenamedRetyped
|
||||
MethodKind: Instance
|
||||
SwiftName: 'renamedAndRetyped()'
|
||||
ResultType: 'id _Nonnull'
|
||||
- Selector: 'setAccessorsOnlyRenamedRetyped:'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'setRenamedAndRetyped(_:)'
|
||||
Parameters:
|
||||
- Position: 0
|
||||
Type: 'id _Nullable'
|
||||
- Selector: accessorsOnlyRenamedRetypedClass
|
||||
MethodKind: Class
|
||||
SwiftName: 'renamedAndRetypedClass()'
|
||||
ResultType: 'id _Nonnull'
|
||||
- Selector: 'setAccessorsOnlyRenamedRetypedClass:'
|
||||
MethodKind: Class
|
||||
SwiftName: 'setRenamedAndRetypedClass(_:)'
|
||||
Parameters:
|
||||
- Position: 0
|
||||
Type: 'id _Nullable'
|
||||
Properties:
|
||||
- Name: accessorsOnlyInVersion3
|
||||
PropertyKind: Instance
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyForClassInVersion3
|
||||
PropertyKind: Class
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyExceptInVersion3
|
||||
PropertyKind: Instance
|
||||
SwiftImportAsAccessors: false
|
||||
- Name: accessorsOnlyForClassExceptInVersion3
|
||||
PropertyKind: Class
|
||||
SwiftImportAsAccessors: false
|
||||
- Name: accessorsOnlyRenamedRetyped
|
||||
PropertyKind: Instance
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyRenamedRetypedClass
|
||||
PropertyKind: Class
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: NewlyGenericSub
|
||||
SwiftImportAsNonGeneric: true
|
||||
- Name: RenamedGeneric
|
||||
SwiftName: OldRenamedGeneric
|
||||
- Name: ClassWithManyRenames
|
||||
Methods:
|
||||
- Selector: "classWithManyRenamesForInt:"
|
||||
MethodKind: Class
|
||||
SwiftName: "init(swift3Factory:)"
|
||||
- Selector: "initWithBoolean:"
|
||||
MethodKind: Instance
|
||||
SwiftName: "init(swift3Boolean:)"
|
||||
- Selector: "doImportantThings"
|
||||
MethodKind: Instance
|
||||
SwiftName: "swift3DoImportantThings()"
|
||||
Properties:
|
||||
- Name: "importantClassProperty"
|
||||
PropertyKind: Class
|
||||
SwiftName: "swift3ClassProperty"
|
||||
- Name: "importantInstanceProperty"
|
||||
PropertyKind: Instance
|
||||
SwiftName: "swift3InstanceProperty"
|
||||
Protocols:
|
||||
- Name: ProtoWithVersionedUnavailableMember
|
||||
Methods:
|
||||
- Selector: requirement
|
||||
MethodKind: Instance
|
||||
ResultType: 'ForwardClass * _Nullable'
|
||||
- Name: ProtoWithManyRenames
|
||||
Methods:
|
||||
- Selector: "initWithBoolean:"
|
||||
MethodKind: Instance
|
||||
SwiftName: "init(swift3Boolean:)"
|
||||
- Selector: "doImportantThings"
|
||||
MethodKind: Instance
|
||||
SwiftName: "swift3DoImportantThings()"
|
||||
Properties:
|
||||
- Name: "importantClassProperty"
|
||||
PropertyKind: Class
|
||||
SwiftName: "swift3ClassProperty"
|
||||
Functions:
|
||||
- Name: acceptDoublePointer
|
||||
SwiftName: 'acceptPointer(_:)'
|
||||
Nullability: [ O ]
|
||||
- Name: normallyUnchanged
|
||||
SwiftName: normallyUnchangedButChangedInSwift3()
|
||||
- Name: normallyChangedOriginal
|
||||
SwiftName: normallyChangedButSpecialInSwift3()
|
||||
Tags:
|
||||
- Name: SomeCStruct
|
||||
SwiftName: ImportantCStruct
|
||||
- Name: InnerInSwift4
|
||||
SwiftName: InnerInSwift4
|
||||
- Name: NormallyUnchangedWrapper
|
||||
SwiftName: NormallyUnchangedButChangedInSwift3Wrapper
|
||||
- Name: NormallyChangedOriginalWrapper
|
||||
SwiftName: NormallyChangedButSpecialInSwift3Wrapper
|
||||
Typedefs:
|
||||
- Name: SomeCAlias
|
||||
SwiftName: ImportantCAlias
|
||||
- Name: EnclosingStructIdentifier
|
||||
SwiftName: EnclosingStructIdentifier
|
||||
Enumerators:
|
||||
- Name: AnonymousEnumRenamed
|
||||
SwiftName: AnonymousEnumRenamedSwift3
|
||||
- Name: UnknownEnumRenamed
|
||||
SwiftName: UnknownEnumRenamedSwift3
|
||||
- Name: TrueEnumRenamed
|
||||
SwiftName: renamedSwift3
|
||||
- Name: TrueEnumAliasRenamed
|
||||
SwiftName: aliasRenamedSwift3
|
||||
- Name: OptionyEnumRenamed
|
||||
SwiftName: renamedSwift3
|
||||
Globals:
|
||||
- Name: multiVersionedGlobal34
|
||||
SwiftName: multiVersionedGlobal34_3
|
||||
@@ -259,7 +119,145 @@ SwiftVersions:
|
||||
SwiftName: multiVersionedGlobal45Notes_5
|
||||
- Name: multiVersionedGlobal45Both
|
||||
SwiftName: multiVersionedGlobal45Both_5
|
||||
- Version: 4 # Versions are deliberately ordered as "3, 5, 4.2, 4" to catch bugs.
|
||||
- Version: 4 # Versions are deliberately ordered as "3, 5, 4, 4.2" to catch bugs.
|
||||
Classes:
|
||||
- Name: ClassWithManyRenames
|
||||
Methods:
|
||||
- Selector: "classWithManyRenamesForInt:"
|
||||
MethodKind: Class
|
||||
SwiftName: "init(swift4Factory:)"
|
||||
- Selector: "initWithBoolean:"
|
||||
MethodKind: Instance
|
||||
SwiftName: "init(swift4Boolean:)"
|
||||
- Selector: "doImportantThings"
|
||||
MethodKind: Instance
|
||||
SwiftName: "swift4DoImportantThings()"
|
||||
Properties:
|
||||
- Name: "importantClassProperty"
|
||||
PropertyKind: Class
|
||||
SwiftName: "swift4ClassProperty"
|
||||
- Name: "importantInstanceProperty"
|
||||
PropertyKind: Instance
|
||||
SwiftName: "swift4InstanceProperty"
|
||||
- Name: NewlyGenericSub
|
||||
SwiftImportAsNonGeneric: true
|
||||
- Name: PrintingInterference
|
||||
Methods:
|
||||
- Selector: 'print:'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'print(_:)'
|
||||
- Name: PrintingRenamed
|
||||
Methods:
|
||||
- Selector: 'print'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'print()'
|
||||
- Selector: 'print:'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'print(_:)'
|
||||
- Selector: 'print:options:'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'print(_:options:)'
|
||||
- Selector: 'print'
|
||||
MethodKind: Class
|
||||
SwiftName: 'print()'
|
||||
- Selector: 'print:'
|
||||
MethodKind: Class
|
||||
SwiftName: 'print(_:)'
|
||||
- Selector: 'print:options:'
|
||||
MethodKind: Class
|
||||
SwiftName: 'print(_:options:)'
|
||||
- Name: RenamedGeneric
|
||||
SwiftName: OldRenamedGeneric
|
||||
- Name: TestProperties
|
||||
Methods:
|
||||
- Selector: accessorsOnlyRenamedRetyped
|
||||
MethodKind: Instance
|
||||
SwiftName: 'renamedAndRetyped()'
|
||||
ResultType: 'id _Nonnull'
|
||||
- Selector: 'setAccessorsOnlyRenamedRetyped:'
|
||||
MethodKind: Instance
|
||||
SwiftName: 'setRenamedAndRetyped(_:)'
|
||||
Parameters:
|
||||
- Position: 0
|
||||
Type: 'id _Nullable'
|
||||
- Selector: accessorsOnlyRenamedRetypedClass
|
||||
MethodKind: Class
|
||||
SwiftName: 'renamedAndRetypedClass()'
|
||||
ResultType: 'id _Nonnull'
|
||||
- Selector: 'setAccessorsOnlyRenamedRetypedClass:'
|
||||
MethodKind: Class
|
||||
SwiftName: 'setRenamedAndRetypedClass(_:)'
|
||||
Parameters:
|
||||
- Position: 0
|
||||
Type: 'id _Nullable'
|
||||
Properties:
|
||||
- Name: accessorsOnlyInVersion4
|
||||
PropertyKind: Instance
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyForClassInVersion4
|
||||
PropertyKind: Class
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyExceptInVersion4
|
||||
PropertyKind: Instance
|
||||
SwiftImportAsAccessors: false
|
||||
- Name: accessorsOnlyForClassExceptInVersion4
|
||||
PropertyKind: Class
|
||||
SwiftImportAsAccessors: false
|
||||
- Name: accessorsOnlyRenamedRetyped
|
||||
PropertyKind: Instance
|
||||
SwiftImportAsAccessors: true
|
||||
- Name: accessorsOnlyRenamedRetypedClass
|
||||
PropertyKind: Class
|
||||
SwiftImportAsAccessors: true
|
||||
Protocols:
|
||||
- Name: ProtoWithManyRenames
|
||||
Methods:
|
||||
- Selector: "initWithBoolean:"
|
||||
MethodKind: Instance
|
||||
SwiftName: "init(swift4Boolean:)"
|
||||
- Selector: "doImportantThings"
|
||||
MethodKind: Instance
|
||||
SwiftName: "swift4DoImportantThings()"
|
||||
Properties:
|
||||
- Name: "importantClassProperty"
|
||||
PropertyKind: Class
|
||||
SwiftName: "swift4ClassProperty"
|
||||
- Name: ProtoWithVersionedUnavailableMember
|
||||
Methods:
|
||||
- Selector: requirement
|
||||
MethodKind: Instance
|
||||
ResultType: 'ForwardClass * _Nullable'
|
||||
Tags:
|
||||
- Name: InnerInSwift5
|
||||
SwiftName: InnerInSwift5
|
||||
- Name: NormallyChangedOriginalWrapper
|
||||
SwiftName: NormallyChangedButSpecialInSwift4Wrapper
|
||||
- Name: NormallyUnchangedWrapper
|
||||
SwiftName: NormallyUnchangedButChangedInSwift4Wrapper
|
||||
- Name: SomeCStruct
|
||||
SwiftName: ImportantCStruct
|
||||
Enumerators:
|
||||
- Name: AnonymousEnumRenamed
|
||||
SwiftName: AnonymousEnumRenamedSwift4
|
||||
- Name: UnknownEnumRenamed
|
||||
SwiftName: UnknownEnumRenamedSwift4
|
||||
- Name: TrueEnumRenamed
|
||||
SwiftName: renamedSwift4
|
||||
- Name: TrueEnumAliasRenamed
|
||||
SwiftName: aliasRenamedSwift4
|
||||
- Name: OptionyEnumRenamed
|
||||
SwiftName: renamedSwift4
|
||||
Typedefs:
|
||||
- Name: SomeCAlias
|
||||
SwiftName: ImportantCAlias
|
||||
Functions:
|
||||
- Name: acceptDoublePointer
|
||||
SwiftName: 'acceptPointer(_:)'
|
||||
Nullability: [ O ]
|
||||
- Name: normallyUnchanged
|
||||
SwiftName: normallyUnchangedButChangedInSwift4()
|
||||
- Name: normallyChangedOriginal
|
||||
SwiftName: normallyChangedButSpecialInSwift4()
|
||||
Globals:
|
||||
- Name: multiVersionedGlobal34
|
||||
SwiftName: multiVersionedGlobal34_4
|
||||
|
||||
@@ -4,7 +4,7 @@ struct Outer {
|
||||
int value;
|
||||
};
|
||||
|
||||
struct InnerInSwift4 {
|
||||
struct InnerInSwift5 {
|
||||
int value;
|
||||
};
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
@property (nonatomic, readonly, retain) id accessorsOnlyRO;
|
||||
@property (nonatomic, readwrite, weak) id accessorsOnlyWeak;
|
||||
|
||||
@property (nonatomic, readwrite, retain) id accessorsOnlyInVersion3;
|
||||
@property (nonatomic, readwrite, retain, class) id accessorsOnlyForClassInVersion3;
|
||||
@property (nonatomic, readwrite, retain) id accessorsOnlyInVersion4;
|
||||
@property (nonatomic, readwrite, retain, class) id accessorsOnlyForClassInVersion4;
|
||||
|
||||
@property (nonatomic, readwrite, retain) id accessorsOnlyExceptInVersion3;
|
||||
@property (nonatomic, readwrite, retain, class) id accessorsOnlyForClassExceptInVersion3;
|
||||
@property (nonatomic, readwrite, retain) id accessorsOnlyExceptInVersion4;
|
||||
@property (nonatomic, readwrite, retain, class) id accessorsOnlyForClassExceptInVersion4;
|
||||
@end
|
||||
|
||||
@interface TestPropertiesSub: TestProperties
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// RUN: %target-typecheck-verify-swift -I %S/Inputs/custom-modules -F %S/Inputs/custom-frameworks -swift-version 4
|
||||
// RUN: %target-typecheck-verify-swift -I %S/Inputs/custom-modules -F %S/Inputs/custom-frameworks
|
||||
import APINotesTest
|
||||
import APINotesFrameworkTest
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// RUN: not %target-swift-frontend -typecheck -verify -I %S/Inputs/custom-modules -F %S/Inputs/custom-frameworks -swift-version 4 %s
|
||||
// RUN: %target-swift-frontend -typecheck -verify -I %S/Inputs/custom-modules -F %S/Inputs/custom-frameworks -swift-version 4.2 %s
|
||||
// RUN: %target-swift-frontend -typecheck -verify -I %S/Inputs/custom-modules -F %S/Inputs/custom-frameworks -swift-version 5 %s
|
||||
// REQUIRES: objc_interop
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-module -source-filename %s -module-to-print=APINotesFrameworkTest -function-definitions=false -print-regular-comments -swift-version 4 | %FileCheck -check-prefix=CHECK-SWIFT-4 -check-prefix=CHECK-BOTH %s
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-module -source-filename %s -module-to-print=APINotesFrameworkTest -function-definitions=false -print-regular-comments -swift-version 5 | %FileCheck -check-prefix=CHECK-SWIFT-5 -check-prefix=CHECK-BOTH %s
|
||||
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-module -source-filename %s -module-to-print=APINotesFrameworkTest -function-definitions=false -print-regular-comments -swift-version 3 | %FileCheck -check-prefix=CHECK-SWIFT-3 -check-prefix=CHECK-BOTH %s
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-module -source-filename %s -module-to-print=APINotesFrameworkTest -function-definitions=false -print-regular-comments -swift-version 4 | %FileCheck -check-prefix=CHECK-SWIFT-4 -check-prefix=CHECK-BOTH %s
|
||||
|
||||
// REQUIRES: objc_interop
|
||||
|
||||
@@ -18,19 +18,19 @@
|
||||
// CHECK-BOTH-DAG: func accessorsOnlyWeak() -> Any?
|
||||
// CHECK-BOTH-DAG: func setAccessorsOnlyWeak(_ accessorsOnlyWeak: Any?)
|
||||
|
||||
// CHECK-SWIFT-4-DAG: var accessorsOnlyInVersion3: Any
|
||||
// CHECK-SWIFT-4-DAG: class var accessorsOnlyForClassInVersion3: Any
|
||||
// CHECK-SWIFT-3-DAG: func accessorsOnlyInVersion3() -> Any
|
||||
// CHECK-SWIFT-3-DAG: func setAccessorsOnlyInVersion3(_ accessorsOnlyInVersion3: Any)
|
||||
// CHECK-SWIFT-3-DAG: class func accessorsOnlyForClassInVersion3() -> Any
|
||||
// CHECK-SWIFT-3-DAG: class func setAccessorsOnlyForClassInVersion3(_ accessorsOnlyForClassInVersion3: Any)
|
||||
// CHECK-SWIFT-5-DAG: var accessorsOnlyInVersion4: Any
|
||||
// CHECK-SWIFT-5-DAG: class var accessorsOnlyForClassInVersion4: Any
|
||||
// CHECK-SWIFT-4-DAG: func accessorsOnlyInVersion4() -> Any
|
||||
// CHECK-SWIFT-4-DAG: func setAccessorsOnlyInVersion4(_ accessorsOnlyInVersion4: Any)
|
||||
// CHECK-SWIFT-4-DAG: class func accessorsOnlyForClassInVersion4() -> Any
|
||||
// CHECK-SWIFT-4-DAG: class func setAccessorsOnlyForClassInVersion4(_ accessorsOnlyForClassInVersion4: Any)
|
||||
|
||||
// CHECK-SWIFT-4-DAG: func accessorsOnlyExceptInVersion3() -> Any
|
||||
// CHECK-SWIFT-4-DAG: func setAccessorsOnlyExceptInVersion3(_ accessorsOnlyExceptInVersion3: Any)
|
||||
// CHECK-SWIFT-4-DAG: class func accessorsOnlyForClassExceptInVersion3() -> Any
|
||||
// CHECK-SWIFT-4-DAG: class func setAccessorsOnlyForClassExceptInVersion3(_ accessorsOnlyForClassExceptInVersion3: Any)
|
||||
// CHECK-SWIFT-3-DAG: var accessorsOnlyExceptInVersion3: Any
|
||||
// CHECK-SWIFT-3-DAG: class var accessorsOnlyForClassExceptInVersion3: Any
|
||||
// CHECK-SWIFT-5-DAG: func accessorsOnlyExceptInVersion4() -> Any
|
||||
// CHECK-SWIFT-5-DAG: func setAccessorsOnlyExceptInVersion4(_ accessorsOnlyExceptInVersion4: Any)
|
||||
// CHECK-SWIFT-5-DAG: class func accessorsOnlyForClassExceptInVersion4() -> Any
|
||||
// CHECK-SWIFT-5-DAG: class func setAccessorsOnlyForClassExceptInVersion4(_ accessorsOnlyForClassExceptInVersion4: Any)
|
||||
// CHECK-SWIFT-4-DAG: var accessorsOnlyExceptInVersion4: Any
|
||||
// CHECK-SWIFT-4-DAG: class var accessorsOnlyForClassExceptInVersion4: Any
|
||||
|
||||
// CHECK-BOTH: {{^}$}}
|
||||
|
||||
@@ -46,12 +46,12 @@
|
||||
|
||||
// CHECK-BOTH: {{^}$}}
|
||||
|
||||
// CHECK-SWIFT-3-DAG: func renamedAndRetyped() -> Any{{$}}
|
||||
// CHECK-SWIFT-3-DAG: func setRenamedAndRetyped(_ accessorsOnlyRenamedRetyped: Any?)
|
||||
// CHECK-SWIFT-4-DAG: var accessorsOnlyRenamedRetyped: Any!
|
||||
// CHECK-SWIFT-4-DAG: func renamedAndRetyped() -> Any{{$}}
|
||||
// CHECK-SWIFT-4-DAG: func setRenamedAndRetyped(_ accessorsOnlyRenamedRetyped: Any?)
|
||||
// CHECK-SWIFT-5-DAG: var accessorsOnlyRenamedRetyped: Any!
|
||||
|
||||
// CHECK-SWIFT-3-DAG: class func renamedAndRetypedClass() -> Any{{$}}
|
||||
// CHECK-SWIFT-3-DAG: class func setRenamedAndRetypedClass(_ accessorsOnlyRenamedRetypedClass: Any?)
|
||||
// CHECK-SWIFT-4-DAG: class var accessorsOnlyRenamedRetypedClass: Any!
|
||||
// CHECK-SWIFT-4-DAG: class func renamedAndRetypedClass() -> Any{{$}}
|
||||
// CHECK-SWIFT-4-DAG: class func setRenamedAndRetypedClass(_ accessorsOnlyRenamedRetypedClass: Any?)
|
||||
// CHECK-SWIFT-5-DAG: class var accessorsOnlyRenamedRetypedClass: Any!
|
||||
|
||||
// CHECK-BOTH: {{^}$}}
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 5 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-5 %s
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 4 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-4 %s
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 3 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-3 %s
|
||||
|
||||
// REQUIRES: objc_interop
|
||||
|
||||
import APINotesFrameworkTest
|
||||
|
||||
func testRenamedClassMembers(obj: AnyObject) {
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'swift3DoImportantThings()'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'swift4DoImportantThings()'
|
||||
obj.doImportantThings()
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
obj.swift3DoImportantThings()
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'swift3DoImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
obj.swift4DoImportantThings()
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'swift4DoImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'finalDoImportantThings()' has been renamed to 'swift3DoImportantThings()'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'finalDoImportantThings()' has been renamed to 'swift4DoImportantThings()'
|
||||
obj.finalDoImportantThings()
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'importantInstanceProperty' has been renamed to 'swift3InstanceProperty'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'importantInstanceProperty' has been renamed to 'swift4InstanceProperty'
|
||||
_ = obj.importantInstanceProperty
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'importantInstanceProperty' has been renamed to 'finalInstanceProperty'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'importantInstanceProperty' has been renamed to 'finalInstanceProperty'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = obj.swift3InstanceProperty
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'swift3InstanceProperty' has been renamed to 'finalInstanceProperty'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = obj.swift4InstanceProperty
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'swift4InstanceProperty' has been renamed to 'finalInstanceProperty'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'finalInstanceProperty' has been renamed to 'swift3InstanceProperty'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'finalInstanceProperty' has been renamed to 'swift4InstanceProperty'
|
||||
_ = obj.finalInstanceProperty
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
}
|
||||
|
||||
@@ -1,176 +1,176 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 5 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-5 %s
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 4 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-4 %s
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 3 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-3 %s
|
||||
|
||||
// REQUIRES: objc_interop
|
||||
|
||||
import APINotesFrameworkTest
|
||||
|
||||
// CHECK-DIAGS-4-NOT: versioned-objc.swift:[[@LINE-1]]:
|
||||
// CHECK-DIAGS-5-NOT: versioned-objc.swift:[[@LINE-1]]:
|
||||
class ProtoWithVersionedUnavailableMemberImpl: ProtoWithVersionedUnavailableMember {
|
||||
// CHECK-DIAGS-3: versioned-objc.swift:[[@LINE-1]]:7: error: type 'ProtoWithVersionedUnavailableMemberImpl' cannot conform to protocol 'ProtoWithVersionedUnavailableMember' because it has requirements that cannot be satisfied
|
||||
// CHECK-DIAGS-4: versioned-objc.swift:[[@LINE-1]]:7: error: type 'ProtoWithVersionedUnavailableMemberImpl' cannot conform to protocol 'ProtoWithVersionedUnavailableMember' because it has requirements that cannot be satisfied
|
||||
func requirement() -> Any? { return nil }
|
||||
}
|
||||
|
||||
func testNonGeneric() {
|
||||
// CHECK-DIAGS-3:[[@LINE+1]]:{{[0-9]+}}: error: cannot convert value of type 'Any' to specified type 'Int'
|
||||
// CHECK-DIAGS-4:[[@LINE+1]]:{{[0-9]+}}: error: cannot convert value of type 'Any' to specified type 'Int'
|
||||
let _: Int = NewlyGenericSub.defaultElement()
|
||||
// CHECK-DIAGS-4:[[@LINE-1]]:{{[0-9]+}}: error: generic parameter 'Element' could not be inferred
|
||||
// CHECK-DIAGS-5:[[@LINE-1]]:{{[0-9]+}}: error: generic parameter 'Element' could not be inferred
|
||||
|
||||
// CHECK-DIAGS-3:[[@LINE+1]]:{{[0-9]+}}: error: cannot specialize non-generic type 'NewlyGenericSub'
|
||||
// CHECK-DIAGS-4:[[@LINE+1]]:{{[0-9]+}}: error: cannot specialize non-generic type 'NewlyGenericSub'
|
||||
let _: Int = NewlyGenericSub<Base>.defaultElement()
|
||||
// CHECK-DIAGS-4:[[@LINE-1]]:{{[0-9]+}}: error: cannot convert value of type 'Base' to specified type 'Int'
|
||||
// CHECK-DIAGS-5:[[@LINE-1]]:{{[0-9]+}}: error: cannot convert value of type 'Base' to specified type 'Int'
|
||||
}
|
||||
|
||||
func testRenamedGeneric() {
|
||||
// CHECK-DIAGS-3-NOT: 'RenamedGeneric' has been renamed to 'OldRenamedGeneric'
|
||||
// CHECK-DIAGS-4-NOT: 'RenamedGeneric' has been renamed to 'OldRenamedGeneric'
|
||||
let _: OldRenamedGeneric<Base> = RenamedGeneric<Base>()
|
||||
// CHECK-DIAGS-4:[[@LINE-1]]:{{[0-9]+}}: error: 'OldRenamedGeneric' has been renamed to 'RenamedGeneric'
|
||||
// CHECK-DIAGS-5:[[@LINE-1]]:{{[0-9]+}}: error: 'OldRenamedGeneric' has been renamed to 'RenamedGeneric'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: 'RenamedGeneric' has been renamed to 'OldRenamedGeneric'
|
||||
// CHECK-DIAGS-4-NOT: 'RenamedGeneric' has been renamed to 'OldRenamedGeneric'
|
||||
let _: RenamedGeneric<Base> = OldRenamedGeneric<Base>()
|
||||
// CHECK-DIAGS-4:[[@LINE-1]]:{{[0-9]+}}: error: 'OldRenamedGeneric' has been renamed to 'RenamedGeneric'
|
||||
// CHECK-DIAGS-5:[[@LINE-1]]:{{[0-9]+}}: error: 'OldRenamedGeneric' has been renamed to 'RenamedGeneric'
|
||||
|
||||
class SwiftClass {}
|
||||
|
||||
// CHECK-DIAGS-3:[[@LINE+1]]:{{[0-9]+}}: error: 'OldRenamedGeneric' requires that 'SwiftClass' inherit from 'Base'
|
||||
// CHECK-DIAGS-4:[[@LINE+1]]:{{[0-9]+}}: error: 'OldRenamedGeneric' requires that 'SwiftClass' inherit from 'Base'
|
||||
let _: OldRenamedGeneric<SwiftClass> = RenamedGeneric<SwiftClass>()
|
||||
// CHECK-DIAGS-4:[[@LINE-1]]:{{[0-9]+}}: error: 'OldRenamedGeneric' requires that 'SwiftClass' inherit from 'Base'
|
||||
// CHECK-DIAGS-5:[[@LINE-1]]:{{[0-9]+}}: error: 'OldRenamedGeneric' requires that 'SwiftClass' inherit from 'Base'
|
||||
|
||||
// CHECK-DIAGS-3:[[@LINE+1]]:{{[0-9]+}}: error: 'RenamedGeneric' requires that 'SwiftClass' inherit from 'Base'
|
||||
// CHECK-DIAGS-4:[[@LINE+1]]:{{[0-9]+}}: error: 'RenamedGeneric' requires that 'SwiftClass' inherit from 'Base'
|
||||
let _: RenamedGeneric<SwiftClass> = OldRenamedGeneric<SwiftClass>()
|
||||
// CHECK-DIAGS-4:[[@LINE-1]]:{{[0-9]+}}: error: 'RenamedGeneric' requires that 'SwiftClass' inherit from 'Base'
|
||||
// CHECK-DIAGS-5:[[@LINE-1]]:{{[0-9]+}}: error: 'RenamedGeneric' requires that 'SwiftClass' inherit from 'Base'
|
||||
}
|
||||
|
||||
func testRenamedClassMembers(obj: ClassWithManyRenames) {
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'classWithManyRenamesForInt' has been replaced by 'init(swift3Factory:)'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'classWithManyRenamesForInt' has been replaced by 'init(swift4Factory:)'
|
||||
_ = ClassWithManyRenames.classWithManyRenamesForInt(0)
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'classWithManyRenamesForInt' has been replaced by 'init(for:)'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'classWithManyRenamesForInt' has been replaced by 'init(for:)'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'init(forInt:)' has been renamed to 'init(swift3Factory:)'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'init(forInt:)' has been renamed to 'init(swift4Factory:)'
|
||||
_ = ClassWithManyRenames(forInt: 0)
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'init(forInt:)' has been renamed to 'init(for:)'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'init(forInt:)' has been renamed to 'init(for:)'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = ClassWithManyRenames(swift3Factory: 0)
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'init(swift3Factory:)' has been renamed to 'init(for:)'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = ClassWithManyRenames(swift4Factory: 0)
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'init(swift4Factory:)' has been renamed to 'init(for:)'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'init(for:)' has been renamed to 'init(swift3Factory:)'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'init(for:)' has been renamed to 'init(swift4Factory:)'
|
||||
_ = ClassWithManyRenames(for: 0)
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'init(boolean:)' has been renamed to 'init(swift3Boolean:)'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'init(boolean:)' has been renamed to 'init(swift4Boolean:)'
|
||||
_ = ClassWithManyRenames(boolean: false)
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'init(boolean:)' has been renamed to 'init(finalBoolean:)'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'init(boolean:)' has been renamed to 'init(finalBoolean:)'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = ClassWithManyRenames(swift3Boolean: false)
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'init(swift3Boolean:)' has been renamed to 'init(finalBoolean:)'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = ClassWithManyRenames(swift4Boolean: false)
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'init(swift4Boolean:)' has been renamed to 'init(finalBoolean:)'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'init(finalBoolean:)' has been renamed to 'init(swift3Boolean:)'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'init(finalBoolean:)' has been renamed to 'init(swift4Boolean:)'
|
||||
_ = ClassWithManyRenames(finalBoolean: false)
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'swift3DoImportantThings()'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'swift4DoImportantThings()'
|
||||
obj.doImportantThings()
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
obj.swift3DoImportantThings()
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'swift3DoImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
obj.swift4DoImportantThings()
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'swift4DoImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'finalDoImportantThings()' has been renamed to 'swift3DoImportantThings()'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'finalDoImportantThings()' has been renamed to 'swift4DoImportantThings()'
|
||||
obj.finalDoImportantThings()
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'importantClassProperty' has been renamed to 'swift3ClassProperty'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'importantClassProperty' has been renamed to 'swift4ClassProperty'
|
||||
_ = ClassWithManyRenames.importantClassProperty
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'importantClassProperty' has been renamed to 'finalClassProperty'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'importantClassProperty' has been renamed to 'finalClassProperty'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = ClassWithManyRenames.swift3ClassProperty
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'swift3ClassProperty' has been renamed to 'finalClassProperty'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = ClassWithManyRenames.swift4ClassProperty
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'swift4ClassProperty' has been renamed to 'finalClassProperty'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'finalClassProperty' has been renamed to 'swift3ClassProperty'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'finalClassProperty' has been renamed to 'swift4ClassProperty'
|
||||
_ = ClassWithManyRenames.finalClassProperty
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
}
|
||||
|
||||
func testRenamedProtocolMembers(obj: ProtoWithManyRenames) {
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'init(boolean:)' has been renamed to 'init(swift3Boolean:)'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'init(boolean:)' has been renamed to 'init(swift4Boolean:)'
|
||||
_ = type(of: obj).init(boolean: false)
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'init(boolean:)' has been renamed to 'init(finalBoolean:)'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'init(boolean:)' has been renamed to 'init(finalBoolean:)'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = type(of: obj).init(swift3Boolean: false)
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'init(swift3Boolean:)' has been renamed to 'init(finalBoolean:)'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = type(of: obj).init(swift4Boolean: false)
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'init(swift4Boolean:)' has been renamed to 'init(finalBoolean:)'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'init(finalBoolean:)' has been renamed to 'init(swift3Boolean:)'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'init(finalBoolean:)' has been renamed to 'init(swift4Boolean:)'
|
||||
_ = type(of: obj).init(finalBoolean: false)
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'swift3DoImportantThings()'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'swift4DoImportantThings()'
|
||||
obj.doImportantThings()
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'doImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
obj.swift3DoImportantThings()
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'swift3DoImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
obj.swift4DoImportantThings()
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'swift4DoImportantThings()' has been renamed to 'finalDoImportantThings()'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'finalDoImportantThings()' has been renamed to 'swift3DoImportantThings()'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'finalDoImportantThings()' has been renamed to 'swift4DoImportantThings()'
|
||||
obj.finalDoImportantThings()
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'importantClassProperty' has been renamed to 'swift3ClassProperty'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'importantClassProperty' has been renamed to 'swift4ClassProperty'
|
||||
_ = type(of: obj).importantClassProperty
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'importantClassProperty' has been renamed to 'finalClassProperty'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'importantClassProperty' has been renamed to 'finalClassProperty'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = type(of: obj).swift3ClassProperty
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: 'swift3ClassProperty' has been renamed to 'finalClassProperty'
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:{{[0-9]+}}:
|
||||
_ = type(of: obj).swift4ClassProperty
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: 'swift4ClassProperty' has been renamed to 'finalClassProperty'
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: error: 'finalClassProperty' has been renamed to 'swift3ClassProperty'
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: error: 'finalClassProperty' has been renamed to 'swift4ClassProperty'
|
||||
_ = type(of: obj).finalClassProperty
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE-1]]:{{[0-9]+}}:
|
||||
}
|
||||
|
||||
extension PrintingRenamed {
|
||||
func testDroppingRenamedPrints() {
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to instance method
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to instance method
|
||||
print()
|
||||
// CHECK-DIAGS-4-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to instance method
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to instance method
|
||||
print(self)
|
||||
// CHECK-DIAGS-4-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
}
|
||||
|
||||
static func testDroppingRenamedPrints() {
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to class method
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to class method
|
||||
print()
|
||||
// CHECK-DIAGS-4-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to class method
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to class method
|
||||
print(self)
|
||||
// CHECK-DIAGS-4-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
}
|
||||
}
|
||||
|
||||
extension PrintingInterference {
|
||||
func testDroppingRenamedPrints() {
|
||||
// CHECK-DIAGS-3: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to instance method
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:{{[0-9]+}}: warning: use of 'print' treated as a reference to instance method
|
||||
print(self)
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:{{[0-9]+}}: error: use of 'print' nearly matches global function 'print(_:separator:terminator:)' in module 'Swift' rather than instance method 'print(_:extra:)'
|
||||
// CHECK-DIAGS-5: [[@LINE-1]]:{{[0-9]+}}: error: use of 'print' nearly matches global function 'print(_:separator:terminator:)' in module 'Swift' rather than instance method 'print(_:extra:)'
|
||||
|
||||
// CHECK-DIAGS-3-NOT: [[@LINE+1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-4-NOT: [[@LINE+1]]:{{[0-9]+}}:
|
||||
print(self, extra: self)
|
||||
// CHECK-DIAGS-4-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
// CHECK-DIAGS-5-NOT: [[@LINE-1]]:{{[0-9]+}}:
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 3 -find-mangled '$SSo11SomeCStructV' | %FileCheck -check-prefix=CHECK-TOP-ALIAS-3 %s
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 4 -find-mangled '$SSo11SomeCStructV' | %FileCheck -check-prefix=CHECK-TOP-ALIAS-4 %s
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 5 -find-mangled '$SSo11SomeCStructV' | %FileCheck -check-prefix=CHECK-TOP-ALIAS-5 %s
|
||||
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 3 -find-mangled '$SSo13InnerInSwift4V' | %FileCheck -check-prefix=CHECK-NESTED-ALIAS-3 %s
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 4 -find-mangled '$SSo13InnerInSwift4V' | %FileCheck -check-prefix=CHECK-NESTED-ALIAS-4 %s
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 4 -find-mangled '$SSo13InnerInSwift5V' | %FileCheck -check-prefix=CHECK-NESTED-ALIAS-4 %s
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 5 -find-mangled '$SSo13InnerInSwift5V' | %FileCheck -check-prefix=CHECK-NESTED-ALIAS-5 %s
|
||||
|
||||
import APINotesFrameworkTest
|
||||
|
||||
// CHECK-TOP-ALIAS-3: typealias ImportantCStruct = VeryImportantCStruct
|
||||
// CHECK-TOP-ALIAS-4: struct VeryImportantCStruct {
|
||||
// CHECK-NESTED-ALIAS-3: typealias InnerInSwift4 = Outer.Inner
|
||||
// CHECK-NESTED-ALIAS-4: struct Inner {
|
||||
// CHECK-TOP-ALIAS-4: typealias ImportantCStruct = VeryImportantCStruct
|
||||
// CHECK-TOP-ALIAS-5: struct VeryImportantCStruct {
|
||||
// CHECK-NESTED-ALIAS-4: typealias InnerInSwift5 = Outer.Inner
|
||||
// CHECK-NESTED-ALIAS-5: struct Inner {
|
||||
|
||||
@@ -1,56 +1,56 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-module -source-filename %s -module-to-print=APINotesFrameworkTest -function-definitions=false -print-regular-comments -swift-version 5 | %FileCheck -check-prefix=CHECK-SWIFT-5 %s
|
||||
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-module -source-filename %s -module-to-print=APINotesFrameworkTest -function-definitions=false -print-regular-comments -swift-version 4 | %FileCheck -check-prefix=CHECK-SWIFT-4 %s
|
||||
|
||||
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-module -source-filename %s -module-to-print=APINotesFrameworkTest -function-definitions=false -print-regular-comments -swift-version 3 | %FileCheck -check-prefix=CHECK-SWIFT-3 %s
|
||||
|
||||
// CHECK-SWIFT-5: func jumpTo(x: Double, y: Double, z: Double)
|
||||
// CHECK-SWIFT-4: func jumpTo(x: Double, y: Double, z: Double)
|
||||
// CHECK-SWIFT-3: func jumpTo(x: Double, y: Double, z: Double)
|
||||
|
||||
// CHECK-SWIFT-4: func accept(_ ptr: UnsafeMutablePointer<Double>)
|
||||
// CHECK-SWIFT-3: func acceptPointer(_ ptr: UnsafeMutablePointer<Double>?)
|
||||
// CHECK-SWIFT-5: func accept(_ ptr: UnsafeMutablePointer<Double>)
|
||||
// CHECK-SWIFT-4: func acceptPointer(_ ptr: UnsafeMutablePointer<Double>?)
|
||||
|
||||
// CHECK-SWIFT-4: func normallyUnchanged()
|
||||
// CHECK-SWIFT-4: @available(swift, obsoleted: 4, renamed: "normallyUnchanged()")
|
||||
// CHECK-SWIFT-4-NEXT: func normallyUnchangedButChangedInSwift3()
|
||||
// CHECK-SWIFT-3: @available(swift, obsoleted: 3, renamed: "normallyUnchangedButChangedInSwift3()")
|
||||
// CHECK-SWIFT-3-NEXT: func normallyUnchanged()
|
||||
// CHECK-SWIFT-3: func normallyUnchangedButChangedInSwift3()
|
||||
// CHECK-SWIFT-5: func normallyUnchanged()
|
||||
// CHECK-SWIFT-5: @available(swift, obsoleted: 4.2, renamed: "normallyUnchanged()")
|
||||
// CHECK-SWIFT-5-NEXT: func normallyUnchangedButChangedInSwift4()
|
||||
// CHECK-SWIFT-4: @available(swift, obsoleted: 3, renamed: "normallyUnchangedButChangedInSwift4()")
|
||||
// CHECK-SWIFT-4-NEXT: func normallyUnchanged()
|
||||
// CHECK-SWIFT-4: func normallyUnchangedButChangedInSwift4()
|
||||
|
||||
|
||||
// CHECK-SWIFT-4: func normallyChanged()
|
||||
// CHECK-SWIFT-4-NEXT: @available(swift, obsoleted: 4, renamed: "normallyChanged()")
|
||||
// CHECK-SWIFT-4-NEXT: func normallyChangedButSpecialInSwift3()
|
||||
// CHECK-SWIFT-4-NEXT: @available(swift, obsoleted: 3, renamed: "normallyChanged()")
|
||||
// CHECK-SWIFT-5: func normallyChanged()
|
||||
// CHECK-SWIFT-5-NEXT: @available(swift, obsoleted: 4.2, renamed: "normallyChanged()")
|
||||
// CHECK-SWIFT-5-NEXT: func normallyChangedButSpecialInSwift4()
|
||||
// CHECK-SWIFT-5-NEXT: @available(swift, obsoleted: 3, renamed: "normallyChanged()")
|
||||
// CHECK-SWIFT-5-NEXT: func normallyChangedOriginal()
|
||||
// CHECK-SWIFT-4: @available(swift, introduced: 4.2, renamed: "normallyChangedButSpecialInSwift4()")
|
||||
// CHECK-SWIFT-4-NEXT: func normallyChanged()
|
||||
// CHECK-SWIFT-4-NEXT: func normallyChangedButSpecialInSwift4()
|
||||
// CHECK-SWIFT-4-NEXT: @available(swift, obsoleted: 3, renamed: "normallyChangedButSpecialInSwift4()")
|
||||
// CHECK-SWIFT-4-NEXT: func normallyChangedOriginal()
|
||||
// CHECK-SWIFT-3: @available(swift, introduced: 4, renamed: "normallyChangedButSpecialInSwift3()")
|
||||
// CHECK-SWIFT-3-NEXT: func normallyChanged()
|
||||
// CHECK-SWIFT-3-NEXT: func normallyChangedButSpecialInSwift3()
|
||||
// CHECK-SWIFT-3-NEXT: @available(swift, obsoleted: 3, renamed: "normallyChangedButSpecialInSwift3()")
|
||||
// CHECK-SWIFT-3-NEXT: func normallyChangedOriginal()
|
||||
|
||||
// CHECK-SWIFT-4: @available(swift, obsoleted: 4, renamed: "NormallyUnchangedWrapper")
|
||||
// CHECK-SWIFT-4-NEXT: typealias NormallyUnchangedButChangedInSwift3Wrapper = NormallyUnchangedWrapper
|
||||
// CHECK-SWIFT-4: struct NormallyUnchangedWrapper {
|
||||
// CHECK-SWIFT-3: typealias NormallyUnchangedButChangedInSwift3Wrapper = NormallyUnchangedWrapper
|
||||
// CHECK-SWIFT-3-NEXT: struct NormallyUnchangedWrapper {
|
||||
// CHECK-SWIFT-5: @available(swift, obsoleted: 4.2, renamed: "NormallyUnchangedWrapper")
|
||||
// CHECK-SWIFT-5-NEXT: typealias NormallyUnchangedButChangedInSwift4Wrapper = NormallyUnchangedWrapper
|
||||
// CHECK-SWIFT-5: struct NormallyUnchangedWrapper {
|
||||
// CHECK-SWIFT-4: typealias NormallyUnchangedButChangedInSwift4Wrapper = NormallyUnchangedWrapper
|
||||
// CHECK-SWIFT-4-NEXT: struct NormallyUnchangedWrapper {
|
||||
|
||||
// CHECK-SWIFT-4: @available(swift, obsoleted: 4, renamed: "NormallyChangedWrapper")
|
||||
// CHECK-SWIFT-4-NEXT: typealias NormallyChangedButSpecialInSwift3Wrapper = NormallyChangedWrapper
|
||||
// CHECK-SWIFT-4: @available(swift, obsoleted: 3, renamed: "NormallyChangedWrapper")
|
||||
// CHECK-SWIFT-4-NEXT: typealias NormallyChangedOriginalWrapper = NormallyChangedWrapper
|
||||
// CHECK-SWIFT-4: struct NormallyChangedWrapper {
|
||||
// CHECK-SWIFT-3: typealias NormallyChangedButSpecialInSwift3Wrapper = NormallyChangedWrapper
|
||||
// CHECK-SWIFT-3-NEXT: @available(swift, obsoleted: 3, renamed: "NormallyChangedButSpecialInSwift3Wrapper")
|
||||
// CHECK-SWIFT-3-NEXT: typealias NormallyChangedOriginalWrapper = NormallyChangedButSpecialInSwift3Wrapper
|
||||
// CHECK-SWIFT-3-NEXT: struct NormallyChangedWrapper {
|
||||
// CHECK-SWIFT-5: @available(swift, obsoleted: 4.2, renamed: "NormallyChangedWrapper")
|
||||
// CHECK-SWIFT-5-NEXT: typealias NormallyChangedButSpecialInSwift4Wrapper = NormallyChangedWrapper
|
||||
// CHECK-SWIFT-5: @available(swift, obsoleted: 3, renamed: "NormallyChangedWrapper")
|
||||
// CHECK-SWIFT-5-NEXT: typealias NormallyChangedOriginalWrapper = NormallyChangedWrapper
|
||||
// CHECK-SWIFT-5: struct NormallyChangedWrapper {
|
||||
// CHECK-SWIFT-4: typealias NormallyChangedButSpecialInSwift4Wrapper = NormallyChangedWrapper
|
||||
// CHECK-SWIFT-4-NEXT: @available(swift, obsoleted: 3, renamed: "NormallyChangedButSpecialInSwift4Wrapper")
|
||||
// CHECK-SWIFT-4-NEXT: typealias NormallyChangedOriginalWrapper = NormallyChangedButSpecialInSwift4Wrapper
|
||||
// CHECK-SWIFT-4-NEXT: struct NormallyChangedWrapper {
|
||||
|
||||
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 5 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-5 %s
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 4 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-4 %s
|
||||
// RUN: not %target-swift-frontend -typecheck -F %S/Inputs/custom-frameworks -swift-version 3 %s 2>&1 | %FileCheck -check-prefix=CHECK-DIAGS -check-prefix=CHECK-DIAGS-3 %s
|
||||
|
||||
// RUN: %target-swift-frontend -emit-silgen -F %S/Inputs/custom-frameworks -swift-version 3 %s -DSILGEN 2>&1 | %FileCheck -check-prefix=CHECK-SILGEN -check-prefix=CHECK-SILGEN-3 %s
|
||||
// RUN: %target-swift-frontend -emit-silgen -F %S/Inputs/custom-frameworks -swift-version 4 %s -DSILGEN 2>&1 | %FileCheck -check-prefix=CHECK-SILGEN -check-prefix=CHECK-SILGEN-4 %s
|
||||
// RUN: %target-swift-frontend -emit-silgen -F %S/Inputs/custom-frameworks -swift-version 5 %s -DSILGEN 2>&1 | %FileCheck -check-prefix=CHECK-SILGEN -check-prefix=CHECK-SILGEN-5 %s
|
||||
|
||||
import APINotesFrameworkTest
|
||||
|
||||
@@ -58,103 +58,103 @@ import APINotesFrameworkTest
|
||||
func testRenamedTopLevelDiags() {
|
||||
var value = 0.0
|
||||
|
||||
// CHECK-DIAGS-4-NOT: versioned.swift:[[@LINE+1]]:
|
||||
// CHECK-DIAGS-5-NOT: versioned.swift:[[@LINE+1]]:
|
||||
accept(&value)
|
||||
// CHECK-DIAGS-3: versioned.swift:[[@LINE-1]]:3: error: 'accept' has been renamed to 'acceptPointer(_:)'
|
||||
// CHECK-DIAGS-3: note: 'accept' was introduced in Swift 4
|
||||
// CHECK-DIAGS-4: versioned.swift:[[@LINE-1]]:3: error: 'accept' has been renamed to 'acceptPointer(_:)'
|
||||
// CHECK-DIAGS-4: note: 'accept' was introduced in Swift 4.2
|
||||
|
||||
// CHECK-DIAGS-3-NOT: versioned.swift:[[@LINE+1]]:
|
||||
// CHECK-DIAGS-4-NOT: versioned.swift:[[@LINE+1]]:
|
||||
acceptPointer(&value)
|
||||
// CHECK-DIAGS-4: versioned.swift:[[@LINE-1]]:3: error: 'acceptPointer' has been renamed to 'accept(_:)'
|
||||
// CHECK-DIAGS-4: note: 'acceptPointer' was obsoleted in Swift 4
|
||||
// CHECK-DIAGS-5: versioned.swift:[[@LINE-1]]:3: error: 'acceptPointer' has been renamed to 'accept(_:)'
|
||||
// CHECK-DIAGS-5: note: 'acceptPointer' was obsoleted in Swift 4.2
|
||||
|
||||
acceptDoublePointer(&value)
|
||||
// CHECK-DIAGS: versioned.swift:[[@LINE-1]]:3: error: 'acceptDoublePointer' has been renamed to
|
||||
// CHECK-DIAGS-4-SAME: 'accept(_:)'
|
||||
// CHECK-DIAGS-3-SAME: 'acceptPointer(_:)'
|
||||
// CHECK-DIAGS-5-SAME: 'accept(_:)'
|
||||
// CHECK-DIAGS-4-SAME: 'acceptPointer(_:)'
|
||||
// CHECK-DIAGS: note: 'acceptDoublePointer' was obsoleted in Swift 3
|
||||
|
||||
oldAcceptDoublePointer(&value)
|
||||
// CHECK-DIAGS: versioned.swift:[[@LINE-1]]:3: error: 'oldAcceptDoublePointer' has been renamed to
|
||||
// CHECK-DIAGS-4-SAME: 'accept(_:)'
|
||||
// CHECK-DIAGS-3-SAME: 'acceptPointer(_:)'
|
||||
// CHECK-DIAGS-5-SAME: 'accept(_:)'
|
||||
// CHECK-DIAGS-4-SAME: 'acceptPointer(_:)'
|
||||
// CHECK-DIAGS: note: 'oldAcceptDoublePointer' has been explicitly marked unavailable here
|
||||
|
||||
_ = SomeCStruct()
|
||||
// CHECK-DIAGS: versioned.swift:[[@LINE-1]]:7: error: 'SomeCStruct' has been renamed to
|
||||
// CHECK-DIAGS-4-SAME: 'VeryImportantCStruct'
|
||||
// CHECK-DIAGS-3-SAME: 'ImportantCStruct'
|
||||
// CHECK-DIAGS-5-SAME: 'VeryImportantCStruct'
|
||||
// CHECK-DIAGS-4-SAME: 'ImportantCStruct'
|
||||
// CHECK-DIAGS: note: 'SomeCStruct' was obsoleted in Swift 3
|
||||
|
||||
// CHECK-DIAGS-3-NOT: versioned.swift:[[@LINE+1]]:
|
||||
// CHECK-DIAGS-4-NOT: versioned.swift:[[@LINE+1]]:
|
||||
_ = ImportantCStruct()
|
||||
// CHECK-DIAGS-4: versioned.swift:[[@LINE-1]]:7: error: 'ImportantCStruct' has been renamed to 'VeryImportantCStruct'
|
||||
// CHECK-DIAGS-4: note: 'ImportantCStruct' was obsoleted in Swift 4
|
||||
// CHECK-DIAGS-5: versioned.swift:[[@LINE-1]]:7: error: 'ImportantCStruct' has been renamed to 'VeryImportantCStruct'
|
||||
// CHECK-DIAGS-5: note: 'ImportantCStruct' was obsoleted in Swift 4.2
|
||||
|
||||
// CHECK-DIAGS-5-NOT: versioned.swift:[[@LINE+1]]:
|
||||
_ = VeryImportantCStruct()
|
||||
// CHECK-DIAGS-4-NOTE: versioned.swift:[[@LINE-1]]:
|
||||
|
||||
// CHECK-DIAGS-4-NOT: versioned.swift:[[@LINE+1]]:
|
||||
_ = VeryImportantCStruct()
|
||||
// CHECK-DIAGS-3-NOTE: versioned.swift:[[@LINE-1]]:
|
||||
let s = InnerInSwift5()
|
||||
// CHECK-DIAGS-5: versioned.swift:[[@LINE-1]]:11: error: 'InnerInSwift5' has been renamed to 'Outer.Inner'
|
||||
// CHECK-DIAGS-5: note: 'InnerInSwift5' was obsoleted in Swift 4.2
|
||||
_ = s.value
|
||||
// CHECK-DIAGS-5-NOT: versioned.swift:[[@LINE-1]]:
|
||||
|
||||
// CHECK-DIAGS-3-NOT: versioned.swift:[[@LINE+1]]:
|
||||
let s = InnerInSwift4()
|
||||
// CHECK-DIAGS-4: versioned.swift:[[@LINE-1]]:11: error: 'InnerInSwift4' has been renamed to 'Outer.Inner'
|
||||
// CHECK-DIAGS-4: note: 'InnerInSwift4' was obsoleted in Swift 4
|
||||
// CHECK-DIAGS-5-NOT: versioned.swift:[[@LINE+1]]:
|
||||
let t = Outer.Inner()
|
||||
// CHECK-DIAGS-4-NOT: versioned.swift:[[@LINE-1]]:
|
||||
_ = s.value
|
||||
// CHECK-DIAGS-4-NOT: versioned.swift:[[@LINE-1]]:
|
||||
|
||||
// CHECK-DIAGS-4-NOT: versioned.swift:[[@LINE+1]]:
|
||||
let t = Outer.Inner()
|
||||
// CHECK-DIAGS-3-NOT: versioned.swift:[[@LINE-1]]:
|
||||
_ = s.value
|
||||
// CHECK-DIAGS-3-NOT: versioned.swift:[[@LINE-1]]:
|
||||
}
|
||||
|
||||
func testAKA(structValue: ImportantCStruct, aliasValue: ImportantCAlias) {
|
||||
let _: Int = structValue
|
||||
// CHECK-DIAGS-3: versioned.swift:[[@LINE-1]]:16: error: cannot convert value of type 'ImportantCStruct' to specified type 'Int'
|
||||
// CHECK-DIAGS-4: versioned.swift:[[@LINE-1]]:16: error: cannot convert value of type 'ImportantCStruct' to specified type 'Int'
|
||||
|
||||
let _: Int = aliasValue
|
||||
// CHECK-DIAGS-3: versioned.swift:[[@LINE-1]]:16: error: cannot convert value of type 'ImportantCAlias' (aka 'Int32') to specified type 'Int'
|
||||
// CHECK-DIAGS-4: versioned.swift:[[@LINE-1]]:16: error: cannot convert value of type 'ImportantCAlias' (aka 'Int32') to specified type 'Int'
|
||||
|
||||
let optStructValue: Optional = structValue
|
||||
let _: Int = optStructValue
|
||||
// CHECK-DIAGS-3: versioned.swift:[[@LINE-1]]:16: error: cannot convert value of type 'ImportantCStruct?' to specified type 'Int'
|
||||
// CHECK-DIAGS-4: versioned.swift:[[@LINE-1]]:16: error: cannot convert value of type 'ImportantCStruct?' to specified type 'Int'
|
||||
|
||||
let optAliasValue: Optional = aliasValue
|
||||
let _: Int = optAliasValue
|
||||
// CHECK-DIAGS-3: versioned.swift:[[@LINE-1]]:16: error: cannot convert value of type 'ImportantCAlias?' (aka 'Optional<Int32>') to specified type 'Int'
|
||||
// CHECK-DIAGS-4: versioned.swift:[[@LINE-1]]:16: error: cannot convert value of type 'ImportantCAlias?' (aka 'Optional<Int32>') to specified type 'Int'
|
||||
}
|
||||
|
||||
func testRenamedEnumConstants() {
|
||||
_ = AnonymousEnumValue // okay
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:7: error: 'AnonymousEnumRenamed' has been renamed to 'AnonymousEnumRenamedSwiftUnversioned'
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:7: error: 'AnonymousEnumRenamed' has been renamed to 'AnonymousEnumRenamedSwiftUnversioned'
|
||||
_ = AnonymousEnumRenamed
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:7: error: 'AnonymousEnumRenamed' has been renamed to 'AnonymousEnumRenamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:7: error: 'AnonymousEnumRenamed' has been renamed to 'AnonymousEnumRenamedSwift4'
|
||||
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:7:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE+1]]:7:
|
||||
_ = AnonymousEnumRenamedSwiftUnversioned
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:7: error: 'AnonymousEnumRenamedSwiftUnversioned' has been renamed to 'AnonymousEnumRenamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:7: error: 'AnonymousEnumRenamedSwiftUnversioned' has been renamed to 'AnonymousEnumRenamedSwift4'
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:7: error: 'AnonymousEnumRenamedSwift3' has been renamed to 'AnonymousEnumRenamedSwiftUnversioned'
|
||||
_ = AnonymousEnumRenamedSwift3
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE-1]]:7:
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:7: error: 'AnonymousEnumRenamedSwift4' has been renamed to 'AnonymousEnumRenamedSwiftUnversioned'
|
||||
_ = AnonymousEnumRenamedSwift4
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:7:
|
||||
}
|
||||
|
||||
func testRenamedUnknownEnum() {
|
||||
_ = UnknownEnumValue // okay
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:7: error: 'UnknownEnumRenamed' has been renamed to 'UnknownEnumRenamedSwiftUnversioned'
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:7: error: 'UnknownEnumRenamed' has been renamed to 'UnknownEnumRenamedSwiftUnversioned'
|
||||
_ = UnknownEnumRenamed
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:7: error: 'UnknownEnumRenamed' has been renamed to 'UnknownEnumRenamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:7: error: 'UnknownEnumRenamed' has been renamed to 'UnknownEnumRenamedSwift4'
|
||||
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:7:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE+1]]:7:
|
||||
_ = UnknownEnumRenamedSwiftUnversioned
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:7: error: 'UnknownEnumRenamedSwiftUnversioned' has been renamed to 'UnknownEnumRenamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:7: error: 'UnknownEnumRenamedSwiftUnversioned' has been renamed to 'UnknownEnumRenamedSwift4'
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:7: error: 'UnknownEnumRenamedSwift3' has been renamed to 'UnknownEnumRenamedSwiftUnversioned'
|
||||
_ = UnknownEnumRenamedSwift3
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE-1]]:7:
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:7: error: 'UnknownEnumRenamedSwift4' has been renamed to 'UnknownEnumRenamedSwiftUnversioned'
|
||||
_ = UnknownEnumRenamedSwift4
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:7:
|
||||
}
|
||||
|
||||
func testRenamedTrueEnum() {
|
||||
@@ -175,20 +175,20 @@ func testRenamedTrueEnum() {
|
||||
// CHECK-DIAGS: [[@LINE+1]]:7: error: type 'TrueEnum' has no member 'TrueEnumRenamed'
|
||||
_ = TrueEnum.TrueEnumRenamed
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:16: error: 'Renamed' has been renamed to 'renamedSwiftUnversioned'
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:16: error: 'Renamed' has been renamed to 'renamedSwiftUnversioned'
|
||||
_ = TrueEnum.Renamed
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:16: error: 'Renamed' has been renamed to 'renamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:16: error: 'Renamed' has been renamed to 'renamedSwift4'
|
||||
|
||||
// CHECK-DIAGS: [[@LINE+1]]:7: error: type 'TrueEnum' has no member 'renamed'
|
||||
_ = TrueEnum.renamed
|
||||
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:16:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE+1]]:16:
|
||||
_ = TrueEnum.renamedSwiftUnversioned
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:16: error: 'renamedSwiftUnversioned' has been renamed to 'renamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:16: error: 'renamedSwiftUnversioned' has been renamed to 'renamedSwift4'
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:16: error: 'renamedSwift3' has been renamed to 'renamedSwiftUnversioned'
|
||||
_ = TrueEnum.renamedSwift3
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE-1]]:16:
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:16: error: 'renamedSwift4' has been renamed to 'renamedSwiftUnversioned'
|
||||
_ = TrueEnum.renamedSwift4
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:16:
|
||||
|
||||
// CHECK-DIAGS: [[@LINE+1]]:7: error: use of unresolved identifier 'TrueEnumAliasRenamed'
|
||||
_ = TrueEnumAliasRenamed
|
||||
@@ -196,20 +196,20 @@ func testRenamedTrueEnum() {
|
||||
// CHECK-DIAGS: [[@LINE+1]]:7: error: type 'TrueEnum' has no member 'TrueEnumAliasRenamed'
|
||||
_ = TrueEnum.TrueEnumAliasRenamed
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:16: error: 'AliasRenamed' has been renamed to 'aliasRenamedSwiftUnversioned'
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:16: error: 'AliasRenamed' has been renamed to 'aliasRenamedSwiftUnversioned'
|
||||
_ = TrueEnum.AliasRenamed
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:16: error: 'AliasRenamed' has been renamed to 'aliasRenamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:16: error: 'AliasRenamed' has been renamed to 'aliasRenamedSwift4'
|
||||
|
||||
// CHECK-DIAGS: [[@LINE+1]]:7: error: type 'TrueEnum' has no member 'aliasRenamed'
|
||||
_ = TrueEnum.aliasRenamed
|
||||
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:16:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE+1]]:16:
|
||||
_ = TrueEnum.aliasRenamedSwiftUnversioned
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:16: error: 'aliasRenamedSwiftUnversioned' has been renamed to 'aliasRenamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:16: error: 'aliasRenamedSwiftUnversioned' has been renamed to 'aliasRenamedSwift4'
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:16: error: 'aliasRenamedSwift3' has been renamed to 'aliasRenamedSwiftUnversioned'
|
||||
_ = TrueEnum.aliasRenamedSwift3
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE-1]]:16:
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:16: error: 'aliasRenamedSwift4' has been renamed to 'aliasRenamedSwiftUnversioned'
|
||||
_ = TrueEnum.aliasRenamedSwift4
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:16:
|
||||
}
|
||||
|
||||
func testRenamedOptionyEnum() {
|
||||
@@ -230,46 +230,46 @@ func testRenamedOptionyEnum() {
|
||||
// CHECK-DIAGS: [[@LINE+1]]:7: error: type 'OptionyEnum' has no member 'OptionyEnumRenamed'
|
||||
_ = OptionyEnum.OptionyEnumRenamed
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:19: error: 'Renamed' has been renamed to 'renamedSwiftUnversioned'
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:19: error: 'Renamed' has been renamed to 'renamedSwiftUnversioned'
|
||||
_ = OptionyEnum.Renamed
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:19: error: 'Renamed' has been renamed to 'renamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:19: error: 'Renamed' has been renamed to 'renamedSwift4'
|
||||
|
||||
// CHECK-DIAGS: [[@LINE+1]]:7: error: type 'OptionyEnum' has no member 'renamed'
|
||||
_ = OptionyEnum.renamed
|
||||
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE+1]]:19:
|
||||
// CHECK-DIAGS-5-NOT: :[[@LINE+1]]:19:
|
||||
_ = OptionyEnum.renamedSwiftUnversioned
|
||||
// CHECK-DIAGS-3: [[@LINE-1]]:19: error: 'renamedSwiftUnversioned' has been renamed to 'renamedSwift3'
|
||||
// CHECK-DIAGS-4: [[@LINE-1]]:19: error: 'renamedSwiftUnversioned' has been renamed to 'renamedSwift4'
|
||||
|
||||
// CHECK-DIAGS-4: [[@LINE+1]]:19: error: 'renamedSwift3' has been renamed to 'renamedSwiftUnversioned'
|
||||
_ = OptionyEnum.renamedSwift3
|
||||
// CHECK-DIAGS-3-NOT: :[[@LINE-1]]:19:
|
||||
// CHECK-DIAGS-5: [[@LINE+1]]:19: error: 'renamedSwift4' has been renamed to 'renamedSwiftUnversioned'
|
||||
_ = OptionyEnum.renamedSwift4
|
||||
// CHECK-DIAGS-4-NOT: :[[@LINE-1]]:19:
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if !swift(>=4)
|
||||
#if !swift(>=5)
|
||||
|
||||
func useSwift3Name(_: ImportantCStruct) {}
|
||||
// CHECK-SILGEN-3: sil hidden @$S9versioned13useSwift3NameyySo11SomeCStructVF
|
||||
func useSwift4Name(_: ImportantCStruct) {}
|
||||
// CHECK-SILGEN-4: sil hidden @$S9versioned13useSwift4NameyySo11SomeCStructVF
|
||||
|
||||
func useNewlyNested(_: InnerInSwift4) {}
|
||||
// CHECK-SILGEN-3: sil hidden @$S9versioned14useNewlyNestedyySo13InnerInSwift4VF
|
||||
func useNewlyNested(_: InnerInSwift5) {}
|
||||
// CHECK-SILGEN-4: sil hidden @$S9versioned14useNewlyNestedyySo13InnerInSwift5VF
|
||||
#endif
|
||||
|
||||
func useSwift4Name(_: VeryImportantCStruct) {}
|
||||
// CHECK-SILGEN: sil hidden @$S9versioned13useSwift4NameyySo11SomeCStructVF
|
||||
func useSwift5Name(_: VeryImportantCStruct) {}
|
||||
// CHECK-SILGEN: sil hidden @$S9versioned13useSwift5NameyySo11SomeCStructVF
|
||||
|
||||
|
||||
|
||||
#if swift(>=4)
|
||||
func testSwiftWrapperInSwift4() {
|
||||
#if swift(>=5)
|
||||
func testSwiftWrapperInSwift5() {
|
||||
_ = EnclosingStruct.Identifier.member
|
||||
let _: EnclosingStruct.Identifier = .member
|
||||
}
|
||||
|
||||
#else
|
||||
func testSwiftWrapperInSwift3() {
|
||||
func testSwiftWrapperInSwift4() {
|
||||
_ = EnclosingStruct.Identifier.member
|
||||
let _: EnclosingStruct.Identifier = .member
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user