| class TestChain { |
| class Child { |
| var value: Struct1? |
| } |
| class Struct1 { |
| var value: Struct2 |
| } |
| class Struct2 { |
| var prop1: Int |
| var prop2: Int |
| } |
| |
| var child: Child! |
| |
| func foo() { |
| let _ = child.value?.value. |
| } |
| } |
| |
| // rdar://problem/58098222 |
| |
| // RUN: %sourcekitd-test \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s == \ |
| // RUN: -req=complete -pos=16:32 %s -async -- %s | %FileCheck %s |
| |
| // CHECK-NOT: key.name: "prop1" |
| // CHECK-NOT: key.name: "prop2" |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK: key.name: "prop1", |
| // CHECK: key.name: "prop2", |
| // CHECK-NOT: key.name: "prop1" |
| // CHECK-NOT: key.name: "prop2" |