Files
swift-mirror/test/SourceKit/CursorInfo/cursor_stdlib.swift
Ben Langmuir 503887c5f2 [SourceKit] Split SourceDocInfo tests into CursorInfo and RelatedIdents subdirectories
Unless you're familiar with the way the swift source code is organized,
it's not clear what "SourceDocInfo" means, or how it is different from
DocSupport, etc.  Move the tests into directories that are named based
on their request (note: we already had one test under CursorInfo, which
just made things even more confusing).
2016-03-17 16:31:46 -07:00

55 lines
2.7 KiB
Swift

import Foundation
var x = NSUTF8StringEncoding
var d : AnyIterator<Int>
func foo1(var a : [Int]) {
a = a.sorted()
a.append(1)
}
struct S1 {}
func foo2(var a : [S1]) {
a = a.sorted(isOrderedBefore: { (a, b) -> Bool in
return false
})
a.append(S1())
}
// 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: <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>@warn_unused_result(mutable_variant: &quot;sort&quot;) func sorted() -&gt; [<Type usr="s:Si">Int</Type>]</Declaration>
// CHECK-REPLACEMENT1: RELATED BEGIN
// CHECK-REPLACEMENT1: sorted(@noescape isOrderedBefore _: @noescape (Int, Int) -&gt; Bool) -&gt; [Int]</RelatedName>
// CHECK-REPLACEMENT1: sorted() -&gt; [Int]</RelatedName>
// CHECK-REPLACEMENT1: sorted(@noescape isOrderedBefore _: @noescape (Int, Int) -&gt; Bool) -&gt; [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(@noescape isOrderedBefore isOrderedBefore: @noescape (<Type usr="s:V13cursor_stdlib2S1">S1</Type>
// CHECK-REPLACEMENT3: sorted() -&gt; [S1]</RelatedName>
// CHECK-REPLACEMENT3: sorted() -&gt; [S1]</RelatedName>
// CHECK-REPLACEMENT3: sorted(@noescape isOrderedBefore _: @noescape (S1, S1) -&gt; Bool) -&gt; [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>