mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
The mangled name of the type is identical to those for debugger. These mangled names allow us to reconstruct the type from AST and generate interface specifically for that type. Related rdar://27306890
72 lines
3.3 KiB
Swift
72 lines
3.3 KiB
Swift
import Foundation
|
|
|
|
var x = NSUTF8StringEncoding
|
|
|
|
var d : AnyIterator<Int>
|
|
|
|
func foo1(_ a : inout [Int]) {
|
|
a = a.sorted()
|
|
a.append(1)
|
|
}
|
|
|
|
struct S1 {}
|
|
|
|
func foo2(_ a : inout [S1]) {
|
|
a = a.sorted(isOrderedBefore: { (a, b) -> Bool in
|
|
return false
|
|
})
|
|
a.append(S1())
|
|
}
|
|
|
|
import Swift
|
|
func foo3(a: Float, b: Bool) {}
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=3:18 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-OVERLAY %s
|
|
// CHECK-OVERLAY: source.lang.swift.ref.var.global
|
|
// CHECK-OVERLAY-NEXT: NSUTF8StringEncoding
|
|
// CHECK-OVERLAY-NEXT: s:v10Foundation20NSUTF8StringEncodingSu
|
|
// CHECK-OVERLAY-NEXT: UInt
|
|
// CHECK-OVERLAY-NEXT: _TtSu
|
|
// CHECK-OVERLAY-NEXT: <Declaration>public let NSUTF8StringEncoding: <Type usr="s:Su">UInt</Type></Declaration>
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=5:13 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-ITERATOR %s
|
|
// CHECK-ITERATOR-NOT: _AnyIteratorBase
|
|
// CHECK-ITERATOR: <Group>Collection/Type-erased</Group>
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=8:10 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-REPLACEMENT1 %s
|
|
// CHECK-REPLACEMENT1: <Group>Collection/Array</Group>
|
|
// CHECK-REPLACEMENT1: <Declaration>func sorted() -> [<Type usr="s:Si">Int</Type>]</Declaration>
|
|
// CHECK-REPLACEMENT1: RELATED BEGIN
|
|
// CHECK-REPLACEMENT1: sorted(isOrderedBefore: @noescape (Int, Int) -> Bool) -> [Int]</RelatedName>
|
|
// CHECK-REPLACEMENT1: sorted() -> [Int]</RelatedName>
|
|
// CHECK-REPLACEMENT1: sorted(isOrderedBefore: @noescape (Int, Int) -> Bool) -> [Int]</RelatedName>
|
|
// CHECK-REPLACEMENT1: RELATED END
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=9:8 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-REPLACEMENT2 %s
|
|
// CHECK-REPLACEMENT2: <Group>Collection/Array</Group>
|
|
// CHECK-REPLACEMENT2: <Declaration>mutating func append(_ newElement: <Type usr="s:Si">Int</Type>)</Declaration>
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=15:10 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-REPLACEMENT3 %s
|
|
// CHECK-REPLACEMENT3: <Group>Collection/Array</Group>
|
|
// CHECK-REPLACEMENT3: func sorted(isOrderedBefore: @noescape (<Type usr="s:V13cursor_stdlib2S1">S1</Type>
|
|
// CHECK-REPLACEMENT3: sorted() -> [S1]</RelatedName>
|
|
// CHECK-REPLACEMENT3: sorted() -> [S1]</RelatedName>
|
|
// CHECK-REPLACEMENT3: sorted(isOrderedBefore: @noescape (S1, S1) -> Bool) -> [S1]</RelatedName>
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=18:8 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-REPLACEMENT4 %s
|
|
// CHECK-REPLACEMENT4: <Group>Collection/Array</Group>
|
|
// CHECK-REPLACEMENT4: <Declaration>mutating func append(_ newElement: <Type usr="s:V13cursor_stdlib2S1">S1</Type>)</Declaration>
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=21:10 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-MODULE-GROUP1 %s
|
|
// CHECK-MODULE-GROUP1: MODULE GROUPS BEGIN
|
|
// CHECK-MODULE-GROUP1-DAG: Math
|
|
// CHECK-MODULE-GROUP1-DAG: Collection
|
|
// CHECK-MODULE-GROUP1-DAG: Collection/Array
|
|
// CHECK-MODULE-GROUP1: MODULE GROUPS END
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=22:17 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-FLOAT1 %s
|
|
// CHECK-FLOAT1: s:Sf
|
|
|
|
// RUN: %sourcekitd-test -req=cursor -pos=22:25 %s -- %s %mcp_opt %clang-importer-sdk | FileCheck -check-prefix=CHECK-BOOL1 %s
|
|
// CHECK-BOOL1: s:Sb
|