llvm-project/clang/unittests
Etienne Bergeron 5500f95a00 [ASTMatchers] Add support of hasCondition for SwitchStmt.
Summary:
The switch statement could be added to the hasCondition matcher.

Example:
```
clang-query> match switchStmt(hasCondition(ignoringImpCasts(declRefExpr())))
```

Output:
```
Match #1:

Binding for "root":
SwitchStmt 0x2f9b528 </usr/local/google/home/etienneb/examples/enum.cc:35:3, line:38:3>
|-<<<NULL>>>
|-ImplicitCastExpr 0x2f9b510 <line:35:11> 'int' <IntegralCast>
| `-ImplicitCastExpr 0x2f9b4f8 <col:11> 'enum Color' <LValueToRValue>
|   `-DeclRefExpr 0x2f9b4d0 <col:11> 'enum Color' lvalue Var 0x2f9a118 'C' 'enum Color'
`-CompoundStmt 0x2f9b610 <col:14, line:38:3>
  |-CaseStmt 0x2f9b578 <line:36:3, col:22>
  | |-ImplicitCastExpr 0x2f9b638 <col:8> 'int' <IntegralCast>
  | | `-DeclRefExpr 0x2f9b550 <col:8> 'enum Size' EnumConstant 0x2f99e40 'Small' 'enum Size'
  | |-<<<NULL>>>
  | `-ReturnStmt 0x2f9b5d0 <col:15, col:22>
  |   `-IntegerLiteral 0x2f9b5b0 <col:22> 'int' 1
  `-DefaultStmt 0x2f9b5f0 <line:37:3, col:12>
    `-BreakStmt 0x2f9b5e8 <col:12>

1 match.
```

Reviewers: aaron.ballman, sbenza, klimek

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D20767

llvm-svn: 271208
2016-05-30 15:25:25 +00:00
..
AST [ASTImporter] Implement some expression-related AST node import. 2016-04-14 11:51:27 +00:00
ASTMatchers [ASTMatchers] Add support of hasCondition for SwitchStmt. 2016-05-30 15:25:25 +00:00
Basic [VFS] Add level() method to vfs::recursive_directory_iterator 2016-05-14 00:00:18 +00:00
CodeGen Make sure the LLVMContext outlive the CompilerInstance 2016-04-14 05:37:41 +00:00
Driver Remove autoconf support 2016-01-26 21:30:40 +00:00
Format clang-format: Fix segfault introduced by allowing wraps after comments. 2016-05-29 22:07:22 +00:00
Frontend Use Backend_EmitMCNull for null codegen unit tests. 2016-02-18 20:27:16 +00:00
Lex [Lexer] Don't merge macro args from different macro files 2016-05-19 23:44:02 +00:00
Rewrite Remove autoconf support 2016-01-26 21:30:40 +00:00
Sema [Sema] Allow an external sema source to handle delayed typo corrections. 2016-05-19 10:46:10 +00:00
StaticAnalyzer Remove autoconf support 2016-01-26 21:30:40 +00:00
Tooling [tooling] FixItHint Tooling refactoring 2016-05-11 14:31:39 +00:00
libclang tests: Add explicit -stdlib=libstdc++ to tests that require it 2016-02-12 07:48:28 +00:00
CMakeLists.txt [CMake] Don't build the libclang tests unless you're building libclang 2015-12-04 23:12:19 +00:00