58 lines · cpp
1class A {2 public:3 virtual void vfunc(bool param);4 virtual void vfunc(bool param, int p);5 void func(bool param);6};7class B : public A {8virtual int ttt(bool param, int x = 3) const;9void vfunc(bool param, int p) override;10};11class C : public B {12 public:13 void vfunc(bool param) override;14 vf;15};16 17// Runs completion at ^vf18// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:%(line-4):3 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s19// CHECK-CC1: COMPLETION: Pattern : int ttt(bool param, int x = 3) const override{{$}}20// CHECK-CC1: COMPLETION: Pattern : void vfunc(bool param, int p) override{{$}}21// CHECK-CC1-NOT: COMPLETION: Pattern : void vfunc(bool param) override{{$}}22//23// Runs completion at vf^24// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:%(line-10):5 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s25// CHECK-CC2-NOT: COMPLETION: Pattern : int ttt(bool param, int x = 3) const override{{$}}26// CHECK-CC2: COMPLETION: Pattern : void vfunc(bool param, int p) override{{$}}27// CHECK-CC2-NOT: COMPLETION: Pattern : void vfunc(bool param) override{{$}}28//29// Runs completion at void ^ on line 13.30// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:%(line-17):8 %s -o - | FileCheck -check-prefix=CHECK-CC3 %s31// CHECK-CC3-NOT: COMPLETION: Pattern : int ttt(bool param, int x = 3) const override{{$}}32// CHECK-CC3-NOT: COMPLETION: Pattern : void vfunc(bool param, int p) override{{$}}33// CHECK-CC3-NOT: COMPLETION: Pattern : void vfunc(bool param) override{{$}}34 35void func() {36 class D : public A {37 38 };39}40 41// Runs completion at empty line on line 37.42// RUN: not %clang_cc1 -fsyntax-only -code-completion-at=%s:%(line-5):1 %s -o - | FileCheck -check-prefix=CHECK-CC4 %s43// CHECK-CC4: COMPLETION: Pattern : void vfunc(bool param, int p) override{{$}}44 45class NoexceptBase {46 public:47 virtual void method() noexcept;48};49 50class NoexceptDerived : public NoexceptBase {51 public:52 met;53};54 55// Runs completion at met^ in the body of NoexceptDerived.56// RUN: not %clang_cc1 -fsyntax-only -code-completion-at=%s:%(line-4):6 %s -o - | FileCheck -check-prefix=CHECK-CC5 %s57// CHECK-CC5: COMPLETION: Pattern : void method() noexcept override{{$}}58