Files
swift-mirror/test/SourceKit/CodeComplete/complete_sequence_accessor.swift
Rintaro Ishizaki 4870d1c017 [SourceKit] Don't use diagnostics to indicate fast-completion
Add 'key.reusingastcontext: 1' to the response instead.
Using diagnostics can be a noise to indexing log clients.

rdar://problem/61367416
2020-04-07 16:26:00 -07:00

165 lines
4.3 KiB
Swift

class Foo {
var x: Int = 0
var y: Int = 0
func fooMethod() {}
}
struct Bar {
var a: Int = 0
var b: Int = 0
func barMethod() {}
}
var globalValImplicit: Foo {
Bar().
}
var globalValGetSet: Foo {
get { Foo(). }
set { Bar(). }
}
enum S {
var foo: Foo
var bar: Bar
var propertyImplicit: Foo {
foo.
}
var propertyGetSet: Foo {
get { bar. }
set { foo. }
}
subscript(idx: Foo) -> Foo {
idx.
}
subscript(idx: Bar) -> Foo {
get { idx. }
set { idx. }
}
}
// Enabled.
// RUN: %sourcekitd-test \
// RUN: -req=complete -pos=12:9 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=15:15 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=16:15 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=23:9 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=26:15 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=27:15 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=30:9 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=33:15 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=34:15 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=12:1 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=23:1 %s -- %s -parse-as-library == \
// RUN: -req=complete -pos=16:1 %s -- %s -parse-as-library > %t.response
// RUN: %FileCheck --check-prefix=RESULT %s < %t.response
// globalValImplicit
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "barMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "a"
// RESULT-DAG: key.name: "b"
// RESULT: ]
// RESULT-NOT: key.reusingastcontext: 1
// globalValGetSet(get)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "fooMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "x"
// RESULT-DAG: key.name: "y"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// globalValGetSet(set)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "barMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "a"
// RESULT-DAG: key.name: "b"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// propertyImplicit
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "fooMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "x"
// RESULT-DAG: key.name: "y"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// propertyGetSet(get)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "barMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "a"
// RESULT-DAG: key.name: "b"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// propertyGetSet(set)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "fooMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "x"
// RESULT-DAG: key.name: "y"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// subscript(implicit getter)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "fooMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "x"
// RESULT-DAG: key.name: "y"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// subscript(get)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "barMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "a"
// RESULT-DAG: key.name: "b"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// subscript(set)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.name: "barMethod()"
// RESULT-DAG: key.name: "self"
// RESULT-DAG: key.name: "a"
// RESULT-DAG: key.name: "b"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// accessor top (global var)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.description: "get"
// RESULT-DAG: key.description: "set"
// RESULT-DAG: key.description: "willSet"
// RESULT-DAG: key.description: "didSet"
// RESULT-DAG: key.description: "Foo"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// accessor top (property)
// RESULT-LABEL: key.results: [
// RESULT-DAG: key.description: "get"
// RESULT-DAG: key.description: "set"
// RESULT-DAG: key.description: "willSet"
// RESULT-DAG: key.description: "didSet"
// RESULT-DAG: key.description: "Foo"
// RESULT: ]
// RESULT: key.reusingastcontext: 1
// accessor second (global var)
// RESULT-LABEL: key.results: [
// RESULT-NOT: key.description: "Foo"
// RESULT-DAG: key.description: "get"
// RESULT-DAG: key.description: "set"
// RESULT-DAG: key.description: "willSet"
// RESULT-DAG: key.description: "didSet"
// RESULT: ]
// RESULT-NOT: key.reusingastcontext: 1