mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Add 'key.reusingastcontext: 1' to the response instead. Using diagnostics can be a noise to indexing log clients. rdar://problem/61367416
165 lines
4.3 KiB
Swift
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
|