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