 |
|
 |
|
| Files: |
1 |
|
Branches Taken: |
71.5% |
163 / 228 |
| Generated: |
2010-02-10 01:31 |
|
Branches Executed: |
100.0% |
228 / 228 |
| |
|
Line Coverage: |
75.0% |
6 / 8 |
| |
 |
|
 |
1 : //===--- TypeLocVisitor.h - Visitor for TypeLoc 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 TypeLocVisitor interface.
11 : //
12 : //===----------------------------------------------------------------------===//
13 : #ifndef LLVM_CLANG_AST_TYPELOCVISITOR_H
14 : #define LLVM_CLANG_AST_TYPELOCVISITOR_H
15 :
16 : #include "clang/AST/TypeLoc.h"
17 : #include "clang/AST/TypeVisitor.h"
18 : #include "llvm/Support/ErrorHandling.h"
19 :
20 : namespace clang {
21 :
22 : #define DISPATCH(CLASSNAME) \
23 : return static_cast<ImplClass*>(this)-> \
24 : Visit##CLASSNAME(cast<CLASSNAME>(TyLoc))
25 :
26 : template<typename ImplClass, typename RetTy=void>
27 128034: class TypeLocVisitor {
28 : public:
29 226212: RetTy Visit(TypeLoc TyLoc) {
62: branch 1 taken
1262: branch 2 taken
2: branch 3 taken
253: branch 4 taken
4: branch 5 taken
2: branch 6 taken
0: branch 7 not taken
0: branch 8 not taken
25: branch 9 taken
26: branch 10 taken
2: branch 11 taken
0: branch 12 not taken
0: branch 13 not taken
2: branch 14 taken
8: branch 15 taken
410: branch 16 taken
12: branch 17 taken
0: branch 18 not taken
63: branch 19 taken
75: branch 20 taken
8: branch 21 taken
0: branch 22 not taken
54: branch 23 taken
2: branch 24 taken
0: branch 25 not taken
0: branch 26 not taken
0: branch 27 not taken
0: branch 28 not taken
0: branch 29 not taken
0: branch 30 not taken
44: branch 31 taken
142: branch 32 taken
0: branch 33 not taken
9: branch 38 taken
0: branch 39 not taken
4: branch 40 taken
0: branch 41 not taken
0: branch 42 not taken
3: branch 43 taken
3: branch 44 taken
0: branch 45 not taken
0: branch 46 not taken
0: branch 47 not taken
13: branch 48 taken
0: branch 49 not taken
1: branch 50 taken
0: branch 51 not taken
1: branch 52 taken
2131: branch 53 taken
10: branch 54 taken
0: branch 55 not taken
4: branch 56 taken
798: branch 57 taken
16: branch 58 taken
65: branch 59 taken
869: branch 60 taken
524: branch 61 taken
395: branch 62 taken
112: branch 63 taken
57: branch 64 taken
360: branch 65 taken
0: branch 66 not taken
0: branch 67 not taken
1819: branch 69 taken
8061: branch 70 taken
250: branch 71 taken
16791: branch 72 taken
275: branch 73 taken
2669: branch 74 taken
50: branch 75 taken
363: branch 76 taken
1868: branch 77 taken
625: branch 78 taken
204: branch 79 taken
92: branch 80 taken
8: branch 81 taken
340: branch 82 taken
68: branch 83 taken
12738: branch 84 taken
2110: branch 85 taken
2: branch 86 taken
2364: branch 87 taken
86: branch 88 taken
10: branch 89 taken
21: branch 90 taken
6852: branch 91 taken
178: branch 92 taken
522: branch 93 taken
4079: branch 94 taken
3266: branch 95 taken
2871: branch 96 taken
567: branch 97 taken
197: branch 98 taken
382: branch 99 taken
3711: branch 100 taken
0: branch 101 not taken
3820: branch 103 taken
42210: branch 104 taken
212: branch 105 taken
14650: branch 106 taken
234: branch 107 taken
2228: branch 108 taken
45: branch 109 taken
354: branch 110 taken
1756: branch 111 taken
347: branch 112 taken
192: branch 113 taken
112: branch 114 taken
14: branch 115 taken
326: branch 116 taken
64: branch 117 taken
12453: branch 118 taken
2056: branch 119 taken
2: branch 120 taken
12776: branch 121 taken
284: branch 122 taken
25: branch 123 taken
19: branch 124 taken
6122: branch 125 taken
173: branch 126 taken
481: branch 127 taken
6097: branch 128 taken
2724: branch 129 taken
6550: branch 130 taken
465: branch 131 taken
289: branch 132 taken
1979: branch 133 taken
3453: branch 134 taken
0: branch 135 not taken
51: branch 137 taken
2622: branch 138 taken
211: branch 139 taken
1139: branch 140 taken
0: branch 141 not taken
109: branch 142 taken
4: branch 143 taken
16: branch 144 taken
2: branch 145 taken
0: branch 146 not taken
0: branch 147 not taken
14: branch 148 taken
8: branch 149 taken
325: branch 150 taken
56: branch 151 taken
101: branch 152 taken
0: branch 153 not taken
1: branch 154 taken
154: branch 155 taken
0: branch 156 not taken
0: branch 157 not taken
16: branch 158 taken
6027: branch 159 taken
150: branch 160 taken
434: branch 161 taken
3100: branch 162 taken
45: branch 163 taken
1210: branch 164 taken
338: branch 165 taken
148: branch 166 taken
8: branch 167 taken
1268: branch 168 taken
0: branch 169 not taken
30 226212: switch (TyLoc.getTypeLocClass()) {
31 : #define ABSTRACT_TYPELOC(CLASS, PARENT)
32 : #define TYPELOC(CLASS, PARENT) \
33 : case TypeLoc::CLASS: DISPATCH(CLASS##TypeLoc);
34 : #include "clang/AST/TypeLocNodes.def"
35 : }
36 0: llvm_unreachable("unexpected type loc class!");
37 : }
38 :
39 96848: RetTy Visit(UnqualTypeLoc TyLoc) {
0: branch 1 not taken
0: branch 2 not taken
0: branch 3 not taken
12569: branch 4 taken
226: branch 5 taken
1554: branch 6 taken
36: branch 7 taken
287: branch 8 taken
1686: branch 9 taken
330: branch 10 taken
191: branch 11 taken
42: branch 12 taken
0: branch 13 not taken
0: branch 14 not taken
0: branch 15 not taken
12257: branch 16 taken
2050: branch 17 taken
0: branch 18 not taken
0: branch 19 not taken
0: branch 20 not taken
0: branch 21 not taken
0: branch 22 not taken
0: branch 23 not taken
0: branch 24 not taken
0: branch 25 not taken
0: branch 26 not taken
0: branch 27 not taken
0: branch 28 not taken
0: branch 29 not taken
0: branch 30 not taken
0: branch 31 not taken
1929: branch 32 taken
0: branch 33 not taken
0: branch 35 not taken
38984: branch 36 taken
205: branch 37 taken
57: branch 38 taken
0: branch 39 not taken
42: branch 40 taken
1: branch 41 taken
3: branch 42 taken
0: branch 43 not taken
0: branch 44 not taken
0: branch 45 not taken
0: branch 46 not taken
0: branch 47 not taken
325: branch 48 taken
0: branch 49 not taken
3: branch 50 taken
0: branch 51 not taken
1: branch 52 taken
12470: branch 53 taken
244: branch 54 taken
17: branch 55 taken
15: branch 56 taken
5405: branch 57 taken
140: branch 58 taken
431: branch 59 taken
1800: branch 60 taken
0: branch 61 not taken
949: branch 62 taken
330: branch 63 taken
87: branch 64 taken
1963: branch 65 taken
219: branch 66 taken
0: branch 67 not taken
40 96848: switch (TyLoc.getTypeLocClass()) {
41 : #define ABSTRACT_TYPELOC(CLASS, PARENT)
42 : #define TYPELOC(CLASS, PARENT) \
43 : case TypeLoc::CLASS: DISPATCH(CLASS##TypeLoc);
44 : #include "clang/AST/TypeLocNodes.def"
45 : }
46 0: llvm_unreachable("unexpected type loc class!");
47 : }
48 :
49 : #define TYPELOC(CLASS, PARENT) \
50 : RetTy Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
51 : DISPATCH(PARENT); \
52 : }
53 : #include "clang/AST/TypeLocNodes.def"
54 :
55 32: RetTy VisitTypeLoc(TypeLoc TyLoc) { return RetTy(); }
56 : };
57 :
58 : #undef DISPATCH
59 :
60 : } // end namespace clang
61 :
62 : #endif // LLVM_CLANG_AST_TYPELOCVISITOR_H
Generated: 2010-02-10 01:31 by zcov