Clang Project

clang_source_code/test/CodeCompletion/keywords.cpp
1int function(int x) {
2  return x + 1;
3}
4
5int variable = 0;
6
7class Class {
8public:
9  Class() { }
10
11  int method(int x) {
12    return x + 1;
13  }
14
15  virtual void virtualMethod() {
16  }
17
18  static void staticMethod() {
19  }
20
21  static int staticVar;
22};
23
24class SubClass : public Class {
25  void virtualMethod() override final {
26  }
27};
28
29struct Struct {
30};
31
32// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:1:1 %s | FileCheck --check-prefix=CHECK-TOP-LEVEL %s
33// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:5:1 %s | FileCheck --check-prefix=CHECK-TOP-LEVEL %s
34// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:11:1 %s | FileCheck --check-prefix=CHECK-TOP-LEVEL %s
35// CHECK-TOP-LEVEL: alignas(<#expression#>)
36// CHECK-TOP-LEVEL: constexpr
37// CHECK-TOP-LEVEL: static_assert(<#expression#>, <#message#>)
38// CHECK-TOP-LEVEL: thread_local
39// CHECK-TOP-LEVEL-NOT: final
40// CHECK-TOP-LEVEL-NOT: noexcept
41
42// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:1:14 %s | FileCheck --check-prefix=CHECK-PARAM %s
43// CHECK-PARAM-NOT: alignas
44// CHECK-PARAM-NOT: constexpr
45// CHECK-PARAM-NOT: final
46// CHECK-PARAM-NOT: thread_local
47
48// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:21:10 %s | FileCheck --check-prefix=CHECK-STATICVAR1 %s
49// CHECK-STATICVAR1: constexpr
50// CHECK-STATICVAR1: thread_local
51
52// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:7:13 %s | FileCheck --check-prefix=CHECK-CLASS-QUALIFIER %s
53// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:24:16 %s | FileCheck --check-prefix=CHECK-CLASS-QUALIFIER %s
54// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:29:15 %s | FileCheck --check-prefix=CHECK-CLASS-QUALIFIER %s
55// CHECK-CLASS-QUALIFIER: final
56
57// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:1:21 %s | FileCheck --check-prefix=CHECK-FUNCTION-QUALIFIER %s
58// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:9:11 %s | FileCheck --check-prefix=CHECK-FUNCTION-QUALIFIER %s
59// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:18:30 %s | FileCheck --check-prefix=CHECK-FUNCTION-QUALIFIER %s
60// CHECK-FUNCTION-QUALIFIER: noexcept
61// CHECK-FUNCTION-QUALIFIER-NOT: final
62// CHECK-FUNCTION-QUALIFIER-NOT: override
63
64// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:11:21 %s | FileCheck --check-prefix=CHECK-METHOD-QUALIFIER %s
65// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:15:32 %s | FileCheck --check-prefix=CHECK-METHOD-QUALIFIER %s
66// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:25:24 %s | FileCheck --check-prefix=CHECK-METHOD-QUALIFIER %s
67// CHECK-METHOD-QUALIFIER: final
68// CHECK-METHOD-QUALIFIER: noexcept
69// CHECK-METHOD-QUALIFIER: override
70
71// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:25:33 %s | FileCheck --check-prefix=CHECK-OVERRIDE-SPECIFIED %s
72// CHECK-OVERRIDE-SPECIFIED: final
73// CHECK-OVERRIDE-SPECIFIED: noexcept
74// CHECK-OVERRIDE-SPECIFIED-NOT: override
75
76// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:25:39 %s | FileCheck --check-prefix=CHECK-OVERRIDE-FINAL-SPECIFIED %s
77// CHECK-OVERRIDE-FINAL-SPECIFIED: noexcept
78// CHECK-OVERRIDE-FINAL-SPECIFIED-NOT: final
79// CHECK-OVERRIDE-FINAL-SPECIFIED-NOT: override
80