summaryrefslogtreecommitdiff
path: root/test/Index/complete-enums.cpp
blob: 23c60ac4dfa5a02f747000d4a45c9adfea0d9cd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Note: the run lines follow their respective tests, since line/column
// matter in this test.
struct X { X(); ~X(); };
enum class Color {
  Red = 17,
  Green,
  Blue
};
int Greeby();
void f(Color color) {
  switch (color) {
  case Color::Green: { X x; }
  case Color::Red;
  }
}

// RUN: c-index-test -code-completion-at=%s:12:8 -std=c++11  %s | FileCheck -check-prefix=CHECK-CC1 %s
// CHECK-CC1: EnumConstantDecl:{ResultType Color}{Text Color::}{TypedText Blue} (7)
// CHECK-CC1: EnumConstantDecl:{ResultType Color}{Text Color::}{TypedText Green} (7)
// CHECK-CC1: EnumConstantDecl:{ResultType Color}{Text Color::}{TypedText Red} (7)

// RUN: c-index-test -code-completion-at=%s:13:8 -std=c++11  %s | FileCheck -check-prefix=CHECK-CC2 %s
// CHECK-CC2: EnumConstantDecl:{ResultType Color}{Text Color::}{TypedText Blue} (7)
// CHECK-CC2-NOT: Green
// CHECK-CC2: EnumConstantDecl:{ResultType Color}{Text Color::}{TypedText Red} (7)