1 | class A { |
2 | public: |
3 | virtual void vfunc(bool param); |
4 | virtual void vfunc(bool param, int p); |
5 | void func(bool param); |
6 | }; |
7 | class B : public A { |
8 | virtual int ttt(bool param, int x = 3) const; |
9 | void vfunc(bool param, int p) override; |
10 | }; |
11 | class C : public B { |
12 | public: |
13 | void vfunc(bool param) override; |
14 | void |
15 | }; |
16 | |
17 | // Runs completion at ^void. |
18 | // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:14:3 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s |
19 | // 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 vo^id. |
24 | // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:14:5 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s |
25 | // CHECK-CC2: COMPLETION: Pattern : void vfunc(bool param, int p) override{{$}} |
26 | // CHECK-CC2-NOT: COMPLETION: Pattern : int ttt(bool param, int x = 3) const override{{$}} |
27 | // CHECK-CC2-NOT: COMPLETION: Pattern : void vfunc(bool param) override{{$}} |
28 | // |
29 | // Runs completion at void ^. |
30 | // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:14:8 %s -o - | FileCheck -check-prefix=CHECK-CC3 %s |
31 | // 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 | |