Home | History | Annotate | Download | only in Index
      1 namespace {
      2 class MyCls {
      3   void in_foo() {
      4     vec.x = 0;
      5   }
      6   void out_foo();
      7 
      8   struct Vec { int x, y; };
      9   Vec vec;
     10 };
     11 
     12 void MyCls::out_foo() {
     13   vec.x = 0;
     14 }
     15 
     16 class OtherClass : public MyCls {
     17 public:
     18   OtherClass(const OtherClass &other) : MyCls(other), value(value) { }
     19 
     20 private:
     21   int value;
     22   MyCls *object;
     23 };
     24 }
     25 
     26 // RUN: c-index-test -code-completion-at=%s:4:9 %s | FileCheck %s
     27 // RUN: c-index-test -code-completion-at=%s:13:7 %s | FileCheck %s
     28 // CHECK:      CXXMethod:{ResultType MyCls::Vec &}{TypedText operator=}{LeftParen (}{Placeholder const MyCls::Vec &}{RightParen )} (34)
     29 // CHECK-NEXT: StructDecl:{TypedText Vec}{Text ::} (75)
     30 // CHECK-NEXT: FieldDecl:{ResultType int}{TypedText x} (35)
     31 // CHECK-NEXT: FieldDecl:{ResultType int}{TypedText y} (35)
     32 // CHECK-NEXT: CXXDestructor:{ResultType void}{TypedText ~Vec}{LeftParen (}{RightParen )} (34)
     33 // CHECK-NEXT: Completion contexts:
     34 // CHECK-NEXT: Dot member access
     35 // CHECK-NEXT: Container Kind: StructDecl
     36 
     37 // RUN: c-index-test -code-completion-at=%s:18:41 %s | FileCheck -check-prefix=CHECK-CTOR-INIT %s
     38 // CHECK-CTOR-INIT: NotImplemented:{TypedText MyCls}{LeftParen (}{Placeholder args}{RightParen )} (7)
     39 // CHECK-CTOR-INIT: MemberRef:{TypedText object}{LeftParen (}{Placeholder args}{RightParen )} (35)
     40 // CHECK-CTOR-INIT: MemberRef:{TypedText value}{LeftParen (}{Placeholder args}{RightParen )} (35)
     41 // RUN: c-index-test -code-completion-at=%s:18:55 %s | FileCheck -check-prefix=CHECK-CTOR-INIT-2 %s
     42 // CHECK-CTOR-INIT-2-NOT: NotImplemented:{TypedText MyCls}{LeftParen (}{Placeholder args}{RightParen )}
     43 // CHECK-CTOR-INIT-2: MemberRef:{TypedText object}{LeftParen (}{Placeholder args}{RightParen )} (35)
     44 // CHECK-CTOR-INIT-2: MemberRef:{TypedText value}{LeftParen (}{Placeholder args}{RightParen )} (7)
     45