aboutsummaryrefslogtreecommitdiff
path: root/test/CodeCompletion/enum-switch-case.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-09-21 19:57:38 +0000
committerDouglas Gregor <dgregor@apple.com>2009-09-21 19:57:38 +0000
commitb9d0ef76347574a147b8456b018fe94dc1e2be26 (patch)
treefe0995cc5b39da6033b29a2636c1b8e280d7df56 /test/CodeCompletion/enum-switch-case.cpp
parentfd02ed702e754f8dd0b4c979325ba99c2234f270 (diff)
Enhance "case" code completion in C++ to suggest qualified names for
enumerators when either the user intentionally wrote a qualified name (in which case we just use that nested-name-specifier to match the user's code) or when this is the first "case" statement and we need a qualified name to refer to an enumerator in a different scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82474 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeCompletion/enum-switch-case.cpp')
-rw-r--r--test/CodeCompletion/enum-switch-case.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/CodeCompletion/enum-switch-case.cpp b/test/CodeCompletion/enum-switch-case.cpp
new file mode 100644
index 0000000000..49b33c830a
--- /dev/null
+++ b/test/CodeCompletion/enum-switch-case.cpp
@@ -0,0 +1,29 @@
+// RUN: clang-cc -fsyntax-only -code-completion-dump=1 %s -o - | FileCheck -check-prefix=CC1 %s &&
+// RUN: true
+
+namespace N {
+ enum Color {
+ Red,
+ Orange,
+ Yellow,
+ Green,
+ Blue,
+ Indigo,
+ Violet
+ };
+}
+
+void test(enum N::Color color) {
+ switch (color) {
+ case N::Red:
+ break;
+
+ case N::Yellow:
+ break;
+
+ // CHECK-CC1: Blue : 0 : N::Blue
+ // CHECK-NEXT-CC1: Green : 0 : N::Green
+ // CHECK-NEXT-CC1: Indigo : 0 : N::Indigo
+ // CHECK-NEXT-CC1: Orange : 0 : N::Orange
+ // CHECK-NEXT-CC1: Violet : 0 : N::Violet
+ case