summaryrefslogtreecommitdiffstats
path: root/test/Tooling/clang-check-ast-dump.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2012-08-13 10:50:08 +0000
committerAlexander Kornienko <alexfh@google.com>2012-08-13 10:50:08 +0000
commit4846470d20348f2e7b1f6cf6c68f81fc0657d129 (patch)
tree7d33885959f5a9960c16a00a3609087561d3a86f /test/Tooling/clang-check-ast-dump.cpp
parentcd6df6695c87ea55bc5e3e59043744e7946d5fab (diff)
Implemented -ast-dump, -ast-print, -ast-dump-filter options in clang-check
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161753 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Tooling/clang-check-ast-dump.cpp')
-rw-r--r--test/Tooling/clang-check-ast-dump.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/Tooling/clang-check-ast-dump.cpp b/test/Tooling/clang-check-ast-dump.cpp
new file mode 100644
index 0000000000..86533af3e1
--- /dev/null
+++ b/test/Tooling/clang-check-ast-dump.cpp
@@ -0,0 +1,35 @@
+// RUN: clang-check -ast-dump "%s" -- 2>&1 | FileCheck %s
+// CHECK: namespace test_namespace
+// CHECK-NEXT: class TheClass
+// CHECK: int theMethod(int x) (CompoundStmt
+// CHECK-NEXT: (ReturnStmt
+// CHECK-NEXT: (BinaryOperator
+//
+// RUN: clang-check -ast-dump -ast-dump-filter test_namespace::TheClass::theMethod "%s" -- 2>&1 | FileCheck -check-prefix CHECK-FILTER %s
+// CHECK-FILTER-NOT: namespace test_namespace
+// CHECK-FILTER-NOT: class TheClass
+// CHECK-FILTER: int theMethod(int x) (CompoundStmt
+// CHECK-FILTER-NEXT: (ReturnStmt
+// CHECK-FILTER-NEXT: (BinaryOperator
+//
+// RUN: clang-check -ast-print "%s" -- 2>&1 | FileCheck -check-prefix CHECK-PRINT %s
+// CHECK-PRINT: namespace test_namespace
+// CHECK-PRINT: class TheClass
+// CHECK-PRINT: int theMethod(int x)
+//
+// RUN: clang-check -ast-list "%s" -- 2>&1 | FileCheck -check-prefix CHECK-LIST %s
+// CHECK-LIST: test_namespace
+// CHECK-LIST-NEXT: test_namespace::TheClass
+// CHECK-LIST-NEXT: test_namespace::TheClass::theMethod
+// CHECK-LIST-NEXT: x
+
+namespace test_namespace {
+
+class TheClass {
+public:
+ int theMethod(int x) {
+ return x + x;
+ }
+};
+
+}