xref: /llvm-project/clang/test/Index/recursive-member-access.c (revision 4c362d53105628e867452a29a0b0e5c5ff3ee60c)
192209a45STed Kremenek struct rdar8650865 {
292209a45STed Kremenek   struct rdar8650865 *first;
392209a45STed Kremenek   int x;
492209a45STed Kremenek };
592209a45STed Kremenek 
test_rdar8650865(struct rdar8650865 * s)692209a45STed Kremenek int test_rdar8650865(struct rdar8650865 *s) {
792209a45STed Kremenek   return ((((((s->first)->first)
892209a45STed Kremenek     ->first)
992209a45STed Kremenek     ->first)
1092209a45STed Kremenek     ->first)
1192209a45STed Kremenek     ->first)
1292209a45STed Kremenek     ->first
1392209a45STed Kremenek     ->first
1492209a45STed Kremenek     ->first
1592209a45STed Kremenek     ->first
1692209a45STed Kremenek     ->first
1792209a45STed Kremenek     ->first
1892209a45STed Kremenek     ->first
1992209a45STed Kremenek     ->first
2092209a45STed Kremenek     ->first
2192209a45STed Kremenek     ->first
2292209a45STed Kremenek     ->first
2392209a45STed Kremenek     ->first
2492209a45STed Kremenek     ->first
2592209a45STed Kremenek     ->first
2692209a45STed Kremenek     ->first
2792209a45STed Kremenek     ->first
2892209a45STed Kremenek     ->first
2992209a45STed Kremenek     ->first
3092209a45STed Kremenek     ->first
3192209a45STed Kremenek     ->first
3292209a45STed Kremenek     ->first
3392209a45STed Kremenek     ->first
3492209a45STed Kremenek     ->first
3592209a45STed Kremenek     ->first
3692209a45STed Kremenek     ->first
3792209a45STed Kremenek     ->first
3892209a45STed Kremenek     ->first
3992209a45STed Kremenek     ->first
4092209a45STed Kremenek     ->first
4192209a45STed Kremenek     ->first
4292209a45STed Kremenek     ->first
4392209a45STed Kremenek     ->first
4492209a45STed Kremenek     ->first
4592209a45STed Kremenek     ->first
4692209a45STed Kremenek     ->first
4792209a45STed Kremenek     ->first
4892209a45STed Kremenek     ->first
4992209a45STed Kremenek     ->first
5092209a45STed Kremenek     ->first
5192209a45STed Kremenek     ->first
5292209a45STed Kremenek     ->first
5392209a45STed Kremenek     ->first
5492209a45STed Kremenek     ->first
5592209a45STed Kremenek     ->first
5692209a45STed Kremenek     ->first
5792209a45STed Kremenek     ->first
5892209a45STed Kremenek     ->first
5992209a45STed Kremenek     ->first
6092209a45STed Kremenek     ->first
6192209a45STed Kremenek     ->first
6292209a45STed Kremenek     ->first
6392209a45STed Kremenek     ->first
6492209a45STed Kremenek     ->first
6592209a45STed Kremenek     ->first
6692209a45STed Kremenek     ->first
6792209a45STed Kremenek     ->first
6892209a45STed Kremenek     ->first
6992209a45STed Kremenek     ->first
7092209a45STed Kremenek     ->first
7192209a45STed Kremenek     ->first
7292209a45STed Kremenek     ->first
7392209a45STed Kremenek     ->first
7492209a45STed Kremenek     ->first
7592209a45STed Kremenek     ->first
7692209a45STed Kremenek     ->first
7792209a45STed Kremenek     ->first
7892209a45STed Kremenek     ->first
7992209a45STed Kremenek     ->first
8092209a45STed Kremenek     ->first
8192209a45STed Kremenek     ->first
8292209a45STed Kremenek     ->first
8392209a45STed Kremenek     ->first
8492209a45STed Kremenek     ->first
8592209a45STed Kremenek     ->first
8692209a45STed Kremenek     ->first
8792209a45STed Kremenek     ->first
8892209a45STed Kremenek     ->first
8992209a45STed Kremenek     ->first
9092209a45STed Kremenek     ->first
9192209a45STed Kremenek     ->first
9292209a45STed Kremenek     ->first
9392209a45STed Kremenek     ->first
9492209a45STed Kremenek     ->first
9592209a45STed Kremenek     ->first
9692209a45STed Kremenek     ->first
9792209a45STed Kremenek     ->first
9892209a45STed Kremenek     ->first
9992209a45STed Kremenek     ->first
10092209a45STed Kremenek     ->first
10192209a45STed Kremenek     ->first
10292209a45STed Kremenek     ->first
10392209a45STed Kremenek     ->first
10492209a45STed Kremenek     ->first
10592209a45STed Kremenek     ->first
10692209a45STed Kremenek     ->first
10792209a45STed Kremenek     ->first
10892209a45STed Kremenek     ->first
10992209a45STed Kremenek     ->first
11092209a45STed Kremenek     ->first
11192209a45STed Kremenek     ->first
11292209a45STed Kremenek     ->first
11392209a45STed Kremenek     ->first
11492209a45STed Kremenek     ->first
11592209a45STed Kremenek     ->first
11692209a45STed Kremenek     ->first
11792209a45STed Kremenek     ->first
11892209a45STed Kremenek     ->first
11992209a45STed Kremenek     ->first
12092209a45STed Kremenek     ->first
12192209a45STed Kremenek     ->first
12292209a45STed Kremenek     ->first
12392209a45STed Kremenek     ->x;
12492209a45STed Kremenek }
12592209a45STed Kremenek 
12692209a45STed Kremenek // RUN: c-index-test -test-load-source all %s | FileCheck %s
12792209a45STed Kremenek // CHECK: 1:8: StructDecl=rdar8650865:1:8 (Definition) Extent=[1:1 - 4:2]
128dff1930bSAbramo Bagnara // CHECK: 2:23: FieldDecl=first:2:23 (Definition) Extent=[2:3 - 2:28]
12992209a45STed Kremenek // CHECK: 2:10: TypeRef=struct rdar8650865:1:8 Extent=[2:10 - 2:21]
130dff1930bSAbramo Bagnara // CHECK: 3:7: FieldDecl=x:3:7 (Definition) Extent=[3:3 - 3:8]
131dff1930bSAbramo Bagnara // CHECK: 6:5: FunctionDecl=test_rdar8650865:6:5 (Definition) Extent=[6:1 - 124:2]
132dff1930bSAbramo Bagnara // CHECK: 6:42: ParmDecl=s:6:42 (Definition) Extent=[6:22 - 6:43]
13392209a45STed Kremenek // CHECK: 6:29: TypeRef=struct rdar8650865:1:8 Extent=[6:29 - 6:40]
134*4c362d53SDouglas Gregor // CHECK: 6:45: CompoundStmt= Extent=[6:45 - 124:2]
135*4c362d53SDouglas Gregor // CHECK: 7:3: ReturnStmt= Extent=[7:3 - 123:8]
136c1679ecfSDouglas Gregor // CHECK: 123:7: MemberRefExpr=x:3:7 SingleRefName=[123:7 - 123:8] RefName=[123:7 - 123:8] Extent=[7:10 - 123:8]
137c1679ecfSDouglas Gregor // CHECK: 122:7: MemberRefExpr=first:2:23 SingleRefName=[122:7 - 122:12] RefName=[122:7 - 122:12] Extent=[7:10 - 122:12]
138c1679ecfSDouglas Gregor // CHECK: 121:7: MemberRefExpr=first:2:23 SingleRefName=[121:7 - 121:12] RefName=[121:7 - 121:12] Extent=[7:10 - 121:12]
139c1679ecfSDouglas Gregor // CHECK: 120:7: MemberRefExpr=first:2:23 SingleRefName=[120:7 - 120:12] RefName=[120:7 - 120:12] Extent=[7:10 - 120:12]
140c1679ecfSDouglas Gregor // CHECK: 119:7: MemberRefExpr=first:2:23 SingleRefName=[119:7 - 119:12] RefName=[119:7 - 119:12] Extent=[7:10 - 119:12]
141c1679ecfSDouglas Gregor // CHECK: 118:7: MemberRefExpr=first:2:23 SingleRefName=[118:7 - 118:12] RefName=[118:7 - 118:12] Extent=[7:10 - 118:12]
142c1679ecfSDouglas Gregor // CHECK: 117:7: MemberRefExpr=first:2:23 SingleRefName=[117:7 - 117:12] RefName=[117:7 - 117:12] Extent=[7:10 - 117:12]
143c1679ecfSDouglas Gregor // CHECK: 116:7: MemberRefExpr=first:2:23 SingleRefName=[116:7 - 116:12] RefName=[116:7 - 116:12] Extent=[7:10 - 116:12]
144c1679ecfSDouglas Gregor // CHECK: 115:7: MemberRefExpr=first:2:23 SingleRefName=[115:7 - 115:12] RefName=[115:7 - 115:12] Extent=[7:10 - 115:12]
145c1679ecfSDouglas Gregor // CHECK: 114:7: MemberRefExpr=first:2:23 SingleRefName=[114:7 - 114:12] RefName=[114:7 - 114:12] Extent=[7:10 - 114:12]
146c1679ecfSDouglas Gregor // CHECK: 113:7: MemberRefExpr=first:2:23 SingleRefName=[113:7 - 113:12] RefName=[113:7 - 113:12] Extent=[7:10 - 113:12]
147c1679ecfSDouglas Gregor // CHECK: 112:7: MemberRefExpr=first:2:23 SingleRefName=[112:7 - 112:12] RefName=[112:7 - 112:12] Extent=[7:10 - 112:12]
148c1679ecfSDouglas Gregor // CHECK: 111:7: MemberRefExpr=first:2:23 SingleRefName=[111:7 - 111:12] RefName=[111:7 - 111:12] Extent=[7:10 - 111:12]
149c1679ecfSDouglas Gregor // CHECK: 110:7: MemberRefExpr=first:2:23 SingleRefName=[110:7 - 110:12] RefName=[110:7 - 110:12] Extent=[7:10 - 110:12]
150c1679ecfSDouglas Gregor // CHECK: 109:7: MemberRefExpr=first:2:23 SingleRefName=[109:7 - 109:12] RefName=[109:7 - 109:12] Extent=[7:10 - 109:12]
151c1679ecfSDouglas Gregor // CHECK: 108:7: MemberRefExpr=first:2:23 SingleRefName=[108:7 - 108:12] RefName=[108:7 - 108:12] Extent=[7:10 - 108:12]
152c1679ecfSDouglas Gregor // CHECK: 107:7: MemberRefExpr=first:2:23 SingleRefName=[107:7 - 107:12] RefName=[107:7 - 107:12] Extent=[7:10 - 107:12]
153c1679ecfSDouglas Gregor // CHECK: 106:7: MemberRefExpr=first:2:23 SingleRefName=[106:7 - 106:12] RefName=[106:7 - 106:12] Extent=[7:10 - 106:12]
154c1679ecfSDouglas Gregor // CHECK: 105:7: MemberRefExpr=first:2:23 SingleRefName=[105:7 - 105:12] RefName=[105:7 - 105:12] Extent=[7:10 - 105:12]
155c1679ecfSDouglas Gregor // CHECK: 104:7: MemberRefExpr=first:2:23 SingleRefName=[104:7 - 104:12] RefName=[104:7 - 104:12] Extent=[7:10 - 104:12]
156c1679ecfSDouglas Gregor // CHECK: 103:7: MemberRefExpr=first:2:23 SingleRefName=[103:7 - 103:12] RefName=[103:7 - 103:12] Extent=[7:10 - 103:12]
157c1679ecfSDouglas Gregor // CHECK: 102:7: MemberRefExpr=first:2:23 SingleRefName=[102:7 - 102:12] RefName=[102:7 - 102:12] Extent=[7:10 - 102:12]
158c1679ecfSDouglas Gregor // CHECK: 101:7: MemberRefExpr=first:2:23 SingleRefName=[101:7 - 101:12] RefName=[101:7 - 101:12] Extent=[7:10 - 101:12]
159c1679ecfSDouglas Gregor // CHECK: 100:7: MemberRefExpr=first:2:23 SingleRefName=[100:7 - 100:12] RefName=[100:7 - 100:12] Extent=[7:10 - 100:12]
160c1679ecfSDouglas Gregor // CHECK: 99:7: MemberRefExpr=first:2:23 SingleRefName=[99:7 - 99:12] RefName=[99:7 - 99:12] Extent=[7:10 - 99:12]
161c1679ecfSDouglas Gregor // CHECK: 98:7: MemberRefExpr=first:2:23 SingleRefName=[98:7 - 98:12] RefName=[98:7 - 98:12] Extent=[7:10 - 98:12]
162c1679ecfSDouglas Gregor // CHECK: 97:7: MemberRefExpr=first:2:23 SingleRefName=[97:7 - 97:12] RefName=[97:7 - 97:12] Extent=[7:10 - 97:12]
163c1679ecfSDouglas Gregor // CHECK: 96:7: MemberRefExpr=first:2:23 SingleRefName=[96:7 - 96:12] RefName=[96:7 - 96:12] Extent=[7:10 - 96:12]
164c1679ecfSDouglas Gregor // CHECK: 95:7: MemberRefExpr=first:2:23 SingleRefName=[95:7 - 95:12] RefName=[95:7 - 95:12] Extent=[7:10 - 95:12]
165c1679ecfSDouglas Gregor // CHECK: 94:7: MemberRefExpr=first:2:23 SingleRefName=[94:7 - 94:12] RefName=[94:7 - 94:12] Extent=[7:10 - 94:12]
166c1679ecfSDouglas Gregor // CHECK: 93:7: MemberRefExpr=first:2:23 SingleRefName=[93:7 - 93:12] RefName=[93:7 - 93:12] Extent=[7:10 - 93:12]
167c1679ecfSDouglas Gregor // CHECK: 92:7: MemberRefExpr=first:2:23 SingleRefName=[92:7 - 92:12] RefName=[92:7 - 92:12] Extent=[7:10 - 92:12]
168c1679ecfSDouglas Gregor // CHECK: 91:7: MemberRefExpr=first:2:23 SingleRefName=[91:7 - 91:12] RefName=[91:7 - 91:12] Extent=[7:10 - 91:12]
169c1679ecfSDouglas Gregor // CHECK: 90:7: MemberRefExpr=first:2:23 SingleRefName=[90:7 - 90:12] RefName=[90:7 - 90:12] Extent=[7:10 - 90:12]
170c1679ecfSDouglas Gregor // CHECK: 89:7: MemberRefExpr=first:2:23 SingleRefName=[89:7 - 89:12] RefName=[89:7 - 89:12] Extent=[7:10 - 89:12]
171c1679ecfSDouglas Gregor // CHECK: 88:7: MemberRefExpr=first:2:23 SingleRefName=[88:7 - 88:12] RefName=[88:7 - 88:12] Extent=[7:10 - 88:12]
172c1679ecfSDouglas Gregor // CHECK: 87:7: MemberRefExpr=first:2:23 SingleRefName=[87:7 - 87:12] RefName=[87:7 - 87:12] Extent=[7:10 - 87:12]
173c1679ecfSDouglas Gregor // CHECK: 86:7: MemberRefExpr=first:2:23 SingleRefName=[86:7 - 86:12] RefName=[86:7 - 86:12] Extent=[7:10 - 86:12]
174c1679ecfSDouglas Gregor // CHECK: 85:7: MemberRefExpr=first:2:23 SingleRefName=[85:7 - 85:12] RefName=[85:7 - 85:12] Extent=[7:10 - 85:12]
175c1679ecfSDouglas Gregor // CHECK: 84:7: MemberRefExpr=first:2:23 SingleRefName=[84:7 - 84:12] RefName=[84:7 - 84:12] Extent=[7:10 - 84:12]
176c1679ecfSDouglas Gregor // CHECK: 83:7: MemberRefExpr=first:2:23 SingleRefName=[83:7 - 83:12] RefName=[83:7 - 83:12] Extent=[7:10 - 83:12]
177c1679ecfSDouglas Gregor // CHECK: 82:7: MemberRefExpr=first:2:23 SingleRefName=[82:7 - 82:12] RefName=[82:7 - 82:12] Extent=[7:10 - 82:12]
178c1679ecfSDouglas Gregor // CHECK: 81:7: MemberRefExpr=first:2:23 SingleRefName=[81:7 - 81:12] RefName=[81:7 - 81:12] Extent=[7:10 - 81:12]
179c1679ecfSDouglas Gregor // CHECK: 80:7: MemberRefExpr=first:2:23 SingleRefName=[80:7 - 80:12] RefName=[80:7 - 80:12] Extent=[7:10 - 80:12]
180c1679ecfSDouglas Gregor // CHECK: 79:7: MemberRefExpr=first:2:23 SingleRefName=[79:7 - 79:12] RefName=[79:7 - 79:12] Extent=[7:10 - 79:12]
181c1679ecfSDouglas Gregor // CHECK: 78:7: MemberRefExpr=first:2:23 SingleRefName=[78:7 - 78:12] RefName=[78:7 - 78:12] Extent=[7:10 - 78:12]
182c1679ecfSDouglas Gregor // CHECK: 77:7: MemberRefExpr=first:2:23 SingleRefName=[77:7 - 77:12] RefName=[77:7 - 77:12] Extent=[7:10 - 77:12]
183c1679ecfSDouglas Gregor // CHECK: 76:7: MemberRefExpr=first:2:23 SingleRefName=[76:7 - 76:12] RefName=[76:7 - 76:12] Extent=[7:10 - 76:12]
184c1679ecfSDouglas Gregor // CHECK: 75:7: MemberRefExpr=first:2:23 SingleRefName=[75:7 - 75:12] RefName=[75:7 - 75:12] Extent=[7:10 - 75:12]
185c1679ecfSDouglas Gregor // CHECK: 74:7: MemberRefExpr=first:2:23 SingleRefName=[74:7 - 74:12] RefName=[74:7 - 74:12] Extent=[7:10 - 74:12]
186c1679ecfSDouglas Gregor // CHECK: 73:7: MemberRefExpr=first:2:23 SingleRefName=[73:7 - 73:12] RefName=[73:7 - 73:12] Extent=[7:10 - 73:12]
187c1679ecfSDouglas Gregor // CHECK: 72:7: MemberRefExpr=first:2:23 SingleRefName=[72:7 - 72:12] RefName=[72:7 - 72:12] Extent=[7:10 - 72:12]
188c1679ecfSDouglas Gregor // CHECK: 71:7: MemberRefExpr=first:2:23 SingleRefName=[71:7 - 71:12] RefName=[71:7 - 71:12] Extent=[7:10 - 71:12]
189c1679ecfSDouglas Gregor // CHECK: 70:7: MemberRefExpr=first:2:23 SingleRefName=[70:7 - 70:12] RefName=[70:7 - 70:12] Extent=[7:10 - 70:12]
190c1679ecfSDouglas Gregor // CHECK: 69:7: MemberRefExpr=first:2:23 SingleRefName=[69:7 - 69:12] RefName=[69:7 - 69:12] Extent=[7:10 - 69:12]
191c1679ecfSDouglas Gregor // CHECK: 68:7: MemberRefExpr=first:2:23 SingleRefName=[68:7 - 68:12] RefName=[68:7 - 68:12] Extent=[7:10 - 68:12]
192c1679ecfSDouglas Gregor // CHECK: 67:7: MemberRefExpr=first:2:23 SingleRefName=[67:7 - 67:12] RefName=[67:7 - 67:12] Extent=[7:10 - 67:12]
193c1679ecfSDouglas Gregor // CHECK: 66:7: MemberRefExpr=first:2:23 SingleRefName=[66:7 - 66:12] RefName=[66:7 - 66:12] Extent=[7:10 - 66:12]
194c1679ecfSDouglas Gregor // CHECK: 65:7: MemberRefExpr=first:2:23 SingleRefName=[65:7 - 65:12] RefName=[65:7 - 65:12] Extent=[7:10 - 65:12]
195c1679ecfSDouglas Gregor // CHECK: 64:7: MemberRefExpr=first:2:23 SingleRefName=[64:7 - 64:12] RefName=[64:7 - 64:12] Extent=[7:10 - 64:12]
196c1679ecfSDouglas Gregor // CHECK: 63:7: MemberRefExpr=first:2:23 SingleRefName=[63:7 - 63:12] RefName=[63:7 - 63:12] Extent=[7:10 - 63:12]
197c1679ecfSDouglas Gregor // CHECK: 62:7: MemberRefExpr=first:2:23 SingleRefName=[62:7 - 62:12] RefName=[62:7 - 62:12] Extent=[7:10 - 62:12]
198c1679ecfSDouglas Gregor // CHECK: 61:7: MemberRefExpr=first:2:23 SingleRefName=[61:7 - 61:12] RefName=[61:7 - 61:12] Extent=[7:10 - 61:12]
199c1679ecfSDouglas Gregor // CHECK: 60:7: MemberRefExpr=first:2:23 SingleRefName=[60:7 - 60:12] RefName=[60:7 - 60:12] Extent=[7:10 - 60:12]
200c1679ecfSDouglas Gregor // CHECK: 59:7: MemberRefExpr=first:2:23 SingleRefName=[59:7 - 59:12] RefName=[59:7 - 59:12] Extent=[7:10 - 59:12]
201c1679ecfSDouglas Gregor // CHECK: 58:7: MemberRefExpr=first:2:23 SingleRefName=[58:7 - 58:12] RefName=[58:7 - 58:12] Extent=[7:10 - 58:12]
202c1679ecfSDouglas Gregor // CHECK: 57:7: MemberRefExpr=first:2:23 SingleRefName=[57:7 - 57:12] RefName=[57:7 - 57:12] Extent=[7:10 - 57:12]
203c1679ecfSDouglas Gregor // CHECK: 56:7: MemberRefExpr=first:2:23 SingleRefName=[56:7 - 56:12] RefName=[56:7 - 56:12] Extent=[7:10 - 56:12]
204c1679ecfSDouglas Gregor // CHECK: 55:7: MemberRefExpr=first:2:23 SingleRefName=[55:7 - 55:12] RefName=[55:7 - 55:12] Extent=[7:10 - 55:12]
205c1679ecfSDouglas Gregor // CHECK: 54:7: MemberRefExpr=first:2:23 SingleRefName=[54:7 - 54:12] RefName=[54:7 - 54:12] Extent=[7:10 - 54:12]
206c1679ecfSDouglas Gregor // CHECK: 53:7: MemberRefExpr=first:2:23 SingleRefName=[53:7 - 53:12] RefName=[53:7 - 53:12] Extent=[7:10 - 53:12]
207c1679ecfSDouglas Gregor // CHECK: 52:7: MemberRefExpr=first:2:23 SingleRefName=[52:7 - 52:12] RefName=[52:7 - 52:12] Extent=[7:10 - 52:12]
208c1679ecfSDouglas Gregor // CHECK: 51:7: MemberRefExpr=first:2:23 SingleRefName=[51:7 - 51:12] RefName=[51:7 - 51:12] Extent=[7:10 - 51:12]
209c1679ecfSDouglas Gregor // CHECK: 50:7: MemberRefExpr=first:2:23 SingleRefName=[50:7 - 50:12] RefName=[50:7 - 50:12] Extent=[7:10 - 50:12]
210c1679ecfSDouglas Gregor // CHECK: 49:7: MemberRefExpr=first:2:23 SingleRefName=[49:7 - 49:12] RefName=[49:7 - 49:12] Extent=[7:10 - 49:12]
211c1679ecfSDouglas Gregor // CHECK: 48:7: MemberRefExpr=first:2:23 SingleRefName=[48:7 - 48:12] RefName=[48:7 - 48:12] Extent=[7:10 - 48:12]
212c1679ecfSDouglas Gregor // CHECK: 47:7: MemberRefExpr=first:2:23 SingleRefName=[47:7 - 47:12] RefName=[47:7 - 47:12] Extent=[7:10 - 47:12]
213c1679ecfSDouglas Gregor // CHECK: 46:7: MemberRefExpr=first:2:23 SingleRefName=[46:7 - 46:12] RefName=[46:7 - 46:12] Extent=[7:10 - 46:12]
214c1679ecfSDouglas Gregor // CHECK: 45:7: MemberRefExpr=first:2:23 SingleRefName=[45:7 - 45:12] RefName=[45:7 - 45:12] Extent=[7:10 - 45:12]
215c1679ecfSDouglas Gregor // CHECK: 44:7: MemberRefExpr=first:2:23 SingleRefName=[44:7 - 44:12] RefName=[44:7 - 44:12] Extent=[7:10 - 44:12]
216c1679ecfSDouglas Gregor // CHECK: 43:7: MemberRefExpr=first:2:23 SingleRefName=[43:7 - 43:12] RefName=[43:7 - 43:12] Extent=[7:10 - 43:12]
217c1679ecfSDouglas Gregor // CHECK: 42:7: MemberRefExpr=first:2:23 SingleRefName=[42:7 - 42:12] RefName=[42:7 - 42:12] Extent=[7:10 - 42:12]
218c1679ecfSDouglas Gregor // CHECK: 41:7: MemberRefExpr=first:2:23 SingleRefName=[41:7 - 41:12] RefName=[41:7 - 41:12] Extent=[7:10 - 41:12]
219c1679ecfSDouglas Gregor // CHECK: 40:7: MemberRefExpr=first:2:23 SingleRefName=[40:7 - 40:12] RefName=[40:7 - 40:12] Extent=[7:10 - 40:12]
220c1679ecfSDouglas Gregor // CHECK: 39:7: MemberRefExpr=first:2:23 SingleRefName=[39:7 - 39:12] RefName=[39:7 - 39:12] Extent=[7:10 - 39:12]
221c1679ecfSDouglas Gregor // CHECK: 38:7: MemberRefExpr=first:2:23 SingleRefName=[38:7 - 38:12] RefName=[38:7 - 38:12] Extent=[7:10 - 38:12]
222c1679ecfSDouglas Gregor // CHECK: 37:7: MemberRefExpr=first:2:23 SingleRefName=[37:7 - 37:12] RefName=[37:7 - 37:12] Extent=[7:10 - 37:12]
223c1679ecfSDouglas Gregor // CHECK: 36:7: MemberRefExpr=first:2:23 SingleRefName=[36:7 - 36:12] RefName=[36:7 - 36:12] Extent=[7:10 - 36:12]
224c1679ecfSDouglas Gregor // CHECK: 35:7: MemberRefExpr=first:2:23 SingleRefName=[35:7 - 35:12] RefName=[35:7 - 35:12] Extent=[7:10 - 35:12]
225c1679ecfSDouglas Gregor // CHECK: 34:7: MemberRefExpr=first:2:23 SingleRefName=[34:7 - 34:12] RefName=[34:7 - 34:12] Extent=[7:10 - 34:12]
226c1679ecfSDouglas Gregor // CHECK: 33:7: MemberRefExpr=first:2:23 SingleRefName=[33:7 - 33:12] RefName=[33:7 - 33:12] Extent=[7:10 - 33:12]
227c1679ecfSDouglas Gregor // CHECK: 32:7: MemberRefExpr=first:2:23 SingleRefName=[32:7 - 32:12] RefName=[32:7 - 32:12] Extent=[7:10 - 32:12]
228c1679ecfSDouglas Gregor // CHECK: 31:7: MemberRefExpr=first:2:23 SingleRefName=[31:7 - 31:12] RefName=[31:7 - 31:12] Extent=[7:10 - 31:12]
229c1679ecfSDouglas Gregor // CHECK: 30:7: MemberRefExpr=first:2:23 SingleRefName=[30:7 - 30:12] RefName=[30:7 - 30:12] Extent=[7:10 - 30:12]
230c1679ecfSDouglas Gregor // CHECK: 29:7: MemberRefExpr=first:2:23 SingleRefName=[29:7 - 29:12] RefName=[29:7 - 29:12] Extent=[7:10 - 29:12]
231c1679ecfSDouglas Gregor // CHECK: 28:7: MemberRefExpr=first:2:23 SingleRefName=[28:7 - 28:12] RefName=[28:7 - 28:12] Extent=[7:10 - 28:12]
232c1679ecfSDouglas Gregor // CHECK: 27:7: MemberRefExpr=first:2:23 SingleRefName=[27:7 - 27:12] RefName=[27:7 - 27:12] Extent=[7:10 - 27:12]
233c1679ecfSDouglas Gregor // CHECK: 26:7: MemberRefExpr=first:2:23 SingleRefName=[26:7 - 26:12] RefName=[26:7 - 26:12] Extent=[7:10 - 26:12]
234c1679ecfSDouglas Gregor // CHECK: 25:7: MemberRefExpr=first:2:23 SingleRefName=[25:7 - 25:12] RefName=[25:7 - 25:12] Extent=[7:10 - 25:12]
235c1679ecfSDouglas Gregor // CHECK: 24:7: MemberRefExpr=first:2:23 SingleRefName=[24:7 - 24:12] RefName=[24:7 - 24:12] Extent=[7:10 - 24:12]
236c1679ecfSDouglas Gregor // CHECK: 23:7: MemberRefExpr=first:2:23 SingleRefName=[23:7 - 23:12] RefName=[23:7 - 23:12] Extent=[7:10 - 23:12]
237c1679ecfSDouglas Gregor // CHECK: 22:7: MemberRefExpr=first:2:23 SingleRefName=[22:7 - 22:12] RefName=[22:7 - 22:12] Extent=[7:10 - 22:12]
238c1679ecfSDouglas Gregor // CHECK: 21:7: MemberRefExpr=first:2:23 SingleRefName=[21:7 - 21:12] RefName=[21:7 - 21:12] Extent=[7:10 - 21:12]
239c1679ecfSDouglas Gregor // CHECK: 20:7: MemberRefExpr=first:2:23 SingleRefName=[20:7 - 20:12] RefName=[20:7 - 20:12] Extent=[7:10 - 20:12]
240c1679ecfSDouglas Gregor // CHECK: 19:7: MemberRefExpr=first:2:23 SingleRefName=[19:7 - 19:12] RefName=[19:7 - 19:12] Extent=[7:10 - 19:12]
241c1679ecfSDouglas Gregor // CHECK: 18:7: MemberRefExpr=first:2:23 SingleRefName=[18:7 - 18:12] RefName=[18:7 - 18:12] Extent=[7:10 - 18:12]
242c1679ecfSDouglas Gregor // CHECK: 17:7: MemberRefExpr=first:2:23 SingleRefName=[17:7 - 17:12] RefName=[17:7 - 17:12] Extent=[7:10 - 17:12]
243c1679ecfSDouglas Gregor // CHECK: 16:7: MemberRefExpr=first:2:23 SingleRefName=[16:7 - 16:12] RefName=[16:7 - 16:12] Extent=[7:10 - 16:12]
244c1679ecfSDouglas Gregor // CHECK: 15:7: MemberRefExpr=first:2:23 SingleRefName=[15:7 - 15:12] RefName=[15:7 - 15:12] Extent=[7:10 - 15:12]
245c1679ecfSDouglas Gregor // CHECK: 14:7: MemberRefExpr=first:2:23 SingleRefName=[14:7 - 14:12] RefName=[14:7 - 14:12] Extent=[7:10 - 14:12]
246c1679ecfSDouglas Gregor // CHECK: 13:7: MemberRefExpr=first:2:23 SingleRefName=[13:7 - 13:12] RefName=[13:7 - 13:12] Extent=[7:10 - 13:12]
247c1679ecfSDouglas Gregor // CHECK: 12:7: MemberRefExpr=first:2:23 SingleRefName=[12:7 - 12:12] RefName=[12:7 - 12:12] Extent=[7:10 - 12:12]
248c1679ecfSDouglas Gregor // CHECK: 11:7: MemberRefExpr=first:2:23 SingleRefName=[11:7 - 11:12] RefName=[11:7 - 11:12] Extent=[7:11 - 11:12]
249c1679ecfSDouglas Gregor // CHECK: 10:7: MemberRefExpr=first:2:23 SingleRefName=[10:7 - 10:12] RefName=[10:7 - 10:12] Extent=[7:12 - 10:12]
250c1679ecfSDouglas Gregor // CHECK: 9:7: MemberRefExpr=first:2:23 SingleRefName=[9:7 - 9:12] RefName=[9:7 - 9:12] Extent=[7:13 - 9:12]
251c1679ecfSDouglas Gregor // CHECK: 8:7: MemberRefExpr=first:2:23 SingleRefName=[8:7 - 8:12] RefName=[8:7 - 8:12] Extent=[7:14 - 8:12]
252c1679ecfSDouglas Gregor // CHECK: 7:27: MemberRefExpr=first:2:23 SingleRefName=[7:27 - 7:32] RefName=[7:27 - 7:32] Extent=[7:15 - 7:32]
253c1679ecfSDouglas Gregor // CHECK: 7:19: MemberRefExpr=first:2:23 SingleRefName=[7:19 - 7:24] RefName=[7:19 - 7:24] Extent=[7:16 - 7:24]
25492209a45STed Kremenek // CHECK: 7:16: DeclRefExpr=s:6:42 Extent=[7:16 - 7:17]
25592209a45STed Kremenek 
25692209a45STed Kremenek // RUN: c-index-test -test-annotate-tokens=%s:1:1:124:1 %s | FileCheck -check-prefix=CHECK-tokens %s
25792209a45STed Kremenek // CHECK-tokens: Keyword: "struct" [1:1 - 1:7] StructDecl=rdar8650865:1:8 (Definition)
25892209a45STed Kremenek // CHECK-tokens: Identifier: "rdar8650865" [1:8 - 1:19] StructDecl=rdar8650865:1:8 (Definition)
25992209a45STed Kremenek // CHECK-tokens: Punctuation: "{" [1:20 - 1:21] StructDecl=rdar8650865:1:8 (Definition)
2609875a3ceSAbramo Bagnara // CHECK-tokens: Keyword: "struct" [2:3 - 2:9] FieldDecl=first:2:23 (Definition)
26192209a45STed Kremenek // CHECK-tokens: Identifier: "rdar8650865" [2:10 - 2:21] TypeRef=struct rdar8650865:1:8
26292209a45STed Kremenek // CHECK-tokens: Punctuation: "*" [2:22 - 2:23] FieldDecl=first:2:23 (Definition)
26392209a45STed Kremenek // CHECK-tokens: Identifier: "first" [2:23 - 2:28] FieldDecl=first:2:23 (Definition)
26492209a45STed Kremenek // CHECK-tokens: Punctuation: ";" [2:28 - 2:29] StructDecl=rdar8650865:1:8 (Definition)
26592209a45STed Kremenek // CHECK-tokens: Keyword: "int" [3:3 - 3:6] FieldDecl=x:3:7 (Definition)
26692209a45STed Kremenek // CHECK-tokens: Identifier: "x" [3:7 - 3:8] FieldDecl=x:3:7 (Definition)
26792209a45STed Kremenek // CHECK-tokens: Punctuation: ";" [3:8 - 3:9] StructDecl=rdar8650865:1:8 (Definition)
26892209a45STed Kremenek // CHECK-tokens: Punctuation: "}" [4:1 - 4:2] StructDecl=rdar8650865:1:8 (Definition)
26992209a45STed Kremenek // CHECK-tokens: Punctuation: ";" [4:2 - 4:3]
27092209a45STed Kremenek // CHECK-tokens: Keyword: "int" [6:1 - 6:4] FunctionDecl=test_rdar8650865:6:5 (Definition)
27192209a45STed Kremenek // CHECK-tokens: Identifier: "test_rdar8650865" [6:5 - 6:21] FunctionDecl=test_rdar8650865:6:5 (Definition)
27292209a45STed Kremenek // CHECK-tokens: Punctuation: "(" [6:21 - 6:22] FunctionDecl=test_rdar8650865:6:5 (Definition)
2739875a3ceSAbramo Bagnara // CHECK-tokens: Keyword: "struct" [6:22 - 6:28] ParmDecl=s:6:42 (Definition)
27492209a45STed Kremenek // CHECK-tokens: Identifier: "rdar8650865" [6:29 - 6:40] TypeRef=struct rdar8650865:1:8
27592209a45STed Kremenek // CHECK-tokens: Punctuation: "*" [6:41 - 6:42] ParmDecl=s:6:42 (Definition)
27692209a45STed Kremenek // CHECK-tokens: Identifier: "s" [6:42 - 6:43] ParmDecl=s:6:42 (Definition)
27792209a45STed Kremenek // CHECK-tokens: Punctuation: ")" [6:43 - 6:44] FunctionDecl=test_rdar8650865:6:5 (Definition)
278*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: "{" [6:45 - 6:46] CompoundStmt=
279*4c362d53SDouglas Gregor // CHECK-tokens: Keyword: "return" [7:3 - 7:9] ReturnStmt=
280*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: "(" [7:10 - 7:11] ParenExpr=
281*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: "(" [7:11 - 7:12] ParenExpr=
282*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: "(" [7:12 - 7:13] ParenExpr=
283*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: "(" [7:13 - 7:14] ParenExpr=
284*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: "(" [7:14 - 7:15] ParenExpr=
285*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: "(" [7:15 - 7:16] ParenExpr=
28692209a45STed Kremenek // CHECK-tokens: Identifier: "s" [7:16 - 7:17] DeclRefExpr=s:6:42
28792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [7:17 - 7:19] MemberRefExpr=first:2:23
28892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [7:19 - 7:24] MemberRefExpr=first:2:23
289*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: ")" [7:24 - 7:25] ParenExpr=
29092209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [7:25 - 7:27] MemberRefExpr=first:2:23
29192209a45STed Kremenek // CHECK-tokens: Identifier: "first" [7:27 - 7:32] MemberRefExpr=first:2:23
292*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: ")" [7:32 - 7:33] ParenExpr=
29392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [8:5 - 8:7] MemberRefExpr=first:2:23
29492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [8:7 - 8:12] MemberRefExpr=first:2:23
295*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: ")" [8:12 - 8:13] ParenExpr=
29692209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [9:5 - 9:7] MemberRefExpr=first:2:23
29792209a45STed Kremenek // CHECK-tokens: Identifier: "first" [9:7 - 9:12] MemberRefExpr=first:2:23
298*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: ")" [9:12 - 9:13] ParenExpr=
29992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [10:5 - 10:7] MemberRefExpr=first:2:23
30092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [10:7 - 10:12] MemberRefExpr=first:2:23
301*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: ")" [10:12 - 10:13] ParenExpr=
30292209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [11:5 - 11:7] MemberRefExpr=first:2:23
30392209a45STed Kremenek // CHECK-tokens: Identifier: "first" [11:7 - 11:12] MemberRefExpr=first:2:23
304*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: ")" [11:12 - 11:13] ParenExpr=
30592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [12:5 - 12:7] MemberRefExpr=first:2:23
30692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [12:7 - 12:12] MemberRefExpr=first:2:23
30792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [13:5 - 13:7] MemberRefExpr=first:2:23
30892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [13:7 - 13:12] MemberRefExpr=first:2:23
30992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [14:5 - 14:7] MemberRefExpr=first:2:23
31092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [14:7 - 14:12] MemberRefExpr=first:2:23
31192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [15:5 - 15:7] MemberRefExpr=first:2:23
31292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [15:7 - 15:12] MemberRefExpr=first:2:23
31392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [16:5 - 16:7] MemberRefExpr=first:2:23
31492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [16:7 - 16:12] MemberRefExpr=first:2:23
31592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [17:5 - 17:7] MemberRefExpr=first:2:23
31692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [17:7 - 17:12] MemberRefExpr=first:2:23
31792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [18:5 - 18:7] MemberRefExpr=first:2:23
31892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [18:7 - 18:12] MemberRefExpr=first:2:23
31992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [19:5 - 19:7] MemberRefExpr=first:2:23
32092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [19:7 - 19:12] MemberRefExpr=first:2:23
32192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [20:5 - 20:7] MemberRefExpr=first:2:23
32292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [20:7 - 20:12] MemberRefExpr=first:2:23
32392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [21:5 - 21:7] MemberRefExpr=first:2:23
32492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [21:7 - 21:12] MemberRefExpr=first:2:23
32592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [22:5 - 22:7] MemberRefExpr=first:2:23
32692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [22:7 - 22:12] MemberRefExpr=first:2:23
32792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [23:5 - 23:7] MemberRefExpr=first:2:23
32892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [23:7 - 23:12] MemberRefExpr=first:2:23
32992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [24:5 - 24:7] MemberRefExpr=first:2:23
33092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [24:7 - 24:12] MemberRefExpr=first:2:23
33192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [25:5 - 25:7] MemberRefExpr=first:2:23
33292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [25:7 - 25:12] MemberRefExpr=first:2:23
33392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [26:5 - 26:7] MemberRefExpr=first:2:23
33492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [26:7 - 26:12] MemberRefExpr=first:2:23
33592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [27:5 - 27:7] MemberRefExpr=first:2:23
33692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [27:7 - 27:12] MemberRefExpr=first:2:23
33792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [28:5 - 28:7] MemberRefExpr=first:2:23
33892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [28:7 - 28:12] MemberRefExpr=first:2:23
33992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [29:5 - 29:7] MemberRefExpr=first:2:23
34092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [29:7 - 29:12] MemberRefExpr=first:2:23
34192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [30:5 - 30:7] MemberRefExpr=first:2:23
34292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [30:7 - 30:12] MemberRefExpr=first:2:23
34392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [31:5 - 31:7] MemberRefExpr=first:2:23
34492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [31:7 - 31:12] MemberRefExpr=first:2:23
34592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [32:5 - 32:7] MemberRefExpr=first:2:23
34692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [32:7 - 32:12] MemberRefExpr=first:2:23
34792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [33:5 - 33:7] MemberRefExpr=first:2:23
34892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [33:7 - 33:12] MemberRefExpr=first:2:23
34992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [34:5 - 34:7] MemberRefExpr=first:2:23
35092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [34:7 - 34:12] MemberRefExpr=first:2:23
35192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [35:5 - 35:7] MemberRefExpr=first:2:23
35292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [35:7 - 35:12] MemberRefExpr=first:2:23
35392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [36:5 - 36:7] MemberRefExpr=first:2:23
35492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [36:7 - 36:12] MemberRefExpr=first:2:23
35592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [37:5 - 37:7] MemberRefExpr=first:2:23
35692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [37:7 - 37:12] MemberRefExpr=first:2:23
35792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [38:5 - 38:7] MemberRefExpr=first:2:23
35892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [38:7 - 38:12] MemberRefExpr=first:2:23
35992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [39:5 - 39:7] MemberRefExpr=first:2:23
36092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [39:7 - 39:12] MemberRefExpr=first:2:23
36192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [40:5 - 40:7] MemberRefExpr=first:2:23
36292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [40:7 - 40:12] MemberRefExpr=first:2:23
36392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [41:5 - 41:7] MemberRefExpr=first:2:23
36492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [41:7 - 41:12] MemberRefExpr=first:2:23
36592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [42:5 - 42:7] MemberRefExpr=first:2:23
36692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [42:7 - 42:12] MemberRefExpr=first:2:23
36792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [43:5 - 43:7] MemberRefExpr=first:2:23
36892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [43:7 - 43:12] MemberRefExpr=first:2:23
36992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [44:5 - 44:7] MemberRefExpr=first:2:23
37092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [44:7 - 44:12] MemberRefExpr=first:2:23
37192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [45:5 - 45:7] MemberRefExpr=first:2:23
37292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [45:7 - 45:12] MemberRefExpr=first:2:23
37392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [46:5 - 46:7] MemberRefExpr=first:2:23
37492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [46:7 - 46:12] MemberRefExpr=first:2:23
37592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [47:5 - 47:7] MemberRefExpr=first:2:23
37692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [47:7 - 47:12] MemberRefExpr=first:2:23
37792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [48:5 - 48:7] MemberRefExpr=first:2:23
37892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [48:7 - 48:12] MemberRefExpr=first:2:23
37992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [49:5 - 49:7] MemberRefExpr=first:2:23
38092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [49:7 - 49:12] MemberRefExpr=first:2:23
38192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [50:5 - 50:7] MemberRefExpr=first:2:23
38292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [50:7 - 50:12] MemberRefExpr=first:2:23
38392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [51:5 - 51:7] MemberRefExpr=first:2:23
38492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [51:7 - 51:12] MemberRefExpr=first:2:23
38592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [52:5 - 52:7] MemberRefExpr=first:2:23
38692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [52:7 - 52:12] MemberRefExpr=first:2:23
38792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [53:5 - 53:7] MemberRefExpr=first:2:23
38892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [53:7 - 53:12] MemberRefExpr=first:2:23
38992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [54:5 - 54:7] MemberRefExpr=first:2:23
39092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [54:7 - 54:12] MemberRefExpr=first:2:23
39192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [55:5 - 55:7] MemberRefExpr=first:2:23
39292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [55:7 - 55:12] MemberRefExpr=first:2:23
39392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [56:5 - 56:7] MemberRefExpr=first:2:23
39492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [56:7 - 56:12] MemberRefExpr=first:2:23
39592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [57:5 - 57:7] MemberRefExpr=first:2:23
39692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [57:7 - 57:12] MemberRefExpr=first:2:23
39792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [58:5 - 58:7] MemberRefExpr=first:2:23
39892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [58:7 - 58:12] MemberRefExpr=first:2:23
39992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [59:5 - 59:7] MemberRefExpr=first:2:23
40092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [59:7 - 59:12] MemberRefExpr=first:2:23
40192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [60:5 - 60:7] MemberRefExpr=first:2:23
40292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [60:7 - 60:12] MemberRefExpr=first:2:23
40392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [61:5 - 61:7] MemberRefExpr=first:2:23
40492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [61:7 - 61:12] MemberRefExpr=first:2:23
40592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [62:5 - 62:7] MemberRefExpr=first:2:23
40692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [62:7 - 62:12] MemberRefExpr=first:2:23
40792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [63:5 - 63:7] MemberRefExpr=first:2:23
40892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [63:7 - 63:12] MemberRefExpr=first:2:23
40992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [64:5 - 64:7] MemberRefExpr=first:2:23
41092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [64:7 - 64:12] MemberRefExpr=first:2:23
41192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [65:5 - 65:7] MemberRefExpr=first:2:23
41292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [65:7 - 65:12] MemberRefExpr=first:2:23
41392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [66:5 - 66:7] MemberRefExpr=first:2:23
41492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [66:7 - 66:12] MemberRefExpr=first:2:23
41592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [67:5 - 67:7] MemberRefExpr=first:2:23
41692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [67:7 - 67:12] MemberRefExpr=first:2:23
41792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [68:5 - 68:7] MemberRefExpr=first:2:23
41892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [68:7 - 68:12] MemberRefExpr=first:2:23
41992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [69:5 - 69:7] MemberRefExpr=first:2:23
42092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [69:7 - 69:12] MemberRefExpr=first:2:23
42192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [70:5 - 70:7] MemberRefExpr=first:2:23
42292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [70:7 - 70:12] MemberRefExpr=first:2:23
42392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [71:5 - 71:7] MemberRefExpr=first:2:23
42492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [71:7 - 71:12] MemberRefExpr=first:2:23
42592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [72:5 - 72:7] MemberRefExpr=first:2:23
42692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [72:7 - 72:12] MemberRefExpr=first:2:23
42792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [73:5 - 73:7] MemberRefExpr=first:2:23
42892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [73:7 - 73:12] MemberRefExpr=first:2:23
42992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [74:5 - 74:7] MemberRefExpr=first:2:23
43092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [74:7 - 74:12] MemberRefExpr=first:2:23
43192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [75:5 - 75:7] MemberRefExpr=first:2:23
43292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [75:7 - 75:12] MemberRefExpr=first:2:23
43392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [76:5 - 76:7] MemberRefExpr=first:2:23
43492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [76:7 - 76:12] MemberRefExpr=first:2:23
43592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [77:5 - 77:7] MemberRefExpr=first:2:23
43692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [77:7 - 77:12] MemberRefExpr=first:2:23
43792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [78:5 - 78:7] MemberRefExpr=first:2:23
43892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [78:7 - 78:12] MemberRefExpr=first:2:23
43992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [79:5 - 79:7] MemberRefExpr=first:2:23
44092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [79:7 - 79:12] MemberRefExpr=first:2:23
44192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [80:5 - 80:7] MemberRefExpr=first:2:23
44292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [80:7 - 80:12] MemberRefExpr=first:2:23
44392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [81:5 - 81:7] MemberRefExpr=first:2:23
44492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [81:7 - 81:12] MemberRefExpr=first:2:23
44592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [82:5 - 82:7] MemberRefExpr=first:2:23
44692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [82:7 - 82:12] MemberRefExpr=first:2:23
44792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [83:5 - 83:7] MemberRefExpr=first:2:23
44892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [83:7 - 83:12] MemberRefExpr=first:2:23
44992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [84:5 - 84:7] MemberRefExpr=first:2:23
45092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [84:7 - 84:12] MemberRefExpr=first:2:23
45192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [85:5 - 85:7] MemberRefExpr=first:2:23
45292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [85:7 - 85:12] MemberRefExpr=first:2:23
45392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [86:5 - 86:7] MemberRefExpr=first:2:23
45492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [86:7 - 86:12] MemberRefExpr=first:2:23
45592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [87:5 - 87:7] MemberRefExpr=first:2:23
45692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [87:7 - 87:12] MemberRefExpr=first:2:23
45792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [88:5 - 88:7] MemberRefExpr=first:2:23
45892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [88:7 - 88:12] MemberRefExpr=first:2:23
45992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [89:5 - 89:7] MemberRefExpr=first:2:23
46092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [89:7 - 89:12] MemberRefExpr=first:2:23
46192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [90:5 - 90:7] MemberRefExpr=first:2:23
46292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [90:7 - 90:12] MemberRefExpr=first:2:23
46392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [91:5 - 91:7] MemberRefExpr=first:2:23
46492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [91:7 - 91:12] MemberRefExpr=first:2:23
46592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [92:5 - 92:7] MemberRefExpr=first:2:23
46692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [92:7 - 92:12] MemberRefExpr=first:2:23
46792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [93:5 - 93:7] MemberRefExpr=first:2:23
46892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [93:7 - 93:12] MemberRefExpr=first:2:23
46992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [94:5 - 94:7] MemberRefExpr=first:2:23
47092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [94:7 - 94:12] MemberRefExpr=first:2:23
47192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [95:5 - 95:7] MemberRefExpr=first:2:23
47292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [95:7 - 95:12] MemberRefExpr=first:2:23
47392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [96:5 - 96:7] MemberRefExpr=first:2:23
47492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [96:7 - 96:12] MemberRefExpr=first:2:23
47592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [97:5 - 97:7] MemberRefExpr=first:2:23
47692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [97:7 - 97:12] MemberRefExpr=first:2:23
47792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [98:5 - 98:7] MemberRefExpr=first:2:23
47892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [98:7 - 98:12] MemberRefExpr=first:2:23
47992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [99:5 - 99:7] MemberRefExpr=first:2:23
48092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [99:7 - 99:12] MemberRefExpr=first:2:23
48192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [100:5 - 100:7] MemberRefExpr=first:2:23
48292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [100:7 - 100:12] MemberRefExpr=first:2:23
48392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [101:5 - 101:7] MemberRefExpr=first:2:23
48492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [101:7 - 101:12] MemberRefExpr=first:2:23
48592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [102:5 - 102:7] MemberRefExpr=first:2:23
48692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [102:7 - 102:12] MemberRefExpr=first:2:23
48792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [103:5 - 103:7] MemberRefExpr=first:2:23
48892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [103:7 - 103:12] MemberRefExpr=first:2:23
48992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [104:5 - 104:7] MemberRefExpr=first:2:23
49092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [104:7 - 104:12] MemberRefExpr=first:2:23
49192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [105:5 - 105:7] MemberRefExpr=first:2:23
49292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [105:7 - 105:12] MemberRefExpr=first:2:23
49392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [106:5 - 106:7] MemberRefExpr=first:2:23
49492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [106:7 - 106:12] MemberRefExpr=first:2:23
49592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [107:5 - 107:7] MemberRefExpr=first:2:23
49692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [107:7 - 107:12] MemberRefExpr=first:2:23
49792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [108:5 - 108:7] MemberRefExpr=first:2:23
49892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [108:7 - 108:12] MemberRefExpr=first:2:23
49992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [109:5 - 109:7] MemberRefExpr=first:2:23
50092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [109:7 - 109:12] MemberRefExpr=first:2:23
50192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [110:5 - 110:7] MemberRefExpr=first:2:23
50292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [110:7 - 110:12] MemberRefExpr=first:2:23
50392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [111:5 - 111:7] MemberRefExpr=first:2:23
50492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [111:7 - 111:12] MemberRefExpr=first:2:23
50592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [112:5 - 112:7] MemberRefExpr=first:2:23
50692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [112:7 - 112:12] MemberRefExpr=first:2:23
50792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [113:5 - 113:7] MemberRefExpr=first:2:23
50892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [113:7 - 113:12] MemberRefExpr=first:2:23
50992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [114:5 - 114:7] MemberRefExpr=first:2:23
51092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [114:7 - 114:12] MemberRefExpr=first:2:23
51192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [115:5 - 115:7] MemberRefExpr=first:2:23
51292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [115:7 - 115:12] MemberRefExpr=first:2:23
51392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [116:5 - 116:7] MemberRefExpr=first:2:23
51492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [116:7 - 116:12] MemberRefExpr=first:2:23
51592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [117:5 - 117:7] MemberRefExpr=first:2:23
51692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [117:7 - 117:12] MemberRefExpr=first:2:23
51792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [118:5 - 118:7] MemberRefExpr=first:2:23
51892209a45STed Kremenek // CHECK-tokens: Identifier: "first" [118:7 - 118:12] MemberRefExpr=first:2:23
51992209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [119:5 - 119:7] MemberRefExpr=first:2:23
52092209a45STed Kremenek // CHECK-tokens: Identifier: "first" [119:7 - 119:12] MemberRefExpr=first:2:23
52192209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [120:5 - 120:7] MemberRefExpr=first:2:23
52292209a45STed Kremenek // CHECK-tokens: Identifier: "first" [120:7 - 120:12] MemberRefExpr=first:2:23
52392209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [121:5 - 121:7] MemberRefExpr=first:2:23
52492209a45STed Kremenek // CHECK-tokens: Identifier: "first" [121:7 - 121:12] MemberRefExpr=first:2:23
52592209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [122:5 - 122:7] MemberRefExpr=first:2:23
52692209a45STed Kremenek // CHECK-tokens: Identifier: "first" [122:7 - 122:12] MemberRefExpr=first:2:23
52792209a45STed Kremenek // CHECK-tokens: Punctuation: "->" [123:5 - 123:7] MemberRefExpr=x:3:7
52892209a45STed Kremenek // CHECK-tokens: Identifier: "x" [123:7 - 123:8] MemberRefExpr=x:3:7
529*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: ";" [123:8 - 123:9] CompoundStmt=
530*4c362d53SDouglas Gregor // CHECK-tokens: Punctuation: "}" [124:1 - 124:2] CompoundStmt=
53192209a45STed Kremenek 
53292209a45STed Kremenek 
533