xref: /aosp_15_r20/external/clang/test/Analysis/bug_hash_test.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -std=c++11 -analyze -analyzer-checker=core,debug.DumpBugHash -analyzer-output=plist %s -o %t.plist
2*67e74705SXin Li // RUN: FileCheck --input-file=%t.plist %s
3*67e74705SXin Li 
function(int p)4*67e74705SXin Li int function(int p) {
5*67e74705SXin Li   return 5;
6*67e74705SXin Li }
7*67e74705SXin Li 
8*67e74705SXin Li namespace {
variadicParam(int p,...)9*67e74705SXin Li int variadicParam(int p, ...) {
10*67e74705SXin Li   return 5;
11*67e74705SXin Li }
12*67e74705SXin Li }
13*67e74705SXin Li 
f()14*67e74705SXin Li constexpr int f() { return 5; }
15*67e74705SXin Li 
16*67e74705SXin Li namespace AA {
17*67e74705SXin Li   class X {
18*67e74705SXin Li     int priv;
X()19*67e74705SXin Li     X() : priv(5) { priv = 0; }
20*67e74705SXin Li 
static_method()21*67e74705SXin Li     static int static_method() {
22*67e74705SXin Li       return 5;
23*67e74705SXin Li     }
24*67e74705SXin Li 
method()25*67e74705SXin Li     int method() && {
26*67e74705SXin Li       class Y {
27*67e74705SXin Li         inline int method() const & {
28*67e74705SXin Li           return 5;
29*67e74705SXin Li         }
30*67e74705SXin Li       };
31*67e74705SXin Li 
32*67e74705SXin Li       return 5;
33*67e74705SXin Li     }
34*67e74705SXin Li 
35*67e74705SXin Li     int OutOfLine();
36*67e74705SXin Li 
operator =(int a)37*67e74705SXin Li     X& operator=(int a) {
38*67e74705SXin Li       return *this;
39*67e74705SXin Li     }
40*67e74705SXin Li 
operator int()41*67e74705SXin Li     operator int() {
42*67e74705SXin Li       return 0;
43*67e74705SXin Li     }
44*67e74705SXin Li 
operator float()45*67e74705SXin Li     explicit operator float() {
46*67e74705SXin Li       return 0;
47*67e74705SXin Li     }
48*67e74705SXin Li   };
49*67e74705SXin Li }
50*67e74705SXin Li 
OutOfLine()51*67e74705SXin Li int AA::X::OutOfLine() {
52*67e74705SXin Li   return 5;
53*67e74705SXin Li }
54*67e74705SXin Li 
testLambda()55*67e74705SXin Li void testLambda() {
56*67e74705SXin Li   [] () {
57*67e74705SXin Li     return;
58*67e74705SXin Li   }();
59*67e74705SXin Li }
60*67e74705SXin Li 
61*67e74705SXin Li // CHECK: <key>diagnostics</key>
62*67e74705SXin Li // CHECK-NEXT: <array>
63*67e74705SXin Li // CHECK-NEXT:  <dict>
64*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
65*67e74705SXin Li // CHECK-NEXT:   <array>
66*67e74705SXin Li // CHECK-NEXT:    <dict>
67*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
68*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
69*67e74705SXin Li // CHECK-NEXT:      <array>
70*67e74705SXin Li // CHECK-NEXT:       <dict>
71*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
72*67e74705SXin Li // CHECK-NEXT:         <array>
73*67e74705SXin Li // CHECK-NEXT:          <dict>
74*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>5</integer>
75*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>3</integer>
76*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
77*67e74705SXin Li // CHECK-NEXT:          </dict>
78*67e74705SXin Li // CHECK-NEXT:          <dict>
79*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>5</integer>
80*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>8</integer>
81*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
82*67e74705SXin Li // CHECK-NEXT:          </dict>
83*67e74705SXin Li // CHECK-NEXT:         </array>
84*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
85*67e74705SXin Li // CHECK-NEXT:         <array>
86*67e74705SXin Li // CHECK-NEXT:          <dict>
87*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>5</integer>
88*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>10</integer>
89*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
90*67e74705SXin Li // CHECK-NEXT:          </dict>
91*67e74705SXin Li // CHECK-NEXT:          <dict>
92*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>5</integer>
93*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>10</integer>
94*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
95*67e74705SXin Li // CHECK-NEXT:          </dict>
96*67e74705SXin Li // CHECK-NEXT:         </array>
97*67e74705SXin Li // CHECK-NEXT:       </dict>
98*67e74705SXin Li // CHECK-NEXT:      </array>
99*67e74705SXin Li // CHECK-NEXT:    </dict>
100*67e74705SXin Li // CHECK-NEXT:    <dict>
101*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
102*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
103*67e74705SXin Li // CHECK-NEXT:     <dict>
104*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>5</integer>
105*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>10</integer>
106*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
107*67e74705SXin Li // CHECK-NEXT:     </dict>
108*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
109*67e74705SXin Li // CHECK-NEXT:     <array>
110*67e74705SXin Li // CHECK-NEXT:       <array>
111*67e74705SXin Li // CHECK-NEXT:        <dict>
112*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>5</integer>
113*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>10</integer>
114*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
115*67e74705SXin Li // CHECK-NEXT:        </dict>
116*67e74705SXin Li // CHECK-NEXT:        <dict>
117*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>5</integer>
118*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>10</integer>
119*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
120*67e74705SXin Li // CHECK-NEXT:        </dict>
121*67e74705SXin Li // CHECK-NEXT:       </array>
122*67e74705SXin Li // CHECK-NEXT:     </array>
123*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
124*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
125*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int function(int)$10$return5;$debug</string>
126*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
127*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int function(int)$10$return5;$debug</string>
128*67e74705SXin Li // CHECK-NEXT:    </dict>
129*67e74705SXin Li // CHECK-NEXT:   </array>
130*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$int function(int)$10$return5;$debug</string>
131*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
132*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
133*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
134*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
135*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>e7be204e83f8e5ad3c870ec011d5131d</string>
136*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
137*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>function</string>
138*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
139*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
140*67e74705SXin Li // CHECK-NEXT:  <dict>
141*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>5</integer>
142*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>10</integer>
143*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
144*67e74705SXin Li // CHECK-NEXT:  </dict>
145*67e74705SXin Li // CHECK-NEXT:  </dict>
146*67e74705SXin Li // CHECK-NEXT:  <dict>
147*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
148*67e74705SXin Li // CHECK-NEXT:   <array>
149*67e74705SXin Li // CHECK-NEXT:    <dict>
150*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
151*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
152*67e74705SXin Li // CHECK-NEXT:      <array>
153*67e74705SXin Li // CHECK-NEXT:       <dict>
154*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
155*67e74705SXin Li // CHECK-NEXT:         <array>
156*67e74705SXin Li // CHECK-NEXT:          <dict>
157*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>10</integer>
158*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>3</integer>
159*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
160*67e74705SXin Li // CHECK-NEXT:          </dict>
161*67e74705SXin Li // CHECK-NEXT:          <dict>
162*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>10</integer>
163*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>8</integer>
164*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
165*67e74705SXin Li // CHECK-NEXT:          </dict>
166*67e74705SXin Li // CHECK-NEXT:         </array>
167*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
168*67e74705SXin Li // CHECK-NEXT:         <array>
169*67e74705SXin Li // CHECK-NEXT:          <dict>
170*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>10</integer>
171*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>10</integer>
172*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
173*67e74705SXin Li // CHECK-NEXT:          </dict>
174*67e74705SXin Li // CHECK-NEXT:          <dict>
175*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>10</integer>
176*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>10</integer>
177*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
178*67e74705SXin Li // CHECK-NEXT:          </dict>
179*67e74705SXin Li // CHECK-NEXT:         </array>
180*67e74705SXin Li // CHECK-NEXT:       </dict>
181*67e74705SXin Li // CHECK-NEXT:      </array>
182*67e74705SXin Li // CHECK-NEXT:    </dict>
183*67e74705SXin Li // CHECK-NEXT:    <dict>
184*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
185*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
186*67e74705SXin Li // CHECK-NEXT:     <dict>
187*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>10</integer>
188*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>10</integer>
189*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
190*67e74705SXin Li // CHECK-NEXT:     </dict>
191*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
192*67e74705SXin Li // CHECK-NEXT:     <array>
193*67e74705SXin Li // CHECK-NEXT:       <array>
194*67e74705SXin Li // CHECK-NEXT:        <dict>
195*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>10</integer>
196*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>10</integer>
197*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
198*67e74705SXin Li // CHECK-NEXT:        </dict>
199*67e74705SXin Li // CHECK-NEXT:        <dict>
200*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>10</integer>
201*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>10</integer>
202*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
203*67e74705SXin Li // CHECK-NEXT:        </dict>
204*67e74705SXin Li // CHECK-NEXT:       </array>
205*67e74705SXin Li // CHECK-NEXT:     </array>
206*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
207*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
208*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug</string>
209*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
210*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug</string>
211*67e74705SXin Li // CHECK-NEXT:    </dict>
212*67e74705SXin Li // CHECK-NEXT:   </array>
213*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug</string>
214*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
215*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
216*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
217*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
218*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>bc5dc0507ee90f1d14259057d25fb2b9</string>
219*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
220*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>variadicParam</string>
221*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
222*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
223*67e74705SXin Li // CHECK-NEXT:  <dict>
224*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>10</integer>
225*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>10</integer>
226*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
227*67e74705SXin Li // CHECK-NEXT:  </dict>
228*67e74705SXin Li // CHECK-NEXT:  </dict>
229*67e74705SXin Li // CHECK-NEXT:  <dict>
230*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
231*67e74705SXin Li // CHECK-NEXT:   <array>
232*67e74705SXin Li // CHECK-NEXT:    <dict>
233*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
234*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
235*67e74705SXin Li // CHECK-NEXT:      <array>
236*67e74705SXin Li // CHECK-NEXT:       <dict>
237*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
238*67e74705SXin Li // CHECK-NEXT:         <array>
239*67e74705SXin Li // CHECK-NEXT:          <dict>
240*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>14</integer>
241*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>21</integer>
242*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
243*67e74705SXin Li // CHECK-NEXT:          </dict>
244*67e74705SXin Li // CHECK-NEXT:          <dict>
245*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>14</integer>
246*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>26</integer>
247*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
248*67e74705SXin Li // CHECK-NEXT:          </dict>
249*67e74705SXin Li // CHECK-NEXT:         </array>
250*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
251*67e74705SXin Li // CHECK-NEXT:         <array>
252*67e74705SXin Li // CHECK-NEXT:          <dict>
253*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>14</integer>
254*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>28</integer>
255*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
256*67e74705SXin Li // CHECK-NEXT:          </dict>
257*67e74705SXin Li // CHECK-NEXT:          <dict>
258*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>14</integer>
259*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>28</integer>
260*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
261*67e74705SXin Li // CHECK-NEXT:          </dict>
262*67e74705SXin Li // CHECK-NEXT:         </array>
263*67e74705SXin Li // CHECK-NEXT:       </dict>
264*67e74705SXin Li // CHECK-NEXT:      </array>
265*67e74705SXin Li // CHECK-NEXT:    </dict>
266*67e74705SXin Li // CHECK-NEXT:    <dict>
267*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
268*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
269*67e74705SXin Li // CHECK-NEXT:     <dict>
270*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>14</integer>
271*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>28</integer>
272*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
273*67e74705SXin Li // CHECK-NEXT:     </dict>
274*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
275*67e74705SXin Li // CHECK-NEXT:     <array>
276*67e74705SXin Li // CHECK-NEXT:       <array>
277*67e74705SXin Li // CHECK-NEXT:        <dict>
278*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>14</integer>
279*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>28</integer>
280*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
281*67e74705SXin Li // CHECK-NEXT:        </dict>
282*67e74705SXin Li // CHECK-NEXT:        <dict>
283*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>14</integer>
284*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>28</integer>
285*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
286*67e74705SXin Li // CHECK-NEXT:        </dict>
287*67e74705SXin Li // CHECK-NEXT:       </array>
288*67e74705SXin Li // CHECK-NEXT:     </array>
289*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
290*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
291*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int f()$28$constexprintf(){return5;}$debug</string>
292*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
293*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int f()$28$constexprintf(){return5;}$debug</string>
294*67e74705SXin Li // CHECK-NEXT:    </dict>
295*67e74705SXin Li // CHECK-NEXT:   </array>
296*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$int f()$28$constexprintf(){return5;}$debug</string>
297*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
298*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
299*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
300*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
301*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>f5471f52854dc14167fe96db50c4ba5f</string>
302*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
303*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>f</string>
304*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>0</string>
305*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
306*67e74705SXin Li // CHECK-NEXT:  <dict>
307*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>14</integer>
308*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>28</integer>
309*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
310*67e74705SXin Li // CHECK-NEXT:  </dict>
311*67e74705SXin Li // CHECK-NEXT:  </dict>
312*67e74705SXin Li // CHECK-NEXT:  <dict>
313*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
314*67e74705SXin Li // CHECK-NEXT:   <array>
315*67e74705SXin Li // CHECK-NEXT:    <dict>
316*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
317*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
318*67e74705SXin Li // CHECK-NEXT:     <dict>
319*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>19</integer>
320*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>16</integer>
321*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
322*67e74705SXin Li // CHECK-NEXT:     </dict>
323*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
324*67e74705SXin Li // CHECK-NEXT:     <array>
325*67e74705SXin Li // CHECK-NEXT:       <array>
326*67e74705SXin Li // CHECK-NEXT:        <dict>
327*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>19</integer>
328*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>16</integer>
329*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
330*67e74705SXin Li // CHECK-NEXT:        </dict>
331*67e74705SXin Li // CHECK-NEXT:        <dict>
332*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>19</integer>
333*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>16</integer>
334*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
335*67e74705SXin Li // CHECK-NEXT:        </dict>
336*67e74705SXin Li // CHECK-NEXT:       </array>
337*67e74705SXin Li // CHECK-NEXT:     </array>
338*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
339*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
340*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug</string>
341*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
342*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug</string>
343*67e74705SXin Li // CHECK-NEXT:    </dict>
344*67e74705SXin Li // CHECK-NEXT:   </array>
345*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug</string>
346*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
347*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
348*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
349*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
350*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>d23266517ac17d5ec5e2fbbdb1922af1</string>
351*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>0</string>
352*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
353*67e74705SXin Li // CHECK-NEXT:  <dict>
354*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>19</integer>
355*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>16</integer>
356*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
357*67e74705SXin Li // CHECK-NEXT:  </dict>
358*67e74705SXin Li // CHECK-NEXT:  </dict>
359*67e74705SXin Li // CHECK-NEXT:  <dict>
360*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
361*67e74705SXin Li // CHECK-NEXT:   <array>
362*67e74705SXin Li // CHECK-NEXT:    <dict>
363*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
364*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
365*67e74705SXin Li // CHECK-NEXT:      <array>
366*67e74705SXin Li // CHECK-NEXT:       <dict>
367*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
368*67e74705SXin Li // CHECK-NEXT:         <array>
369*67e74705SXin Li // CHECK-NEXT:          <dict>
370*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
371*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>16</integer>
372*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
373*67e74705SXin Li // CHECK-NEXT:          </dict>
374*67e74705SXin Li // CHECK-NEXT:          <dict>
375*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
376*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>16</integer>
377*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
378*67e74705SXin Li // CHECK-NEXT:          </dict>
379*67e74705SXin Li // CHECK-NEXT:         </array>
380*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
381*67e74705SXin Li // CHECK-NEXT:         <array>
382*67e74705SXin Li // CHECK-NEXT:          <dict>
383*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
384*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>21</integer>
385*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
386*67e74705SXin Li // CHECK-NEXT:          </dict>
387*67e74705SXin Li // CHECK-NEXT:          <dict>
388*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
389*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>24</integer>
390*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
391*67e74705SXin Li // CHECK-NEXT:          </dict>
392*67e74705SXin Li // CHECK-NEXT:         </array>
393*67e74705SXin Li // CHECK-NEXT:       </dict>
394*67e74705SXin Li // CHECK-NEXT:      </array>
395*67e74705SXin Li // CHECK-NEXT:    </dict>
396*67e74705SXin Li // CHECK-NEXT:    <dict>
397*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
398*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
399*67e74705SXin Li // CHECK-NEXT:     <dict>
400*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>19</integer>
401*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>21</integer>
402*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
403*67e74705SXin Li // CHECK-NEXT:     </dict>
404*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
405*67e74705SXin Li // CHECK-NEXT:     <array>
406*67e74705SXin Li // CHECK-NEXT:       <array>
407*67e74705SXin Li // CHECK-NEXT:        <dict>
408*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>19</integer>
409*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>21</integer>
410*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
411*67e74705SXin Li // CHECK-NEXT:        </dict>
412*67e74705SXin Li // CHECK-NEXT:        <dict>
413*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>19</integer>
414*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>24</integer>
415*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
416*67e74705SXin Li // CHECK-NEXT:        </dict>
417*67e74705SXin Li // CHECK-NEXT:       </array>
418*67e74705SXin Li // CHECK-NEXT:     </array>
419*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
420*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
421*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug</string>
422*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
423*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug</string>
424*67e74705SXin Li // CHECK-NEXT:    </dict>
425*67e74705SXin Li // CHECK-NEXT:   </array>
426*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug</string>
427*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
428*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
429*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
430*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
431*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>7bfcc45512a6a3f61dda6e3ecebc7384</string>
432*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>0</string>
433*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
434*67e74705SXin Li // CHECK-NEXT:  <dict>
435*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>19</integer>
436*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>21</integer>
437*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
438*67e74705SXin Li // CHECK-NEXT:  </dict>
439*67e74705SXin Li // CHECK-NEXT:  </dict>
440*67e74705SXin Li // CHECK-NEXT:  <dict>
441*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
442*67e74705SXin Li // CHECK-NEXT:   <array>
443*67e74705SXin Li // CHECK-NEXT:    <dict>
444*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
445*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
446*67e74705SXin Li // CHECK-NEXT:      <array>
447*67e74705SXin Li // CHECK-NEXT:       <dict>
448*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
449*67e74705SXin Li // CHECK-NEXT:         <array>
450*67e74705SXin Li // CHECK-NEXT:          <dict>
451*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
452*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>16</integer>
453*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
454*67e74705SXin Li // CHECK-NEXT:          </dict>
455*67e74705SXin Li // CHECK-NEXT:          <dict>
456*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
457*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>16</integer>
458*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
459*67e74705SXin Li // CHECK-NEXT:          </dict>
460*67e74705SXin Li // CHECK-NEXT:         </array>
461*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
462*67e74705SXin Li // CHECK-NEXT:         <array>
463*67e74705SXin Li // CHECK-NEXT:          <dict>
464*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
465*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>21</integer>
466*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
467*67e74705SXin Li // CHECK-NEXT:          </dict>
468*67e74705SXin Li // CHECK-NEXT:          <dict>
469*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
470*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>24</integer>
471*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
472*67e74705SXin Li // CHECK-NEXT:          </dict>
473*67e74705SXin Li // CHECK-NEXT:         </array>
474*67e74705SXin Li // CHECK-NEXT:       </dict>
475*67e74705SXin Li // CHECK-NEXT:      </array>
476*67e74705SXin Li // CHECK-NEXT:    </dict>
477*67e74705SXin Li // CHECK-NEXT:    <dict>
478*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
479*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
480*67e74705SXin Li // CHECK-NEXT:      <array>
481*67e74705SXin Li // CHECK-NEXT:       <dict>
482*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
483*67e74705SXin Li // CHECK-NEXT:         <array>
484*67e74705SXin Li // CHECK-NEXT:          <dict>
485*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
486*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>21</integer>
487*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
488*67e74705SXin Li // CHECK-NEXT:          </dict>
489*67e74705SXin Li // CHECK-NEXT:          <dict>
490*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
491*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>24</integer>
492*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
493*67e74705SXin Li // CHECK-NEXT:          </dict>
494*67e74705SXin Li // CHECK-NEXT:         </array>
495*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
496*67e74705SXin Li // CHECK-NEXT:         <array>
497*67e74705SXin Li // CHECK-NEXT:          <dict>
498*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
499*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>26</integer>
500*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
501*67e74705SXin Li // CHECK-NEXT:          </dict>
502*67e74705SXin Li // CHECK-NEXT:          <dict>
503*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
504*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>26</integer>
505*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
506*67e74705SXin Li // CHECK-NEXT:          </dict>
507*67e74705SXin Li // CHECK-NEXT:         </array>
508*67e74705SXin Li // CHECK-NEXT:       </dict>
509*67e74705SXin Li // CHECK-NEXT:      </array>
510*67e74705SXin Li // CHECK-NEXT:    </dict>
511*67e74705SXin Li // CHECK-NEXT:    <dict>
512*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
513*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
514*67e74705SXin Li // CHECK-NEXT:     <dict>
515*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>19</integer>
516*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>26</integer>
517*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
518*67e74705SXin Li // CHECK-NEXT:     </dict>
519*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
520*67e74705SXin Li // CHECK-NEXT:     <array>
521*67e74705SXin Li // CHECK-NEXT:       <array>
522*67e74705SXin Li // CHECK-NEXT:        <dict>
523*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>19</integer>
524*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>21</integer>
525*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
526*67e74705SXin Li // CHECK-NEXT:        </dict>
527*67e74705SXin Li // CHECK-NEXT:        <dict>
528*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>19</integer>
529*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>28</integer>
530*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
531*67e74705SXin Li // CHECK-NEXT:        </dict>
532*67e74705SXin Li // CHECK-NEXT:       </array>
533*67e74705SXin Li // CHECK-NEXT:     </array>
534*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
535*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
536*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug</string>
537*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
538*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug</string>
539*67e74705SXin Li // CHECK-NEXT:    </dict>
540*67e74705SXin Li // CHECK-NEXT:   </array>
541*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug</string>
542*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
543*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
544*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
545*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
546*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>95dbfbcdd1dd6401d262994c45d088be</string>
547*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>0</string>
548*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
549*67e74705SXin Li // CHECK-NEXT:  <dict>
550*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>19</integer>
551*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>26</integer>
552*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
553*67e74705SXin Li // CHECK-NEXT:  </dict>
554*67e74705SXin Li // CHECK-NEXT:  </dict>
555*67e74705SXin Li // CHECK-NEXT:  <dict>
556*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
557*67e74705SXin Li // CHECK-NEXT:   <array>
558*67e74705SXin Li // CHECK-NEXT:    <dict>
559*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
560*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
561*67e74705SXin Li // CHECK-NEXT:      <array>
562*67e74705SXin Li // CHECK-NEXT:       <dict>
563*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
564*67e74705SXin Li // CHECK-NEXT:         <array>
565*67e74705SXin Li // CHECK-NEXT:          <dict>
566*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
567*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>16</integer>
568*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
569*67e74705SXin Li // CHECK-NEXT:          </dict>
570*67e74705SXin Li // CHECK-NEXT:          <dict>
571*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
572*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>16</integer>
573*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
574*67e74705SXin Li // CHECK-NEXT:          </dict>
575*67e74705SXin Li // CHECK-NEXT:         </array>
576*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
577*67e74705SXin Li // CHECK-NEXT:         <array>
578*67e74705SXin Li // CHECK-NEXT:          <dict>
579*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
580*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>21</integer>
581*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
582*67e74705SXin Li // CHECK-NEXT:          </dict>
583*67e74705SXin Li // CHECK-NEXT:          <dict>
584*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
585*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>24</integer>
586*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
587*67e74705SXin Li // CHECK-NEXT:          </dict>
588*67e74705SXin Li // CHECK-NEXT:         </array>
589*67e74705SXin Li // CHECK-NEXT:       </dict>
590*67e74705SXin Li // CHECK-NEXT:      </array>
591*67e74705SXin Li // CHECK-NEXT:    </dict>
592*67e74705SXin Li // CHECK-NEXT:    <dict>
593*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
594*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
595*67e74705SXin Li // CHECK-NEXT:      <array>
596*67e74705SXin Li // CHECK-NEXT:       <dict>
597*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
598*67e74705SXin Li // CHECK-NEXT:         <array>
599*67e74705SXin Li // CHECK-NEXT:          <dict>
600*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
601*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>21</integer>
602*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
603*67e74705SXin Li // CHECK-NEXT:          </dict>
604*67e74705SXin Li // CHECK-NEXT:          <dict>
605*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
606*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>24</integer>
607*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
608*67e74705SXin Li // CHECK-NEXT:          </dict>
609*67e74705SXin Li // CHECK-NEXT:         </array>
610*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
611*67e74705SXin Li // CHECK-NEXT:         <array>
612*67e74705SXin Li // CHECK-NEXT:          <dict>
613*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
614*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>28</integer>
615*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
616*67e74705SXin Li // CHECK-NEXT:          </dict>
617*67e74705SXin Li // CHECK-NEXT:          <dict>
618*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>19</integer>
619*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>28</integer>
620*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
621*67e74705SXin Li // CHECK-NEXT:          </dict>
622*67e74705SXin Li // CHECK-NEXT:         </array>
623*67e74705SXin Li // CHECK-NEXT:       </dict>
624*67e74705SXin Li // CHECK-NEXT:      </array>
625*67e74705SXin Li // CHECK-NEXT:    </dict>
626*67e74705SXin Li // CHECK-NEXT:    <dict>
627*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
628*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
629*67e74705SXin Li // CHECK-NEXT:     <dict>
630*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>19</integer>
631*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>28</integer>
632*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
633*67e74705SXin Li // CHECK-NEXT:     </dict>
634*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
635*67e74705SXin Li // CHECK-NEXT:     <array>
636*67e74705SXin Li // CHECK-NEXT:       <array>
637*67e74705SXin Li // CHECK-NEXT:        <dict>
638*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>19</integer>
639*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>28</integer>
640*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
641*67e74705SXin Li // CHECK-NEXT:        </dict>
642*67e74705SXin Li // CHECK-NEXT:        <dict>
643*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>19</integer>
644*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>28</integer>
645*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
646*67e74705SXin Li // CHECK-NEXT:        </dict>
647*67e74705SXin Li // CHECK-NEXT:       </array>
648*67e74705SXin Li // CHECK-NEXT:     </array>
649*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
650*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
651*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug</string>
652*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
653*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug</string>
654*67e74705SXin Li // CHECK-NEXT:    </dict>
655*67e74705SXin Li // CHECK-NEXT:   </array>
656*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug</string>
657*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
658*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
659*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
660*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
661*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>064a01551caa8eca3202f1fd55b9c692</string>
662*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>0</string>
663*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
664*67e74705SXin Li // CHECK-NEXT:  <dict>
665*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>19</integer>
666*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>28</integer>
667*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
668*67e74705SXin Li // CHECK-NEXT:  </dict>
669*67e74705SXin Li // CHECK-NEXT:  </dict>
670*67e74705SXin Li // CHECK-NEXT:  <dict>
671*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
672*67e74705SXin Li // CHECK-NEXT:   <array>
673*67e74705SXin Li // CHECK-NEXT:    <dict>
674*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
675*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
676*67e74705SXin Li // CHECK-NEXT:      <array>
677*67e74705SXin Li // CHECK-NEXT:       <dict>
678*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
679*67e74705SXin Li // CHECK-NEXT:         <array>
680*67e74705SXin Li // CHECK-NEXT:          <dict>
681*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>22</integer>
682*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>7</integer>
683*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
684*67e74705SXin Li // CHECK-NEXT:          </dict>
685*67e74705SXin Li // CHECK-NEXT:          <dict>
686*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>22</integer>
687*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>12</integer>
688*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
689*67e74705SXin Li // CHECK-NEXT:          </dict>
690*67e74705SXin Li // CHECK-NEXT:         </array>
691*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
692*67e74705SXin Li // CHECK-NEXT:         <array>
693*67e74705SXin Li // CHECK-NEXT:          <dict>
694*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>22</integer>
695*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
696*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
697*67e74705SXin Li // CHECK-NEXT:          </dict>
698*67e74705SXin Li // CHECK-NEXT:          <dict>
699*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>22</integer>
700*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
701*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
702*67e74705SXin Li // CHECK-NEXT:          </dict>
703*67e74705SXin Li // CHECK-NEXT:         </array>
704*67e74705SXin Li // CHECK-NEXT:       </dict>
705*67e74705SXin Li // CHECK-NEXT:      </array>
706*67e74705SXin Li // CHECK-NEXT:    </dict>
707*67e74705SXin Li // CHECK-NEXT:    <dict>
708*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
709*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
710*67e74705SXin Li // CHECK-NEXT:     <dict>
711*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>22</integer>
712*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>14</integer>
713*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
714*67e74705SXin Li // CHECK-NEXT:     </dict>
715*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
716*67e74705SXin Li // CHECK-NEXT:     <array>
717*67e74705SXin Li // CHECK-NEXT:       <array>
718*67e74705SXin Li // CHECK-NEXT:        <dict>
719*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>22</integer>
720*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
721*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
722*67e74705SXin Li // CHECK-NEXT:        </dict>
723*67e74705SXin Li // CHECK-NEXT:        <dict>
724*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>22</integer>
725*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
726*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
727*67e74705SXin Li // CHECK-NEXT:        </dict>
728*67e74705SXin Li // CHECK-NEXT:       </array>
729*67e74705SXin Li // CHECK-NEXT:     </array>
730*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
731*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
732*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int AA::X::static_method()$14$return5;$debug</string>
733*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
734*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int AA::X::static_method()$14$return5;$debug</string>
735*67e74705SXin Li // CHECK-NEXT:    </dict>
736*67e74705SXin Li // CHECK-NEXT:   </array>
737*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$int AA::X::static_method()$14$return5;$debug</string>
738*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
739*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
740*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
741*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
742*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>651fcca72f8ad65771702903ecd5f68a</string>
743*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>C++ method</string>
744*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>static_method</string>
745*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
746*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
747*67e74705SXin Li // CHECK-NEXT:  <dict>
748*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>22</integer>
749*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>14</integer>
750*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
751*67e74705SXin Li // CHECK-NEXT:  </dict>
752*67e74705SXin Li // CHECK-NEXT:  </dict>
753*67e74705SXin Li // CHECK-NEXT:  <dict>
754*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
755*67e74705SXin Li // CHECK-NEXT:   <array>
756*67e74705SXin Li // CHECK-NEXT:    <dict>
757*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
758*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
759*67e74705SXin Li // CHECK-NEXT:      <array>
760*67e74705SXin Li // CHECK-NEXT:       <dict>
761*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
762*67e74705SXin Li // CHECK-NEXT:         <array>
763*67e74705SXin Li // CHECK-NEXT:          <dict>
764*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>32</integer>
765*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>7</integer>
766*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
767*67e74705SXin Li // CHECK-NEXT:          </dict>
768*67e74705SXin Li // CHECK-NEXT:          <dict>
769*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>32</integer>
770*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>12</integer>
771*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
772*67e74705SXin Li // CHECK-NEXT:          </dict>
773*67e74705SXin Li // CHECK-NEXT:         </array>
774*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
775*67e74705SXin Li // CHECK-NEXT:         <array>
776*67e74705SXin Li // CHECK-NEXT:          <dict>
777*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>32</integer>
778*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
779*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
780*67e74705SXin Li // CHECK-NEXT:          </dict>
781*67e74705SXin Li // CHECK-NEXT:          <dict>
782*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>32</integer>
783*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
784*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
785*67e74705SXin Li // CHECK-NEXT:          </dict>
786*67e74705SXin Li // CHECK-NEXT:         </array>
787*67e74705SXin Li // CHECK-NEXT:       </dict>
788*67e74705SXin Li // CHECK-NEXT:      </array>
789*67e74705SXin Li // CHECK-NEXT:    </dict>
790*67e74705SXin Li // CHECK-NEXT:    <dict>
791*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
792*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
793*67e74705SXin Li // CHECK-NEXT:     <dict>
794*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>32</integer>
795*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>14</integer>
796*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
797*67e74705SXin Li // CHECK-NEXT:     </dict>
798*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
799*67e74705SXin Li // CHECK-NEXT:     <array>
800*67e74705SXin Li // CHECK-NEXT:       <array>
801*67e74705SXin Li // CHECK-NEXT:        <dict>
802*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>32</integer>
803*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
804*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
805*67e74705SXin Li // CHECK-NEXT:        </dict>
806*67e74705SXin Li // CHECK-NEXT:        <dict>
807*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>32</integer>
808*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
809*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
810*67e74705SXin Li // CHECK-NEXT:        </dict>
811*67e74705SXin Li // CHECK-NEXT:       </array>
812*67e74705SXin Li // CHECK-NEXT:     </array>
813*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
814*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
815*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int AA::X::method() &amp;&amp;$14$return5;$debug</string>
816*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
817*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int AA::X::method() &amp;&amp;$14$return5;$debug</string>
818*67e74705SXin Li // CHECK-NEXT:    </dict>
819*67e74705SXin Li // CHECK-NEXT:   </array>
820*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$int AA::X::method() &amp;&amp;$14$return5;$debug</string>
821*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
822*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
823*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
824*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
825*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>c8ac8f24467234bea1f34adf5ad5007b</string>
826*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>C++ method</string>
827*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>method</string>
828*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>7</string>
829*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
830*67e74705SXin Li // CHECK-NEXT:  <dict>
831*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>32</integer>
832*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>14</integer>
833*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
834*67e74705SXin Li // CHECK-NEXT:  </dict>
835*67e74705SXin Li // CHECK-NEXT:  </dict>
836*67e74705SXin Li // CHECK-NEXT:  <dict>
837*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
838*67e74705SXin Li // CHECK-NEXT:   <array>
839*67e74705SXin Li // CHECK-NEXT:    <dict>
840*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
841*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
842*67e74705SXin Li // CHECK-NEXT:      <array>
843*67e74705SXin Li // CHECK-NEXT:       <dict>
844*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
845*67e74705SXin Li // CHECK-NEXT:         <array>
846*67e74705SXin Li // CHECK-NEXT:          <dict>
847*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>38</integer>
848*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>7</integer>
849*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
850*67e74705SXin Li // CHECK-NEXT:          </dict>
851*67e74705SXin Li // CHECK-NEXT:          <dict>
852*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>38</integer>
853*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>12</integer>
854*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
855*67e74705SXin Li // CHECK-NEXT:          </dict>
856*67e74705SXin Li // CHECK-NEXT:         </array>
857*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
858*67e74705SXin Li // CHECK-NEXT:         <array>
859*67e74705SXin Li // CHECK-NEXT:          <dict>
860*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>38</integer>
861*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
862*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
863*67e74705SXin Li // CHECK-NEXT:          </dict>
864*67e74705SXin Li // CHECK-NEXT:          <dict>
865*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>38</integer>
866*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
867*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
868*67e74705SXin Li // CHECK-NEXT:          </dict>
869*67e74705SXin Li // CHECK-NEXT:         </array>
870*67e74705SXin Li // CHECK-NEXT:       </dict>
871*67e74705SXin Li // CHECK-NEXT:      </array>
872*67e74705SXin Li // CHECK-NEXT:    </dict>
873*67e74705SXin Li // CHECK-NEXT:    <dict>
874*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
875*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
876*67e74705SXin Li // CHECK-NEXT:     <dict>
877*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>38</integer>
878*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>14</integer>
879*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
880*67e74705SXin Li // CHECK-NEXT:     </dict>
881*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
882*67e74705SXin Li // CHECK-NEXT:     <array>
883*67e74705SXin Li // CHECK-NEXT:       <array>
884*67e74705SXin Li // CHECK-NEXT:        <dict>
885*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>38</integer>
886*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
887*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
888*67e74705SXin Li // CHECK-NEXT:        </dict>
889*67e74705SXin Li // CHECK-NEXT:        <dict>
890*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>38</integer>
891*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>18</integer>
892*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
893*67e74705SXin Li // CHECK-NEXT:        </dict>
894*67e74705SXin Li // CHECK-NEXT:       </array>
895*67e74705SXin Li // CHECK-NEXT:     </array>
896*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
897*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
898*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$class AA::X &amp; AA::X::operator=(int)$14$return*this;$debug</string>
899*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
900*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$class AA::X &amp; AA::X::operator=(int)$14$return*this;$debug</string>
901*67e74705SXin Li // CHECK-NEXT:    </dict>
902*67e74705SXin Li // CHECK-NEXT:   </array>
903*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$class AA::X &amp; AA::X::operator=(int)$14$return*this;$debug</string>
904*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
905*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
906*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
907*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
908*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>b47cf7973c9b459d9c99c483e722db8e</string>
909*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>C++ method</string>
910*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>operator=</string>
911*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
912*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
913*67e74705SXin Li // CHECK-NEXT:  <dict>
914*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>38</integer>
915*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>14</integer>
916*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
917*67e74705SXin Li // CHECK-NEXT:  </dict>
918*67e74705SXin Li // CHECK-NEXT:  </dict>
919*67e74705SXin Li // CHECK-NEXT:  <dict>
920*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
921*67e74705SXin Li // CHECK-NEXT:   <array>
922*67e74705SXin Li // CHECK-NEXT:    <dict>
923*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
924*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
925*67e74705SXin Li // CHECK-NEXT:      <array>
926*67e74705SXin Li // CHECK-NEXT:       <dict>
927*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
928*67e74705SXin Li // CHECK-NEXT:         <array>
929*67e74705SXin Li // CHECK-NEXT:          <dict>
930*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>42</integer>
931*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>7</integer>
932*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
933*67e74705SXin Li // CHECK-NEXT:          </dict>
934*67e74705SXin Li // CHECK-NEXT:          <dict>
935*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>42</integer>
936*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>12</integer>
937*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
938*67e74705SXin Li // CHECK-NEXT:          </dict>
939*67e74705SXin Li // CHECK-NEXT:         </array>
940*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
941*67e74705SXin Li // CHECK-NEXT:         <array>
942*67e74705SXin Li // CHECK-NEXT:          <dict>
943*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>42</integer>
944*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
945*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
946*67e74705SXin Li // CHECK-NEXT:          </dict>
947*67e74705SXin Li // CHECK-NEXT:          <dict>
948*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>42</integer>
949*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
950*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
951*67e74705SXin Li // CHECK-NEXT:          </dict>
952*67e74705SXin Li // CHECK-NEXT:         </array>
953*67e74705SXin Li // CHECK-NEXT:       </dict>
954*67e74705SXin Li // CHECK-NEXT:      </array>
955*67e74705SXin Li // CHECK-NEXT:    </dict>
956*67e74705SXin Li // CHECK-NEXT:    <dict>
957*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
958*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
959*67e74705SXin Li // CHECK-NEXT:     <dict>
960*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>42</integer>
961*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>14</integer>
962*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
963*67e74705SXin Li // CHECK-NEXT:     </dict>
964*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
965*67e74705SXin Li // CHECK-NEXT:     <array>
966*67e74705SXin Li // CHECK-NEXT:       <array>
967*67e74705SXin Li // CHECK-NEXT:        <dict>
968*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>42</integer>
969*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
970*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
971*67e74705SXin Li // CHECK-NEXT:        </dict>
972*67e74705SXin Li // CHECK-NEXT:        <dict>
973*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>42</integer>
974*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
975*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
976*67e74705SXin Li // CHECK-NEXT:        </dict>
977*67e74705SXin Li // CHECK-NEXT:       </array>
978*67e74705SXin Li // CHECK-NEXT:     </array>
979*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
980*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
981*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::operator int()$14$return0;$debug</string>
982*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
983*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::operator int()$14$return0;$debug</string>
984*67e74705SXin Li // CHECK-NEXT:    </dict>
985*67e74705SXin Li // CHECK-NEXT:   </array>
986*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$AA::X::operator int()$14$return0;$debug</string>
987*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
988*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
989*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
990*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
991*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>0cbb0e1e5b03ba5b4f7f8f17504de671</string>
992*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
993*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
994*67e74705SXin Li // CHECK-NEXT:  <dict>
995*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>42</integer>
996*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>14</integer>
997*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
998*67e74705SXin Li // CHECK-NEXT:  </dict>
999*67e74705SXin Li // CHECK-NEXT:  </dict>
1000*67e74705SXin Li // CHECK-NEXT:  <dict>
1001*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
1002*67e74705SXin Li // CHECK-NEXT:   <array>
1003*67e74705SXin Li // CHECK-NEXT:    <dict>
1004*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
1005*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
1006*67e74705SXin Li // CHECK-NEXT:      <array>
1007*67e74705SXin Li // CHECK-NEXT:       <dict>
1008*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
1009*67e74705SXin Li // CHECK-NEXT:         <array>
1010*67e74705SXin Li // CHECK-NEXT:          <dict>
1011*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>46</integer>
1012*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>7</integer>
1013*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1014*67e74705SXin Li // CHECK-NEXT:          </dict>
1015*67e74705SXin Li // CHECK-NEXT:          <dict>
1016*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>46</integer>
1017*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>12</integer>
1018*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1019*67e74705SXin Li // CHECK-NEXT:          </dict>
1020*67e74705SXin Li // CHECK-NEXT:         </array>
1021*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
1022*67e74705SXin Li // CHECK-NEXT:         <array>
1023*67e74705SXin Li // CHECK-NEXT:          <dict>
1024*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>46</integer>
1025*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
1026*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1027*67e74705SXin Li // CHECK-NEXT:          </dict>
1028*67e74705SXin Li // CHECK-NEXT:          <dict>
1029*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>46</integer>
1030*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>14</integer>
1031*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1032*67e74705SXin Li // CHECK-NEXT:          </dict>
1033*67e74705SXin Li // CHECK-NEXT:         </array>
1034*67e74705SXin Li // CHECK-NEXT:       </dict>
1035*67e74705SXin Li // CHECK-NEXT:      </array>
1036*67e74705SXin Li // CHECK-NEXT:    </dict>
1037*67e74705SXin Li // CHECK-NEXT:    <dict>
1038*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
1039*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
1040*67e74705SXin Li // CHECK-NEXT:     <dict>
1041*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>46</integer>
1042*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>14</integer>
1043*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
1044*67e74705SXin Li // CHECK-NEXT:     </dict>
1045*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
1046*67e74705SXin Li // CHECK-NEXT:     <array>
1047*67e74705SXin Li // CHECK-NEXT:       <array>
1048*67e74705SXin Li // CHECK-NEXT:        <dict>
1049*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>46</integer>
1050*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
1051*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1052*67e74705SXin Li // CHECK-NEXT:        </dict>
1053*67e74705SXin Li // CHECK-NEXT:        <dict>
1054*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>46</integer>
1055*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>14</integer>
1056*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1057*67e74705SXin Li // CHECK-NEXT:        </dict>
1058*67e74705SXin Li // CHECK-NEXT:       </array>
1059*67e74705SXin Li // CHECK-NEXT:     </array>
1060*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
1061*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
1062*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::operator float()$14$return0;$debug</string>
1063*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
1064*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$AA::X::operator float()$14$return0;$debug</string>
1065*67e74705SXin Li // CHECK-NEXT:    </dict>
1066*67e74705SXin Li // CHECK-NEXT:   </array>
1067*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$AA::X::operator float()$14$return0;$debug</string>
1068*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
1069*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
1070*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
1071*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1072*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>df306826bf89e50c1b55e1d379a761b3</string>
1073*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
1074*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
1075*67e74705SXin Li // CHECK-NEXT:  <dict>
1076*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>46</integer>
1077*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>14</integer>
1078*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
1079*67e74705SXin Li // CHECK-NEXT:  </dict>
1080*67e74705SXin Li // CHECK-NEXT:  </dict>
1081*67e74705SXin Li // CHECK-NEXT:  <dict>
1082*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
1083*67e74705SXin Li // CHECK-NEXT:   <array>
1084*67e74705SXin Li // CHECK-NEXT:    <dict>
1085*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
1086*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
1087*67e74705SXin Li // CHECK-NEXT:      <array>
1088*67e74705SXin Li // CHECK-NEXT:       <dict>
1089*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
1090*67e74705SXin Li // CHECK-NEXT:         <array>
1091*67e74705SXin Li // CHECK-NEXT:          <dict>
1092*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>52</integer>
1093*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>3</integer>
1094*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1095*67e74705SXin Li // CHECK-NEXT:          </dict>
1096*67e74705SXin Li // CHECK-NEXT:          <dict>
1097*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>52</integer>
1098*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>8</integer>
1099*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1100*67e74705SXin Li // CHECK-NEXT:          </dict>
1101*67e74705SXin Li // CHECK-NEXT:         </array>
1102*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
1103*67e74705SXin Li // CHECK-NEXT:         <array>
1104*67e74705SXin Li // CHECK-NEXT:          <dict>
1105*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>52</integer>
1106*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>10</integer>
1107*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1108*67e74705SXin Li // CHECK-NEXT:          </dict>
1109*67e74705SXin Li // CHECK-NEXT:          <dict>
1110*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>52</integer>
1111*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>10</integer>
1112*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1113*67e74705SXin Li // CHECK-NEXT:          </dict>
1114*67e74705SXin Li // CHECK-NEXT:         </array>
1115*67e74705SXin Li // CHECK-NEXT:       </dict>
1116*67e74705SXin Li // CHECK-NEXT:      </array>
1117*67e74705SXin Li // CHECK-NEXT:    </dict>
1118*67e74705SXin Li // CHECK-NEXT:    <dict>
1119*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
1120*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
1121*67e74705SXin Li // CHECK-NEXT:     <dict>
1122*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>52</integer>
1123*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>10</integer>
1124*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
1125*67e74705SXin Li // CHECK-NEXT:     </dict>
1126*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
1127*67e74705SXin Li // CHECK-NEXT:     <array>
1128*67e74705SXin Li // CHECK-NEXT:       <array>
1129*67e74705SXin Li // CHECK-NEXT:        <dict>
1130*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>52</integer>
1131*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>10</integer>
1132*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1133*67e74705SXin Li // CHECK-NEXT:        </dict>
1134*67e74705SXin Li // CHECK-NEXT:        <dict>
1135*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>52</integer>
1136*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>10</integer>
1137*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1138*67e74705SXin Li // CHECK-NEXT:        </dict>
1139*67e74705SXin Li // CHECK-NEXT:       </array>
1140*67e74705SXin Li // CHECK-NEXT:     </array>
1141*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
1142*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
1143*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug</string>
1144*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
1145*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug</string>
1146*67e74705SXin Li // CHECK-NEXT:    </dict>
1147*67e74705SXin Li // CHECK-NEXT:   </array>
1148*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug</string>
1149*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
1150*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
1151*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
1152*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1153*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>9dd7b17a6f62ed8c95b37a38cf71f3a9</string>
1154*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>C++ method</string>
1155*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>OutOfLine</string>
1156*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
1157*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
1158*67e74705SXin Li // CHECK-NEXT:  <dict>
1159*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>52</integer>
1160*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>10</integer>
1161*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
1162*67e74705SXin Li // CHECK-NEXT:  </dict>
1163*67e74705SXin Li // CHECK-NEXT:  </dict>
1164*67e74705SXin Li // CHECK-NEXT:  <dict>
1165*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
1166*67e74705SXin Li // CHECK-NEXT:   <array>
1167*67e74705SXin Li // CHECK-NEXT:    <dict>
1168*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
1169*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
1170*67e74705SXin Li // CHECK-NEXT:     <dict>
1171*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>56</integer>
1172*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>3</integer>
1173*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
1174*67e74705SXin Li // CHECK-NEXT:     </dict>
1175*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
1176*67e74705SXin Li // CHECK-NEXT:     <array>
1177*67e74705SXin Li // CHECK-NEXT:       <array>
1178*67e74705SXin Li // CHECK-NEXT:        <dict>
1179*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>56</integer>
1180*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>3</integer>
1181*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1182*67e74705SXin Li // CHECK-NEXT:        </dict>
1183*67e74705SXin Li // CHECK-NEXT:        <dict>
1184*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>58</integer>
1185*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>3</integer>
1186*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1187*67e74705SXin Li // CHECK-NEXT:        </dict>
1188*67e74705SXin Li // CHECK-NEXT:       </array>
1189*67e74705SXin Li // CHECK-NEXT:     </array>
1190*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
1191*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
1192*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$void testLambda()$3$[](){$debug</string>
1193*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
1194*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$void testLambda()$3$[](){$debug</string>
1195*67e74705SXin Li // CHECK-NEXT:    </dict>
1196*67e74705SXin Li // CHECK-NEXT:   </array>
1197*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$void testLambda()$3$[](){$debug</string>
1198*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
1199*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
1200*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
1201*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1202*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>6ad4400e40885a78a0f57f585421a515</string>
1203*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1204*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>testLambda</string>
1205*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
1206*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
1207*67e74705SXin Li // CHECK-NEXT:  <dict>
1208*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>56</integer>
1209*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>3</integer>
1210*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
1211*67e74705SXin Li // CHECK-NEXT:  </dict>
1212*67e74705SXin Li // CHECK-NEXT:  </dict>
1213*67e74705SXin Li // CHECK-NEXT:  <dict>
1214*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
1215*67e74705SXin Li // CHECK-NEXT:   <array>
1216*67e74705SXin Li // CHECK-NEXT:    <dict>
1217*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
1218*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
1219*67e74705SXin Li // CHECK-NEXT:     <dict>
1220*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>56</integer>
1221*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>3</integer>
1222*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
1223*67e74705SXin Li // CHECK-NEXT:     </dict>
1224*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
1225*67e74705SXin Li // CHECK-NEXT:     <array>
1226*67e74705SXin Li // CHECK-NEXT:       <array>
1227*67e74705SXin Li // CHECK-NEXT:        <dict>
1228*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>56</integer>
1229*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>3</integer>
1230*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1231*67e74705SXin Li // CHECK-NEXT:        </dict>
1232*67e74705SXin Li // CHECK-NEXT:        <dict>
1233*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>58</integer>
1234*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>5</integer>
1235*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1236*67e74705SXin Li // CHECK-NEXT:        </dict>
1237*67e74705SXin Li // CHECK-NEXT:       </array>
1238*67e74705SXin Li // CHECK-NEXT:     </array>
1239*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
1240*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
1241*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$void testLambda()$3$[](){$debug</string>
1242*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
1243*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$void testLambda()$3$[](){$debug</string>
1244*67e74705SXin Li // CHECK-NEXT:    </dict>
1245*67e74705SXin Li // CHECK-NEXT:   </array>
1246*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$void testLambda()$3$[](){$debug</string>
1247*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
1248*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
1249*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
1250*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1251*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>6ad4400e40885a78a0f57f585421a515</string>
1252*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1253*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>testLambda</string>
1254*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>1</string>
1255*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
1256*67e74705SXin Li // CHECK-NEXT:  <dict>
1257*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>56</integer>
1258*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>3</integer>
1259*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
1260*67e74705SXin Li // CHECK-NEXT:  </dict>
1261*67e74705SXin Li // CHECK-NEXT:  </dict>
1262*67e74705SXin Li // CHECK-NEXT:  <dict>
1263*67e74705SXin Li // CHECK-NEXT:   <key>path</key>
1264*67e74705SXin Li // CHECK-NEXT:   <array>
1265*67e74705SXin Li // CHECK-NEXT:    <dict>
1266*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>control</string>
1267*67e74705SXin Li // CHECK-NEXT:     <key>edges</key>
1268*67e74705SXin Li // CHECK-NEXT:      <array>
1269*67e74705SXin Li // CHECK-NEXT:       <dict>
1270*67e74705SXin Li // CHECK-NEXT:        <key>start</key>
1271*67e74705SXin Li // CHECK-NEXT:         <array>
1272*67e74705SXin Li // CHECK-NEXT:          <dict>
1273*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>56</integer>
1274*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>3</integer>
1275*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1276*67e74705SXin Li // CHECK-NEXT:          </dict>
1277*67e74705SXin Li // CHECK-NEXT:          <dict>
1278*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>56</integer>
1279*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>3</integer>
1280*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1281*67e74705SXin Li // CHECK-NEXT:          </dict>
1282*67e74705SXin Li // CHECK-NEXT:         </array>
1283*67e74705SXin Li // CHECK-NEXT:        <key>end</key>
1284*67e74705SXin Li // CHECK-NEXT:         <array>
1285*67e74705SXin Li // CHECK-NEXT:          <dict>
1286*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>58</integer>
1287*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>4</integer>
1288*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1289*67e74705SXin Li // CHECK-NEXT:          </dict>
1290*67e74705SXin Li // CHECK-NEXT:          <dict>
1291*67e74705SXin Li // CHECK-NEXT:           <key>line</key><integer>58</integer>
1292*67e74705SXin Li // CHECK-NEXT:           <key>col</key><integer>4</integer>
1293*67e74705SXin Li // CHECK-NEXT:           <key>file</key><integer>0</integer>
1294*67e74705SXin Li // CHECK-NEXT:          </dict>
1295*67e74705SXin Li // CHECK-NEXT:         </array>
1296*67e74705SXin Li // CHECK-NEXT:       </dict>
1297*67e74705SXin Li // CHECK-NEXT:      </array>
1298*67e74705SXin Li // CHECK-NEXT:    </dict>
1299*67e74705SXin Li // CHECK-NEXT:    <dict>
1300*67e74705SXin Li // CHECK-NEXT:     <key>kind</key><string>event</string>
1301*67e74705SXin Li // CHECK-NEXT:     <key>location</key>
1302*67e74705SXin Li // CHECK-NEXT:     <dict>
1303*67e74705SXin Li // CHECK-NEXT:      <key>line</key><integer>58</integer>
1304*67e74705SXin Li // CHECK-NEXT:      <key>col</key><integer>4</integer>
1305*67e74705SXin Li // CHECK-NEXT:      <key>file</key><integer>0</integer>
1306*67e74705SXin Li // CHECK-NEXT:     </dict>
1307*67e74705SXin Li // CHECK-NEXT:     <key>ranges</key>
1308*67e74705SXin Li // CHECK-NEXT:     <array>
1309*67e74705SXin Li // CHECK-NEXT:       <array>
1310*67e74705SXin Li // CHECK-NEXT:        <dict>
1311*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>58</integer>
1312*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>4</integer>
1313*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1314*67e74705SXin Li // CHECK-NEXT:        </dict>
1315*67e74705SXin Li // CHECK-NEXT:        <dict>
1316*67e74705SXin Li // CHECK-NEXT:         <key>line</key><integer>58</integer>
1317*67e74705SXin Li // CHECK-NEXT:         <key>col</key><integer>5</integer>
1318*67e74705SXin Li // CHECK-NEXT:         <key>file</key><integer>0</integer>
1319*67e74705SXin Li // CHECK-NEXT:        </dict>
1320*67e74705SXin Li // CHECK-NEXT:       </array>
1321*67e74705SXin Li // CHECK-NEXT:     </array>
1322*67e74705SXin Li // CHECK-NEXT:     <key>depth</key><integer>0</integer>
1323*67e74705SXin Li // CHECK-NEXT:     <key>extended_message</key>
1324*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$void testLambda()$4$}();$debug</string>
1325*67e74705SXin Li // CHECK-NEXT:     <key>message</key>
1326*67e74705SXin Li // CHECK-NEXT:     <string>debug.DumpBugHash$void testLambda()$4$}();$debug</string>
1327*67e74705SXin Li // CHECK-NEXT:    </dict>
1328*67e74705SXin Li // CHECK-NEXT:   </array>
1329*67e74705SXin Li // CHECK-NEXT:   <key>description</key><string>debug.DumpBugHash$void testLambda()$4$}();$debug</string>
1330*67e74705SXin Li // CHECK-NEXT:   <key>category</key><string>debug</string>
1331*67e74705SXin Li // CHECK-NEXT:   <key>type</key><string>Dump hash components</string>
1332*67e74705SXin Li // CHECK-NEXT:   <key>check_name</key><string>debug.DumpBugHash</string>
1333*67e74705SXin Li // CHECK-NEXT:   <!-- This hash is experimental and going to change! -->
1334*67e74705SXin Li // CHECK-NEXT:   <key>issue_hash_content_of_line_in_context</key><string>378e6de75fb41b05bcef3950ad5ffa5e</string>
1335*67e74705SXin Li // CHECK-NEXT:  <key>issue_context_kind</key><string>function</string>
1336*67e74705SXin Li // CHECK-NEXT:  <key>issue_context</key><string>testLambda</string>
1337*67e74705SXin Li // CHECK-NEXT:  <key>issue_hash_function_offset</key><string>3</string>
1338*67e74705SXin Li // CHECK-NEXT:  <key>location</key>
1339*67e74705SXin Li // CHECK-NEXT:  <dict>
1340*67e74705SXin Li // CHECK-NEXT:   <key>line</key><integer>58</integer>
1341*67e74705SXin Li // CHECK-NEXT:   <key>col</key><integer>4</integer>
1342*67e74705SXin Li // CHECK-NEXT:   <key>file</key><integer>0</integer>
1343*67e74705SXin Li // CHECK-NEXT:  </dict>
1344*67e74705SXin Li // CHECK-NEXT:  </dict>
1345*67e74705SXin Li // CHECK-NEXT: </array>
1346