 |
|
 |
|
| Files: |
1 |
|
Branches Taken: |
31.7% |
334 / 1052 |
| Generated: |
2010-02-10 01:31 |
|
Branches Executed: |
92.3% |
971 / 1052 |
| |
|
Line Coverage: |
88.5% |
69 / 78 |
| |
 |
|
 |
1 : //===--- StmtVisitor.h - Visitor for Stmt subclasses ------------*- C++ -*-===//
2 : //
3 : // The LLVM Compiler Infrastructure
4 : //
5 : // This file is distributed under the University of Illinois Open Source
6 : // License. See LICENSE.TXT for details.
7 : //
8 : //===----------------------------------------------------------------------===//
9 : //
10 : // This file defines the StmtVisitor interface.
11 : //
12 : //===----------------------------------------------------------------------===//
13 :
14 : #ifndef LLVM_CLANG_AST_STMTVISITOR_H
15 : #define LLVM_CLANG_AST_STMTVISITOR_H
16 :
17 : #include "clang/AST/ExprCXX.h"
18 : #include "clang/AST/ExprObjC.h"
19 : #include "clang/AST/StmtCXX.h"
20 : #include "clang/AST/StmtObjC.h"
21 :
22 : namespace clang {
23 :
24 : #define DISPATCH(NAME, CLASS) \
25 : return static_cast<ImplClass*>(this)->Visit ## NAME(static_cast<CLASS*>(S))
26 :
27 : /// StmtVisitor - This class implements a simple visitor for Stmt subclasses.
28 : /// Since Expr derives from Stmt, this also includes support for visiting Exprs.
29 : template<typename ImplClass, typename RetTy=void>
30 65638: class StmtVisitor {
31 : public:
32 185531: RetTy Visit(Stmt *S) {
33 :
34 : // If we have a binary expr, dispatch to the subcode of the binop. A smart
35 : // optimizer (e.g. LLVM) will fold this comparison into the switch stmt
36 : // below.
10404: branch 1 taken
101841: branch 2 taken
6253: branch 4 taken
60582: branch 5 taken
96: branch 7 taken
3239: branch 8 taken
0: branch 10 not taken
1051: branch 11 taken
0: branch 13 not taken
755: branch 14 taken
34: branch 16 taken
988: branch 17 taken
70: branch 19 taken
218: branch 20 taken
37 185531: if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(S)) {
0: branch 1 not taken
4: branch 2 taken
0: branch 3 not taken
211: branch 4 taken
268: branch 5 taken
34: branch 6 taken
743: branch 7 taken
166: branch 8 taken
129: branch 9 taken
28: branch 10 taken
479: branch 11 taken
391: branch 12 taken
39: branch 13 taken
22: branch 14 taken
1618: branch 15 taken
665: branch 16 taken
120: branch 17 taken
8: branch 18 taken
77: branch 19 taken
156: branch 20 taken
105: branch 21 taken
4396: branch 22 taken
51: branch 23 taken
145: branch 24 taken
2: branch 25 taken
125: branch 26 taken
11: branch 27 taken
25: branch 28 taken
0: branch 29 not taken
64: branch 30 taken
32: branch 31 taken
0: branch 32 not taken
290: branch 33 taken
0: branch 35 not taken
0: branch 36 not taken
0: branch 37 not taken
135: branch 38 taken
175: branch 39 taken
23: branch 40 taken
657: branch 41 taken
569: branch 42 taken
287: branch 43 taken
24: branch 44 taken
392: branch 45 taken
192: branch 46 taken
29: branch 47 taken
22: branch 48 taken
1449: branch 49 taken
444: branch 50 taken
189: branch 51 taken
19: branch 52 taken
191: branch 53 taken
93: branch 54 taken
47: branch 55 taken
1152: branch 56 taken
1: branch 57 taken
40: branch 58 taken
0: branch 59 not taken
31: branch 60 taken
0: branch 61 not taken
9: branch 62 taken
0: branch 63 not taken
12: branch 64 taken
8: branch 65 taken
0: branch 66 not taken
63: branch 67 taken
0: branch 69 not taken
0: branch 70 not taken
0: branch 71 not taken
0: branch 72 not taken
0: branch 73 not taken
0: branch 74 not taken
43: branch 75 taken
6: branch 76 taken
0: branch 77 not taken
0: branch 78 not taken
0: branch 79 not taken
0: branch 80 not taken
0: branch 81 not taken
0: branch 82 not taken
0: branch 83 not taken
0: branch 84 not taken
0: branch 85 not taken
0: branch 86 not taken
0: branch 87 not taken
0: branch 88 not taken
0: branch 89 not taken
43: branch 90 taken
0: branch 91 not taken
0: branch 92 not taken
0: branch 93 not taken
2: branch 94 taken
0: branch 95 not taken
0: branch 96 not taken
0: branch 97 not taken
0: branch 98 not taken
0: branch 99 not taken
0: branch 100 not taken
2: branch 101 taken
0: branch 103 not taken
0: branch 104 not taken
0: branch 105 not taken
0: branch 106 not taken
0: branch 107 not taken
0: branch 108 not taken
0: branch 109 not taken
0: branch 110 not taken
0: branch 111 not taken
0: branch 112 not taken
0: branch 113 not taken
0: branch 114 not taken
0: branch 115 not taken
0: branch 116 not taken
0: branch 117 not taken
0: branch 118 not taken
0: branch 119 not taken
0: branch 120 not taken
0: branch 121 not taken
0: branch 122 not taken
0: branch 123 not taken
0: branch 124 not taken
0: branch 125 not taken
0: branch 126 not taken
0: branch 127 not taken
0: branch 128 not taken
0: branch 129 not taken
0: branch 130 not taken
0: branch 131 not taken
0: branch 132 not taken
0: branch 133 not taken
0: branch 134 not taken
0: branch 135 not taken
0: branch 137 not taken
0: branch 138 not taken
0: branch 139 not taken
0: branch 140 not taken
0: branch 141 not taken
0: branch 142 not taken
0: branch 143 not taken
0: branch 144 not taken
0: branch 145 not taken
0: branch 146 not taken
0: branch 147 not taken
0: branch 148 not taken
0: branch 149 not taken
0: branch 150 not taken
0: branch 151 not taken
0: branch 152 not taken
0: branch 153 not taken
0: branch 154 not taken
0: branch 155 not taken
0: branch 156 not taken
0: branch 157 not taken
0: branch 158 not taken
0: branch 159 not taken
0: branch 160 not taken
0: branch 161 not taken
0: branch 162 not taken
0: branch 163 not taken
0: branch 164 not taken
0: branch 165 not taken
0: branch 166 not taken
0: branch 167 not taken
0: branch 168 not taken
0: branch 169 not taken
0: branch 171 not taken
0: branch 172 not taken
0: branch 173 not taken
3: branch 174 taken
3: branch 175 taken
0: branch 176 not taken
26: branch 177 taken
1: branch 178 taken
0: branch 179 not taken
0: branch 180 not taken
0: branch 181 not taken
0: branch 182 not taken
0: branch 183 not taken
0: branch 184 not taken
0: branch 185 not taken
0: branch 186 not taken
0: branch 187 not taken
0: branch 188 not taken
0: branch 189 not taken
0: branch 190 not taken
0: branch 191 not taken
0: branch 192 not taken
0: branch 193 not taken
0: branch 194 not taken
0: branch 195 not taken
0: branch 196 not taken
0: branch 197 not taken
0: branch 198 not taken
0: branch 199 not taken
0: branch 200 not taken
0: branch 201 not taken
0: branch 202 not taken
1: branch 203 taken
0: branch 205 not taken
0: branch 206 not taken
0: branch 207 not taken
15: branch 208 taken
0: branch 209 not taken
0: branch 210 not taken
54: branch 211 taken
0: branch 212 not taken
0: branch 213 not taken
0: branch 214 not taken
0: branch 215 not taken
0: branch 216 not taken
0: branch 217 not taken
0: branch 218 not taken
0: branch 219 not taken
0: branch 220 not taken
0: branch 221 not taken
0: branch 222 not taken
0: branch 223 not taken
0: branch 224 not taken
0: branch 225 not taken
1: branch 226 taken
0: branch 227 not taken
0: branch 228 not taken
0: branch 229 not taken
0: branch 230 not taken
0: branch 231 not taken
0: branch 232 not taken
0: branch 233 not taken
0: branch 234 not taken
0: branch 235 not taken
0: branch 236 not taken
0: branch 237 not taken
38 16857: switch (BinOp->getOpcode()) {
39 0: default: assert(0 && "Unknown binary operator!");
40 4: case BinaryOperator::PtrMemD: DISPATCH(BinPtrMemD, BinaryOperator);
41 0: case BinaryOperator::PtrMemI: DISPATCH(BinPtrMemI, BinaryOperator);
42 364: case BinaryOperator::Mul: DISPATCH(BinMul, BinaryOperator);
43 446: case BinaryOperator::Div: DISPATCH(BinDiv, BinaryOperator);
44 57: case BinaryOperator::Rem: DISPATCH(BinRem, BinaryOperator);
45 1523: case BinaryOperator::Add: DISPATCH(BinAdd, BinaryOperator);
46 742: case BinaryOperator::Sub: DISPATCH(BinSub, BinaryOperator);
47 416: case BinaryOperator::Shl: DISPATCH(BinShl, BinaryOperator);
48 52: case BinaryOperator::Shr: DISPATCH(BinShr, BinaryOperator);
49 :
50 871: case BinaryOperator::LT: DISPATCH(BinLT, BinaryOperator);
51 583: case BinaryOperator::GT: DISPATCH(BinGT, BinaryOperator);
52 68: case BinaryOperator::LE: DISPATCH(BinLE, BinaryOperator);
53 44: case BinaryOperator::GE: DISPATCH(BinGE, BinaryOperator);
54 3067: case BinaryOperator::EQ: DISPATCH(BinEQ, BinaryOperator);
55 1109: case BinaryOperator::NE: DISPATCH(BinNE, BinaryOperator);
56 :
57 309: case BinaryOperator::And: DISPATCH(BinAnd, BinaryOperator);
58 27: case BinaryOperator::Xor: DISPATCH(BinXor, BinaryOperator);
59 268: case BinaryOperator::Or : DISPATCH(BinOr, BinaryOperator);
60 249: case BinaryOperator::LAnd: DISPATCH(BinLAnd, BinaryOperator);
61 152: case BinaryOperator::LOr : DISPATCH(BinLOr, BinaryOperator);
62 5592: case BinaryOperator::Assign: DISPATCH(BinAssign, BinaryOperator);
63 : case BinaryOperator::MulAssign:
64 52: DISPATCH(BinMulAssign, CompoundAssignOperator);
65 : case BinaryOperator::DivAssign:
66 185: DISPATCH(BinDivAssign, CompoundAssignOperator);
67 : case BinaryOperator::RemAssign:
68 2: DISPATCH(BinRemAssign, CompoundAssignOperator);
69 : case BinaryOperator::AddAssign:
70 158: DISPATCH(BinAddAssign, CompoundAssignOperator);
71 : case BinaryOperator::SubAssign:
72 11: DISPATCH(BinSubAssign, CompoundAssignOperator);
73 : case BinaryOperator::ShlAssign:
74 34: DISPATCH(BinShlAssign, CompoundAssignOperator);
75 : case BinaryOperator::ShrAssign:
76 0: DISPATCH(BinShrAssign, CompoundAssignOperator);
77 : case BinaryOperator::AndAssign:
78 76: DISPATCH(BinAndAssign, CompoundAssignOperator);
79 : case BinaryOperator::OrAssign:
80 40: DISPATCH(BinOrAssign, CompoundAssignOperator);
81 : case BinaryOperator::XorAssign:
82 0: DISPATCH(BinXorAssign, CompoundAssignOperator);
83 356: case BinaryOperator::Comma: DISPATCH(BinComma, BinaryOperator);
84 : }
7395: branch 1 taken
94446: branch 2 taken
2948: branch 4 taken
57634: branch 5 taken
290: branch 7 taken
2949: branch 8 taken
253: branch 10 taken
798: branch 11 taken
4: branch 13 taken
751: branch 14 taken
23: branch 16 taken
965: branch 17 taken
0: branch 19 not taken
218: branch 20 taken
85 168674: } else if (UnaryOperator *UnOp = dyn_cast<UnaryOperator>(S)) {
0: branch 1 not taken
452: branch 2 taken
16: branch 3 taken
1811: branch 4 taken
76: branch 5 taken
1512: branch 6 taken
2022: branch 7 taken
13: branch 8 taken
80: branch 9 taken
96: branch 10 taken
891: branch 11 taken
69: branch 12 taken
59: branch 13 taken
49: branch 14 taken
249: branch 15 taken
0: branch 17 not taken
126: branch 18 taken
1: branch 19 taken
230: branch 20 taken
4: branch 21 taken
449: branch 22 taken
849: branch 23 taken
4: branch 24 taken
206: branch 25 taken
42: branch 26 taken
664: branch 27 taken
10: branch 28 taken
10: branch 29 taken
23: branch 30 taken
330: branch 31 taken
0: branch 33 not taken
10: branch 34 taken
2: branch 35 taken
2: branch 36 taken
2: branch 37 taken
271: branch 38 taken
2: branch 39 taken
0: branch 40 not taken
0: branch 41 not taken
0: branch 42 not taken
0: branch 43 not taken
0: branch 44 not taken
0: branch 45 not taken
1: branch 46 taken
0: branch 47 not taken
0: branch 49 not taken
0: branch 50 not taken
0: branch 51 not taken
0: branch 52 not taken
0: branch 53 not taken
0: branch 54 not taken
253: branch 55 taken
0: branch 56 not taken
0: branch 57 not taken
0: branch 58 not taken
0: branch 59 not taken
0: branch 60 not taken
0: branch 61 not taken
0: branch 62 not taken
0: branch 63 not taken
0: branch 65 not taken
0: branch 66 not taken
0: branch 67 not taken
0: branch 68 not taken
0: branch 69 not taken
0: branch 70 not taken
2: branch 71 taken
0: branch 72 not taken
0: branch 73 not taken
0: branch 74 not taken
0: branch 75 not taken
1: branch 76 taken
1: branch 77 taken
0: branch 78 not taken
0: branch 79 not taken
0: branch 81 not taken
0: branch 82 not taken
0: branch 83 not taken
0: branch 84 not taken
0: branch 85 not taken
0: branch 86 not taken
1: branch 87 taken
0: branch 88 not taken
22: branch 89 taken
0: branch 90 not taken
0: branch 91 not taken
0: branch 92 not taken
0: branch 93 not taken
0: branch 94 not taken
0: branch 95 not taken
0: branch 97 not taken
0: branch 98 not taken
0: branch 99 not taken
0: branch 100 not taken
0: branch 101 not taken
0: branch 102 not taken
0: branch 103 not taken
0: branch 104 not taken
0: branch 105 not taken
0: branch 106 not taken
0: branch 107 not taken
0: branch 108 not taken
0: branch 109 not taken
0: branch 110 not taken
0: branch 111 not taken
86 10913: switch (UnOp->getOpcode()) {
87 0: default: assert(0 && "Unknown unary operator!");
88 588: case UnaryOperator::PostInc: DISPATCH(UnaryPostInc, UnaryOperator);
89 19: case UnaryOperator::PostDec: DISPATCH(UnaryPostDec, UnaryOperator);
90 2043: case UnaryOperator::PreInc: DISPATCH(UnaryPreInc, UnaryOperator);
91 82: case UnaryOperator::PreDec: DISPATCH(UnaryPreDec, UnaryOperator);
92 2232: case UnaryOperator::AddrOf: DISPATCH(UnaryAddrOf, UnaryOperator);
93 3129: case UnaryOperator::Deref: DISPATCH(UnaryDeref, UnaryOperator);
94 17: case UnaryOperator::Plus: DISPATCH(UnaryPlus, UnaryOperator);
95 308: case UnaryOperator::Minus: DISPATCH(UnaryMinus, UnaryOperator);
96 138: case UnaryOperator::Not: DISPATCH(UnaryNot, UnaryOperator);
97 1555: case UnaryOperator::LNot: DISPATCH(UnaryLNot, UnaryOperator);
98 80: case UnaryOperator::Real: DISPATCH(UnaryReal, UnaryOperator);
99 70: case UnaryOperator::Imag: DISPATCH(UnaryImag, UnaryOperator);
100 73: case UnaryOperator::Extension: DISPATCH(UnaryExtension, UnaryOperator);
101 579: case UnaryOperator::OffsetOf: DISPATCH(UnaryOffsetOf, UnaryOperator);
102 : }
103 : }
104 :
105 : // Top switch stmt: dispatch to VisitFooStmt for each FooStmt.
0: branch 1 not taken
12: branch 2 taken
529: branch 3 taken
19: branch 4 taken
8: branch 5 taken
11: branch 6 taken
39: branch 7 taken
13: branch 8 taken
9: branch 9 taken
5: branch 10 taken
14: branch 11 taken
7: branch 12 taken
5: branch 13 taken
5: branch 14 taken
25: branch 15 taken
3079: branch 16 taken
8814: branch 17 taken
0: branch 18 not taken
13: branch 19 taken
2: branch 20 taken
2: branch 21 taken
1: branch 22 taken
4: branch 23 taken
2: branch 24 taken
4: branch 25 taken
0: branch 26 not taken
0: branch 27 not taken
41: branch 28 taken
23894: branch 29 taken
14208: branch 30 taken
638: branch 31 taken
21: branch 32 taken
938: branch 33 taken
135: branch 34 taken
3683: branch 35 taken
0: branch 36 not taken
261: branch 37 taken
710: branch 38 taken
5479: branch 39 taken
1647: branch 40 taken
0: branch 41 not taken
0: branch 42 not taken
437: branch 43 taken
17501: branch 44 taken
4090: branch 45 taken
112: branch 46 taken
51: branch 47 taken
494: branch 48 taken
8: branch 49 taken
292: branch 50 taken
0: branch 51 not taken
14: branch 52 taken
18: branch 53 taken
166: branch 54 taken
11: branch 55 taken
47: branch 56 taken
3: branch 57 taken
42: branch 58 taken
251: branch 59 taken
0: branch 60 not taken
25: branch 61 taken
15: branch 62 taken
5: branch 63 taken
2: branch 64 taken
10: branch 65 taken
14: branch 66 taken
68: branch 67 taken
4: branch 68 taken
398: branch 69 taken
28: branch 70 taken
98: branch 71 taken
8: branch 72 taken
62: branch 73 taken
20: branch 74 taken
4: branch 75 taken
20: branch 76 taken
1: branch 77 taken
9: branch 78 taken
933: branch 79 taken
55: branch 80 taken
0: branch 81 not taken
66: branch 82 taken
0: branch 83 not taken
27: branch 84 taken
3: branch 85 taken
1: branch 86 taken
314: branch 87 taken
6: branch 88 taken
3229: branch 89 taken
17: branch 90 taken
14: branch 91 taken
487: branch 92 taken
44: branch 93 taken
109: branch 94 taken
88: branch 95 taken
9: branch 96 taken
4: branch 97 taken
267: branch 98 taken
168: branch 99 taken
0: branch 113 not taken
0: branch 114 not taken
1: branch 115 taken
16: branch 116 taken
30: branch 117 taken
0: branch 118 not taken
0: branch 119 not taken
0: branch 120 not taken
0: branch 121 not taken
1: branch 122 taken
1305: branch 123 taken
2506: branch 124 taken
0: branch 125 not taken
0: branch 126 not taken
0: branch 127 not taken
0: branch 128 not taken
62: branch 129 taken
20: branch 130 taken
0: branch 131 not taken
10: branch 132 taken
6: branch 133 taken
0: branch 134 not taken
10: branch 135 taken
12753: branch 136 taken
20000: branch 137 taken
232: branch 138 taken
6: branch 139 taken
276: branch 140 taken
229: branch 141 taken
2257: branch 142 taken
8: branch 143 taken
972: branch 144 taken
413: branch 145 taken
2099: branch 146 taken
872: branch 147 taken
0: branch 148 not taken
0: branch 149 not taken
968: branch 150 taken
7403: branch 151 taken
2351: branch 152 taken
33: branch 153 taken
1: branch 154 taken
104: branch 155 taken
0: branch 156 not taken
92: branch 157 taken
0: branch 158 not taken
1: branch 159 taken
0: branch 160 not taken
45: branch 161 taken
12: branch 162 taken
11: branch 163 taken
7: branch 164 taken
8: branch 165 taken
86: branch 166 taken
0: branch 167 not taken
6: branch 168 taken
0: branch 169 not taken
0: branch 170 not taken
0: branch 171 not taken
6: branch 172 taken
0: branch 173 not taken
302: branch 174 taken
0: branch 175 not taken
10: branch 176 taken
5: branch 177 taken
5: branch 178 taken
4: branch 179 taken
0: branch 180 not taken
0: branch 181 not taken
0: branch 182 not taken
0: branch 183 not taken
334: branch 184 taken
0: branch 185 not taken
10: branch 186 taken
0: branch 187 not taken
0: branch 188 not taken
4: branch 189 taken
0: branch 190 not taken
0: branch 191 not taken
0: branch 192 not taken
0: branch 193 not taken
91: branch 194 taken
0: branch 195 not taken
1196: branch 196 taken
4: branch 197 taken
0: branch 198 not taken
236: branch 199 taken
7: branch 193 taken
36: branch 194 taken
22: branch 195 taken
0: branch 196 not taken
0: branch 197 not taken
73: branch 198 taken
65: branch 199 taken
0: branch 201 not taken
0: branch 202 not taken
0: branch 203 not taken
0: branch 204 not taken
0: branch 205 not taken
0: branch 206 not taken
0: branch 207 not taken
0: branch 208 not taken
0: branch 209 not taken
0: branch 210 not taken
0: branch 211 not taken
0: branch 212 not taken
0: branch 213 not taken
0: branch 214 not taken
0: branch 215 not taken
0: branch 216 not taken
0: branch 217 not taken
0: branch 218 not taken
0: branch 219 not taken
0: branch 220 not taken
0: branch 221 not taken
0: branch 222 not taken
0: branch 223 not taken
0: branch 224 not taken
0: branch 225 not taken
0: branch 226 not taken
0: branch 227 not taken
0: branch 228 not taken
1430: branch 229 taken
0: branch 230 not taken
0: branch 231 not taken
0: branch 232 not taken
0: branch 233 not taken
0: branch 234 not taken
190: branch 235 taken
0: branch 236 not taken
0: branch 237 not taken
31: branch 238 taken
68: branch 239 taken
138: branch 240 taken
0: branch 241 not taken
0: branch 242 not taken
16: branch 243 taken
579: branch 244 taken
160: branch 245 taken
0: branch 246 not taken
0: branch 247 not taken
0: branch 248 not taken
0: branch 249 not taken
250: branch 250 taken
0: branch 251 not taken
0: branch 252 not taken
30: branch 253 taken
0: branch 254 not taken
0: branch 255 not taken
1: branch 256 taken
0: branch 257 not taken
0: branch 258 not taken
4: branch 259 taken
0: branch 260 not taken
0: branch 261 not taken
0: branch 262 not taken
0: branch 263 not taken
0: branch 264 not taken
0: branch 265 not taken
0: branch 266 not taken
0: branch 267 not taken
1: branch 268 taken
3: branch 269 taken
0: branch 270 not taken
0: branch 271 not taken
0: branch 272 not taken
5: branch 273 taken
0: branch 274 not taken
0: branch 275 not taken
0: branch 276 not taken
0: branch 277 not taken
0: branch 278 not taken
0: branch 279 not taken
0: branch 280 not taken
0: branch 281 not taken
0: branch 282 not taken
0: branch 283 not taken
0: branch 284 not taken
0: branch 285 not taken
0: branch 286 not taken
10: branch 287 taken
0: branch 288 not taken
4: branch 289 taken
0: branch 290 not taken
1: branch 291 taken
7: branch 292 taken
0: branch 293 not taken
0: branch 294 not taken
0: branch 295 not taken
2: branch 296 taken
0: branch 297 not taken
16: branch 298 taken
3: branch 299 taken
0: branch 301 not taken
0: branch 302 not taken
0: branch 303 not taken
0: branch 304 not taken
0: branch 305 not taken
0: branch 306 not taken
0: branch 307 not taken
0: branch 308 not taken
0: branch 309 not taken
0: branch 310 not taken
0: branch 311 not taken
0: branch 312 not taken
0: branch 313 not taken
0: branch 314 not taken
0: branch 315 not taken
0: branch 316 not taken
0: branch 317 not taken
0: branch 318 not taken
0: branch 319 not taken
0: branch 320 not taken
0: branch 321 not taken
0: branch 322 not taken
0: branch 323 not taken
0: branch 324 not taken
0: branch 325 not taken
0: branch 326 not taken
0: branch 327 not taken
6: branch 328 taken
352: branch 329 taken
0: branch 330 not taken
0: branch 331 not taken
0: branch 332 not taken
51: branch 333 taken
0: branch 334 not taken
4: branch 335 taken
0: branch 336 not taken
0: branch 337 not taken
50: branch 338 taken
0: branch 339 not taken
306: branch 340 taken
0: branch 341 not taken
0: branch 342 not taken
0: branch 343 not taken
3: branch 344 taken
0: branch 345 not taken
12: branch 346 taken
0: branch 347 not taken
0: branch 348 not taken
0: branch 349 not taken
0: branch 350 not taken
0: branch 351 not taken
0: branch 352 not taken
0: branch 353 not taken
0: branch 354 not taken
0: branch 355 not taken
0: branch 356 not taken
0: branch 357 not taken
0: branch 358 not taken
0: branch 359 not taken
0: branch 360 not taken
0: branch 361 not taken
0: branch 362 not taken
0: branch 363 not taken
0: branch 364 not taken
0: branch 365 not taken
0: branch 366 not taken
0: branch 367 not taken
0: branch 368 not taken
0: branch 369 not taken
0: branch 370 not taken
0: branch 371 not taken
0: branch 372 not taken
0: branch 373 not taken
0: branch 374 not taken
0: branch 375 not taken
0: branch 376 not taken
0: branch 377 not taken
0: branch 378 not taken
0: branch 379 not taken
0: branch 380 not taken
0: branch 381 not taken
0: branch 382 not taken
0: branch 383 not taken
0: branch 384 not taken
0: branch 385 not taken
0: branch 386 not taken
0: branch 387 not taken
14: branch 388 taken
0: branch 389 not taken
0: branch 390 not taken
0: branch 391 not taken
0: branch 392 not taken
0: branch 393 not taken
0: branch 394 not taken
0: branch 395 not taken
0: branch 396 not taken
0: branch 397 not taken
0: branch 398 not taken
0: branch 399 not taken
0: branch 401 not taken
0: branch 402 not taken
0: branch 403 not taken
0: branch 404 not taken
0: branch 405 not taken
0: branch 406 not taken
0: branch 407 not taken
0: branch 408 not taken
0: branch 409 not taken
0: branch 410 not taken
0: branch 411 not taken
0: branch 412 not taken
0: branch 413 not taken
0: branch 414 not taken
0: branch 415 not taken
0: branch 416 not taken
0: branch 417 not taken
0: branch 418 not taken
0: branch 419 not taken
0: branch 420 not taken
0: branch 421 not taken
0: branch 422 not taken
0: branch 423 not taken
0: branch 424 not taken
0: branch 425 not taken
0: branch 426 not taken
0: branch 427 not taken
0: branch 428 not taken
526: branch 429 taken
0: branch 430 not taken
0: branch 431 not taken
0: branch 432 not taken
0: branch 433 not taken
0: branch 434 not taken
0: branch 435 not taken
0: branch 436 not taken
0: branch 437 not taken
0: branch 438 not taken
204: branch 439 taken
0: branch 440 not taken
0: branch 441 not taken
0: branch 442 not taken
1: branch 443 taken
2: branch 444 taken
1: branch 445 taken
7: branch 446 taken
0: branch 447 not taken
9: branch 448 taken
0: branch 449 not taken
0: branch 450 not taken
0: branch 451 not taken
0: branch 452 not taken
0: branch 453 not taken
0: branch 454 not taken
0: branch 455 not taken
1: branch 456 taken
0: branch 457 not taken
0: branch 458 not taken
0: branch 459 not taken
0: branch 460 not taken
0: branch 461 not taken
0: branch 462 not taken
0: branch 463 not taken
0: branch 464 not taken
0: branch 465 not taken
0: branch 466 not taken
0: branch 467 not taken
0: branch 468 not taken
0: branch 469 not taken
0: branch 470 not taken
0: branch 471 not taken
0: branch 472 not taken
0: branch 473 not taken
0: branch 474 not taken
0: branch 475 not taken
0: branch 476 not taken
0: branch 477 not taken
0: branch 478 not taken
0: branch 479 not taken
0: branch 480 not taken
0: branch 481 not taken
0: branch 482 not taken
0: branch 483 not taken
0: branch 484 not taken
0: branch 485 not taken
0: branch 486 not taken
0: branch 487 not taken
0: branch 488 not taken
0: branch 489 not taken
0: branch 490 not taken
0: branch 491 not taken
0: branch 492 not taken
0: branch 493 not taken
0: branch 494 not taken
0: branch 495 not taken
0: branch 496 not taken
0: branch 497 not taken
0: branch 498 not taken
0: branch 499 not taken
0: branch 501 not taken
0: branch 502 not taken
0: branch 503 not taken
0: branch 504 not taken
0: branch 505 not taken
0: branch 506 not taken
0: branch 507 not taken
0: branch 508 not taken
0: branch 509 not taken
0: branch 510 not taken
0: branch 511 not taken
0: branch 512 not taken
0: branch 513 not taken
0: branch 514 not taken
0: branch 515 not taken
0: branch 516 not taken
0: branch 517 not taken
0: branch 518 not taken
0: branch 519 not taken
0: branch 520 not taken
0: branch 521 not taken
0: branch 522 not taken
0: branch 523 not taken
0: branch 524 not taken
0: branch 525 not taken
0: branch 526 not taken
0: branch 527 not taken
0: branch 528 not taken
121: branch 529 taken
0: branch 530 not taken
447: branch 531 taken
0: branch 532 not taken
0: branch 533 not taken
0: branch 534 not taken
28: branch 535 taken
0: branch 536 not taken
0: branch 537 not taken
3: branch 538 taken
84: branch 539 taken
82: branch 540 taken
0: branch 541 not taken
0: branch 542 not taken
1: branch 543 taken
193: branch 544 taken
4: branch 545 taken
0: branch 546 not taken
0: branch 547 not taken
0: branch 548 not taken
0: branch 549 not taken
0: branch 550 not taken
0: branch 551 not taken
0: branch 552 not taken
0: branch 553 not taken
0: branch 554 not taken
0: branch 555 not taken
0: branch 556 not taken
0: branch 557 not taken
0: branch 558 not taken
0: branch 559 not taken
0: branch 560 not taken
0: branch 561 not taken
0: branch 562 not taken
0: branch 563 not taken
0: branch 564 not taken
0: branch 565 not taken
0: branch 566 not taken
0: branch 567 not taken
0: branch 568 not taken
0: branch 569 not taken
0: branch 570 not taken
0: branch 571 not taken
1: branch 572 taken
0: branch 573 not taken
0: branch 574 not taken
0: branch 575 not taken
0: branch 576 not taken
0: branch 577 not taken
0: branch 578 not taken
0: branch 579 not taken
0: branch 580 not taken
0: branch 581 not taken
0: branch 582 not taken
0: branch 583 not taken
0: branch 584 not taken
0: branch 585 not taken
0: branch 586 not taken
0: branch 587 not taken
0: branch 588 not taken
1: branch 589 taken
0: branch 590 not taken
0: branch 591 not taken
0: branch 592 not taken
0: branch 593 not taken
0: branch 594 not taken
0: branch 595 not taken
0: branch 596 not taken
0: branch 597 not taken
0: branch 598 not taken
0: branch 599 not taken
0: branch 601 not taken
0: branch 602 not taken
0: branch 603 not taken
0: branch 604 not taken
0: branch 605 not taken
0: branch 606 not taken
0: branch 607 not taken
0: branch 608 not taken
0: branch 609 not taken
0: branch 610 not taken
0: branch 611 not taken
0: branch 612 not taken
0: branch 613 not taken
0: branch 614 not taken
0: branch 615 not taken
0: branch 616 not taken
0: branch 617 not taken
0: branch 618 not taken
0: branch 619 not taken
0: branch 620 not taken
0: branch 621 not taken
0: branch 622 not taken
0: branch 623 not taken
0: branch 624 not taken
0: branch 625 not taken
0: branch 626 not taken
0: branch 627 not taken
0: branch 628 not taken
48: branch 629 taken
0: branch 630 not taken
0: branch 631 not taken
50: branch 632 taken
0: branch 633 not taken
0: branch 634 not taken
33: branch 635 taken
0: branch 636 not taken
0: branch 637 not taken
0: branch 638 not taken
0: branch 639 not taken
0: branch 640 not taken
0: branch 641 not taken
0: branch 642 not taken
0: branch 643 not taken
78: branch 644 taken
5: branch 645 taken
0: branch 646 not taken
0: branch 647 not taken
0: branch 648 not taken
0: branch 649 not taken
0: branch 650 not taken
0: branch 651 not taken
0: branch 652 not taken
0: branch 653 not taken
0: branch 654 not taken
0: branch 655 not taken
0: branch 656 not taken
0: branch 657 not taken
0: branch 658 not taken
0: branch 659 not taken
0: branch 660 not taken
0: branch 661 not taken
0: branch 662 not taken
0: branch 663 not taken
0: branch 664 not taken
0: branch 665 not taken
0: branch 666 not taken
0: branch 667 not taken
0: branch 668 not taken
0: branch 669 not taken
0: branch 670 not taken
0: branch 671 not taken
0: branch 672 not taken
0: branch 673 not taken
0: branch 674 not taken
0: branch 675 not taken
0: branch 676 not taken
0: branch 677 not taken
0: branch 678 not taken
0: branch 679 not taken
0: branch 680 not taken
0: branch 681 not taken
0: branch 682 not taken
0: branch 683 not taken
0: branch 684 not taken
0: branch 685 not taken
0: branch 686 not taken
0: branch 687 not taken
0: branch 688 not taken
0: branch 689 not taken
0: branch 690 not taken
0: branch 691 not taken
4: branch 692 taken
0: branch 693 not taken
0: branch 694 not taken
0: branch 695 not taken
0: branch 696 not taken
0: branch 697 not taken
0: branch 698 not taken
0: branch 699 not taken
106 157761: switch (S->getStmtClass()) {
107 0: default: assert(0 && "Unknown stmt kind!");
108 : #define ABSTRACT_EXPR(CLASS, PARENT)
109 : #define STMT(CLASS, PARENT) \
110 : case Stmt::CLASS ## Class: DISPATCH(CLASS, CLASS);
111 : #include "clang/AST/StmtNodes.def"
112 : }
113 : }
114 :
115 : // If the implementation chooses not to implement a certain visit method, fall
116 : // back on VisitExpr or whatever else is the superclass.
117 : #define STMT(CLASS, PARENT) \
118 : RetTy Visit ## CLASS(CLASS *S) { DISPATCH(PARENT, PARENT); }
119 : #include "clang/AST/StmtNodes.def"
120 :
121 : // If the implementation doesn't implement binary operator methods, fall back
122 : // on VisitBinaryOperator.
123 : #define BINOP_FALLBACK(NAME) \
124 : RetTy VisitBin ## NAME(BinaryOperator *S) { \
125 : DISPATCH(BinaryOperator, BinaryOperator); \
126 : }
127 0: BINOP_FALLBACK(PtrMemD) BINOP_FALLBACK(PtrMemI)
128 758: BINOP_FALLBACK(Mul) BINOP_FALLBACK(Div) BINOP_FALLBACK(Rem)
129 2429: BINOP_FALLBACK(Add) BINOP_FALLBACK(Sub) BINOP_FALLBACK(Shl)
130 49: BINOP_FALLBACK(Shr)
131 :
132 1451: BINOP_FALLBACK(LT) BINOP_FALLBACK(GT) BINOP_FALLBACK(LE)
133 4017: BINOP_FALLBACK(GE) BINOP_FALLBACK(EQ) BINOP_FALLBACK(NE)
134 588: BINOP_FALLBACK(And) BINOP_FALLBACK(Xor) BINOP_FALLBACK(Or)
135 392: BINOP_FALLBACK(LAnd) BINOP_FALLBACK(LOr)
136 :
137 4611: BINOP_FALLBACK(Assign)
138 321: BINOP_FALLBACK(Comma)
139 : #undef BINOP_FALLBACK
140 :
141 : // If the implementation doesn't implement compound assignment operator
142 : // methods, fall back on VisitCompoundAssignOperator.
143 : #define CAO_FALLBACK(NAME) \
144 : RetTy VisitBin ## NAME(CompoundAssignOperator *S) { \
145 : DISPATCH(CompoundAssignOperator, CompoundAssignOperator); \
146 : }
147 179: CAO_FALLBACK(MulAssign) CAO_FALLBACK(DivAssign) CAO_FALLBACK(RemAssign)
148 131: CAO_FALLBACK(AddAssign) CAO_FALLBACK(SubAssign) CAO_FALLBACK(ShlAssign)
149 116: CAO_FALLBACK(ShrAssign) CAO_FALLBACK(AndAssign) CAO_FALLBACK(OrAssign)
150 0: CAO_FALLBACK(XorAssign)
151 : #undef CAO_FALLBACK
152 :
153 : // If the implementation doesn't implement unary operator methods, fall back
154 : // on VisitUnaryOperator.
155 : #define UNARYOP_FALLBACK(NAME) \
156 : RetTy VisitUnary ## NAME(UnaryOperator *S) { \
157 : DISPATCH(UnaryOperator, UnaryOperator); \
158 : }
159 497: UNARYOP_FALLBACK(PostInc) UNARYOP_FALLBACK(PostDec)
160 1977: UNARYOP_FALLBACK(PreInc) UNARYOP_FALLBACK(PreDec)
161 4615: UNARYOP_FALLBACK(AddrOf) UNARYOP_FALLBACK(Deref)
162 :
163 292: UNARYOP_FALLBACK(Plus) UNARYOP_FALLBACK(Minus)
164 1684: UNARYOP_FALLBACK(Not) UNARYOP_FALLBACK(LNot)
165 49: UNARYOP_FALLBACK(Real) UNARYOP_FALLBACK(Imag)
166 639: UNARYOP_FALLBACK(Extension) UNARYOP_FALLBACK(OffsetOf)
167 : #undef UNARYOP_FALLBACK
168 :
169 : // Base case, ignore it. :)
170 0: RetTy VisitStmt(Stmt *Node) { return RetTy(); }
171 : };
172 :
173 : #undef DISPATCH
174 :
175 : } // end namespace clang
176 :
177 : #endif
Generated: 2010-02-10 01:31 by zcov