mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
If a 'nil' literal occurs in a swift-case statment, it gets replaced by a reference to 'Optional.none' in the AST. We want to continue highlighting 'nil' as a keyword and not as an enum element. Resolves apple/sourcekit-lsp#599 rdar://97961865
32 lines
796 B
Swift
32 lines
796 B
Swift
func foo(o: Int?) {
|
|
switch o {
|
|
case nil:
|
|
break
|
|
case .none:
|
|
break
|
|
}
|
|
}
|
|
|
|
|
|
// RUN: %sourcekitd-test -req=open %s -- %s == -req=print-annotations %s -- %s | %FileCheck %s
|
|
|
|
// CHECK: [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: key.kind: source.lang.swift.ref.struct,
|
|
// CHECK-NEXT: key.offset: 12,
|
|
// CHECK-NEXT: key.length: 3,
|
|
// CHECK-NEXT: key.is_system: 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: key.kind: source.lang.swift.ref.var.local,
|
|
// CHECK-NEXT: key.offset: 29,
|
|
// CHECK-NEXT: key.length: 1
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: key.kind: source.lang.swift.ref.enumelement,
|
|
// CHECK-NEXT: key.offset: 63,
|
|
// CHECK-NEXT: key.length: 4,
|
|
// CHECK-NEXT: key.is_system: 1
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|