1*5cec2aeaSArgyrios Kyrtzidis class MyCls { 2*5cec2aeaSArgyrios Kyrtzidis void in_foo() { 3*5cec2aeaSArgyrios Kyrtzidis vec.x = 0; 4*5cec2aeaSArgyrios Kyrtzidis } 5*5cec2aeaSArgyrios Kyrtzidis void out_foo(); 6*5cec2aeaSArgyrios Kyrtzidis 7*5cec2aeaSArgyrios Kyrtzidis struct Vec { int x, y; }; 8*5cec2aeaSArgyrios Kyrtzidis Vec vec; 9*5cec2aeaSArgyrios Kyrtzidis }; 10*5cec2aeaSArgyrios Kyrtzidis 11*5cec2aeaSArgyrios Kyrtzidis void MyCls::out_foo() { 12*5cec2aeaSArgyrios Kyrtzidis vec.x = 0; 13*5cec2aeaSArgyrios Kyrtzidis } 14*5cec2aeaSArgyrios Kyrtzidis 15*5cec2aeaSArgyrios Kyrtzidis // RUN: c-index-test -code-completion-at=%s:3:9 %s | FileCheck %s 16*5cec2aeaSArgyrios Kyrtzidis // RUN: c-index-test -code-completion-at=%s:12:7 %s | FileCheck %s 17*5cec2aeaSArgyrios Kyrtzidis // CHECK: CXXMethod:{ResultType MyCls::Vec &}{TypedText operator=}{LeftParen (}{Placeholder const MyCls::Vec &}{RightParen )} (34) 18*5cec2aeaSArgyrios Kyrtzidis // CHECK-NEXT: StructDecl:{TypedText Vec}{Text ::} (75) 19*5cec2aeaSArgyrios Kyrtzidis // CHECK-NEXT: FieldDecl:{ResultType int}{TypedText x} (35) 20*5cec2aeaSArgyrios Kyrtzidis // CHECK-NEXT: FieldDecl:{ResultType int}{TypedText y} (35) 21*5cec2aeaSArgyrios Kyrtzidis // CHECK-NEXT: CXXDestructor:{ResultType void}{TypedText ~Vec}{LeftParen (}{RightParen )} (34) 22*5cec2aeaSArgyrios Kyrtzidis // CHECK-NEXT: Completion contexts: 23*5cec2aeaSArgyrios Kyrtzidis // CHECK-NEXT: Dot member access 24*5cec2aeaSArgyrios Kyrtzidis // CHECK-NEXT: Container Kind: StructDecl 25