mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
55 lines
1.3 KiB
Swift
55 lines
1.3 KiB
Swift
struct MyStruct {
|
|
init() {}
|
|
var value: Int = 1
|
|
}
|
|
|
|
func foo(arg: MyStruct) {
|
|
#if true
|
|
_ = arg./*8:11*/
|
|
#else
|
|
_ = arg./*10:11*/
|
|
#endif
|
|
}
|
|
|
|
struct TestStruct {
|
|
#if true
|
|
func testActive(arg: MyStruct) {
|
|
_ = arg./*17:13*/
|
|
}
|
|
#else
|
|
func testInactive(arg: MyStruct) {
|
|
_ = arg./*21:13*/
|
|
}
|
|
#endif
|
|
}
|
|
|
|
// Test that (1) fast completion happens even in inactive #if blocks, and
|
|
// (2) #if in toplevel decls invalidate cached ASTContext
|
|
|
|
// RUN: %sourcekitd-test \
|
|
// RUN: -req=complete -pos=8:11 %s -- %s -parse-as-library == \
|
|
// RUN: -req=complete -pos=10:11 %s -- %s -parse-as-library == \
|
|
// RUN: -req=complete -pos=17:13 %s -- %s -parse-as-library == \
|
|
// RUN: -req=complete -pos=21:13 %s -- %s -parse-as-library \
|
|
// RUN: | %FileCheck %s --check-prefix=RESULT
|
|
|
|
// RESULT-LABEL: key.results: [
|
|
// RESULT-DAG: key.description: "value"
|
|
// RESULT: ]
|
|
// RESULT-NOT: key.reusingastcontext: 1
|
|
|
|
// RESULT-LABEL: key.results: [
|
|
// RESULT-DAG: key.description: "value"
|
|
// RESULT: ]
|
|
// RESULT: key.reusingastcontext: 1
|
|
|
|
// RESULT-LABEL: key.results: [
|
|
// RESULT-DAG: key.description: "value"
|
|
// RESULT: ]
|
|
// RESULT: key.reusingastcontext: 1
|
|
|
|
// RESULT-LABEL: key.results: [
|
|
// RESULT-DAG: key.description: "value"
|
|
// RESULT: ]
|
|
// RESULT-NOT: key.reusingastcontext: 1
|