80 lines · 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 %s33// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:5:1 %s | FileCheck --check-prefix=CHECK-TOP-LEVEL %s34// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:11:1 %s | FileCheck --check-prefix=CHECK-TOP-LEVEL %s35// CHECK-TOP-LEVEL: alignas(<#expression#>)36// CHECK-TOP-LEVEL: constexpr37// CHECK-TOP-LEVEL: static_assert(<#expression#>, <#message#>);38// CHECK-TOP-LEVEL: thread_local39// CHECK-TOP-LEVEL-NOT: final40// CHECK-TOP-LEVEL-NOT: noexcept41 42// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:1:14 %s | FileCheck --check-prefix=CHECK-PARAM %s43// CHECK-PARAM-NOT: alignas44// CHECK-PARAM-NOT: constexpr45// CHECK-PARAM-NOT: final46// CHECK-PARAM-NOT: thread_local47 48// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:21:10 %s | FileCheck --check-prefix=CHECK-STATICVAR1 %s49// CHECK-STATICVAR1: constexpr50// CHECK-STATICVAR1: thread_local51 52// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:7:13 %s | FileCheck --check-prefix=CHECK-CLASS-QUALIFIER %s53// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:24:16 %s | FileCheck --check-prefix=CHECK-CLASS-QUALIFIER %s54// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:29:15 %s | FileCheck --check-prefix=CHECK-CLASS-QUALIFIER %s55// CHECK-CLASS-QUALIFIER: final56 57// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:1:21 %s | FileCheck --check-prefix=CHECK-FUNCTION-QUALIFIER %s58// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:9:11 %s | FileCheck --check-prefix=CHECK-FUNCTION-QUALIFIER %s59// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:18:30 %s | FileCheck --check-prefix=CHECK-FUNCTION-QUALIFIER %s60// CHECK-FUNCTION-QUALIFIER: noexcept61// CHECK-FUNCTION-QUALIFIER-NOT: final62// CHECK-FUNCTION-QUALIFIER-NOT: override63 64// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:11:21 %s | FileCheck --check-prefix=CHECK-METHOD-QUALIFIER %s65// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:15:32 %s | FileCheck --check-prefix=CHECK-METHOD-QUALIFIER %s66// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:25:24 %s | FileCheck --check-prefix=CHECK-METHOD-QUALIFIER %s67// CHECK-METHOD-QUALIFIER: final68// CHECK-METHOD-QUALIFIER: noexcept69// CHECK-METHOD-QUALIFIER: override70 71// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:25:33 %s | FileCheck --check-prefix=CHECK-OVERRIDE-SPECIFIED %s72// CHECK-OVERRIDE-SPECIFIED: final73// CHECK-OVERRIDE-SPECIFIED: noexcept74// CHECK-OVERRIDE-SPECIFIED-NOT: override75 76// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:25:39 %s | FileCheck --check-prefix=CHECK-OVERRIDE-FINAL-SPECIFIED %s77// CHECK-OVERRIDE-FINAL-SPECIFIED: noexcept78// CHECK-OVERRIDE-FINAL-SPECIFIED-NOT: final79// CHECK-OVERRIDE-FINAL-SPECIFIED-NOT: override80