func testGenerics(x: T) { } /// Doc Comment... func testGenericsWithComment(x: T) { } func someFunc () -> A { fatalError() } // rdar://problem/36871908 class MyType { let test: Bool = false let items: [Int] = [] func myMethod() { if test {} for i in items {} } } // rdar://76750555 public protocol IP { init(networkBytes: Int) } public struct HostRecord { func foo() { let ipType = IPType(networkBytes: 42) } } public protocol Proto { associatedtype Assoc } // RUN: %sourcekitd-test -req=cursor -pos=1:10 %s -- %s | %FileCheck -check-prefix=CHECK1 %s // CHECK1: func testGenerics<T>(x: T) // RUN: %sourcekitd-test -req=cursor -pos=5:10 %s -- %s | %FileCheck -check-prefix=CHECK2 %s // CHECK2: func testGenericsWithComment<T>(x: T) // RUN: %sourcekitd-test -req=cursor -pos=8:16 %s -- %s | %FileCheck -check-prefix=CHECK3 %s // CHECK3: source.lang.swift.decl.generic_type_param // CHECK3: A // RUN: %sourcekitd-test -req=cursor -pos=17:8 %s -- %s | %FileCheck -check-prefix=CHECK4 %s // CHECK4: source.lang.swift.ref.var.instance // CHECK4: let test: Bool // RUN: %sourcekitd-test -req=cursor -pos=18:14 %s -- %s | %FileCheck -check-prefix=CHECK5 %s // CHECK5: source.lang.swift.ref.var.instance // CHECK5: let items: [Int] // RUN: %sourcekitd-test -req=cursor -pos=29:22 %s -- %s | %FileCheck -check-prefix=CHECK_IP_TYPE %s // CHECK_IP_TYPE: source.lang.swift.ref.generic_type_param // CHECK_IP_TYPE: IPType : IP // RUN: %sourcekitd-test -req=cursor -cursor-action -pos=33:23 %s -- %s | %FileCheck --check-prefixes=CHECK_ASSOC_COMMON,CHECK_ASSOC_PRIMARY %s // RUN: %sourcekitd-test -req=cursor -cursor-action -pos=34:18 %s -- %s | %FileCheck --check-prefixes=CHECK_ASSOC_COMMON,CHECK_ASSOC_DECL %s // CHECK_ASSOC_PRIMARY: source.lang.swift.ref.associatedtype // CHECK_ASSOC_DECL: source.lang.swift.decl.associatedtype // CHECK_ASSOC_COMMON: Assoc // CHECK_ASSOC_COMMON: Self.Assoc.Type // CHECK_ASSOC_COMMON: associatedtype Assoc // CHECK_ASSOC_COMMON: associatedtype Assoc // CHECK_ASSOC_COMMON: ACTIONS BEGIN // CHECK_ASSOC_COMMON-NEXT: source.refactoring.kind.rename.global // CHECK_ASSOC_COMMON-NEXT: Global Rename // CHECK_ASSOC_COMMON-NEXT: ACTIONS END