1*67e74705SXin Li // RUN: %clang_cc1 -analyze -std=c++11 -analyzer-checker=core -analyzer-config path-diagnostics-alternate=true -analyzer-output=plist-multi-file -o %t.plist -verify %s 2*67e74705SXin Li // RUN: FileCheck --input-file=%t.plist %s 3*67e74705SXin Li 4*67e74705SXin Li extern void work(); 5*67e74705SXin Li testLoop()6*67e74705SXin Livoid testLoop() { 7*67e74705SXin Li int z[] = {1,2}; 8*67e74705SXin Li for (int y : z) { 9*67e74705SXin Li work(); 10*67e74705SXin Li work(); 11*67e74705SXin Li if (y == 2) 12*67e74705SXin Li *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}} 13*67e74705SXin Li work(); 14*67e74705SXin Li work(); 15*67e74705SXin Li (void)y; 16*67e74705SXin Li } 17*67e74705SXin Li 18*67e74705SXin Li *(volatile int *)0 = 1; // no-warning 19*67e74705SXin Li } 20*67e74705SXin Li 21*67e74705SXin Li class MagicVector { 22*67e74705SXin Li public: 23*67e74705SXin Li MagicVector(); 24*67e74705SXin Li 25*67e74705SXin Li using iterator = int *; 26*67e74705SXin Li 27*67e74705SXin Li iterator begin() const; 28*67e74705SXin Li iterator end() const; 29*67e74705SXin Li }; 30*67e74705SXin Li get(bool fail=false)31*67e74705SXin LiMagicVector get(bool fail = false) { 32*67e74705SXin Li if (fail) 33*67e74705SXin Li *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}} 34*67e74705SXin Li return MagicVector{}; 35*67e74705SXin Li } 36*67e74705SXin Li testLoopOpaqueCollection()37*67e74705SXin Livoid testLoopOpaqueCollection() { 38*67e74705SXin Li for (int y : get()) { 39*67e74705SXin Li work(); 40*67e74705SXin Li work(); 41*67e74705SXin Li if (y == 2) 42*67e74705SXin Li *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}} 43*67e74705SXin Li work(); 44*67e74705SXin Li work(); 45*67e74705SXin Li (void)y; 46*67e74705SXin Li } 47*67e74705SXin Li 48*67e74705SXin Li *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}} 49*67e74705SXin Li } 50*67e74705SXin Li 51*67e74705SXin Li 52*67e74705SXin Li class MagicVector2 { 53*67e74705SXin Li public: 54*67e74705SXin Li MagicVector2(); 55*67e74705SXin Li 56*67e74705SXin Li class iterator { 57*67e74705SXin Li public: 58*67e74705SXin Li int operator*() const; 59*67e74705SXin Li iterator &operator++(); 60*67e74705SXin Li bool operator==(const iterator &); 61*67e74705SXin Li bool operator!=(const iterator &); 62*67e74705SXin Li }; 63*67e74705SXin Li 64*67e74705SXin Li iterator begin() const; 65*67e74705SXin Li iterator end() const; 66*67e74705SXin Li }; 67*67e74705SXin Li get2()68*67e74705SXin LiMagicVector2 get2() { 69*67e74705SXin Li return MagicVector2{}; 70*67e74705SXin Li } 71*67e74705SXin Li testLoopOpaqueIterator()72*67e74705SXin Livoid testLoopOpaqueIterator() { 73*67e74705SXin Li for (int y : get2()) { 74*67e74705SXin Li work(); 75*67e74705SXin Li work(); 76*67e74705SXin Li if (y == 2) 77*67e74705SXin Li *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}} 78*67e74705SXin Li work(); 79*67e74705SXin Li work(); 80*67e74705SXin Li (void)y; 81*67e74705SXin Li } 82*67e74705SXin Li 83*67e74705SXin Li *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}} 84*67e74705SXin Li } 85*67e74705SXin Li 86*67e74705SXin Li testLoopErrorInRange()87*67e74705SXin Livoid testLoopErrorInRange() { 88*67e74705SXin Li for (int y : get(true)) { // error inside get() 89*67e74705SXin Li work(); 90*67e74705SXin Li work(); 91*67e74705SXin Li if (y == 2) 92*67e74705SXin Li *(volatile int *)0 = 1; // no-warning 93*67e74705SXin Li work(); 94*67e74705SXin Li work(); 95*67e74705SXin Li (void)y; 96*67e74705SXin Li } 97*67e74705SXin Li 98*67e74705SXin Li *(volatile int *)0 = 1; // no-warning 99*67e74705SXin Li } 100*67e74705SXin Li // CHECK: <key>diagnostics</key> 101*67e74705SXin Li // CHECK-NEXT: <array> 102*67e74705SXin Li // CHECK-NEXT: <dict> 103*67e74705SXin Li // CHECK-NEXT: <key>path</key> 104*67e74705SXin Li // CHECK-NEXT: <array> 105*67e74705SXin Li // CHECK-NEXT: <dict> 106*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 107*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 108*67e74705SXin Li // CHECK-NEXT: <array> 109*67e74705SXin Li // CHECK-NEXT: <dict> 110*67e74705SXin Li // CHECK-NEXT: <key>start</key> 111*67e74705SXin Li // CHECK-NEXT: <array> 112*67e74705SXin Li // CHECK-NEXT: <dict> 113*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>7</integer> 114*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 115*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 116*67e74705SXin Li // CHECK-NEXT: </dict> 117*67e74705SXin Li // CHECK-NEXT: <dict> 118*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>7</integer> 119*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 120*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 121*67e74705SXin Li // CHECK-NEXT: </dict> 122*67e74705SXin Li // CHECK-NEXT: </array> 123*67e74705SXin Li // CHECK-NEXT: <key>end</key> 124*67e74705SXin Li // CHECK-NEXT: <array> 125*67e74705SXin Li // CHECK-NEXT: <dict> 126*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</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>8</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: </dict> 137*67e74705SXin Li // CHECK-NEXT: </array> 138*67e74705SXin Li // CHECK-NEXT: </dict> 139*67e74705SXin Li // CHECK-NEXT: <dict> 140*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 141*67e74705SXin Li // CHECK-NEXT: <key>location</key> 142*67e74705SXin Li // CHECK-NEXT: <dict> 143*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 144*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 145*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 146*67e74705SXin Li // CHECK-NEXT: </dict> 147*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 148*67e74705SXin Li // CHECK-NEXT: <array> 149*67e74705SXin Li // CHECK-NEXT: <array> 150*67e74705SXin Li // CHECK-NEXT: <dict> 151*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 152*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 153*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 154*67e74705SXin Li // CHECK-NEXT: </dict> 155*67e74705SXin Li // CHECK-NEXT: <dict> 156*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 157*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 158*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 159*67e74705SXin Li // CHECK-NEXT: </dict> 160*67e74705SXin Li // CHECK-NEXT: </array> 161*67e74705SXin Li // CHECK-NEXT: </array> 162*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 163*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 164*67e74705SXin Li // CHECK-NEXT: <string>Entering loop body</string> 165*67e74705SXin Li // CHECK-NEXT: <key>message</key> 166*67e74705SXin Li // CHECK-NEXT: <string>Entering loop body</string> 167*67e74705SXin Li // CHECK-NEXT: </dict> 168*67e74705SXin Li // CHECK-NEXT: <dict> 169*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 170*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 171*67e74705SXin Li // CHECK-NEXT: <array> 172*67e74705SXin Li // CHECK-NEXT: <dict> 173*67e74705SXin Li // CHECK-NEXT: <key>start</key> 174*67e74705SXin Li // CHECK-NEXT: <array> 175*67e74705SXin Li // CHECK-NEXT: <dict> 176*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 177*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 178*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 179*67e74705SXin Li // CHECK-NEXT: </dict> 180*67e74705SXin Li // CHECK-NEXT: <dict> 181*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 182*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 183*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 184*67e74705SXin Li // CHECK-NEXT: </dict> 185*67e74705SXin Li // CHECK-NEXT: </array> 186*67e74705SXin Li // CHECK-NEXT: <key>end</key> 187*67e74705SXin Li // CHECK-NEXT: <array> 188*67e74705SXin Li // CHECK-NEXT: <dict> 189*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>9</integer> 190*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 191*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 192*67e74705SXin Li // CHECK-NEXT: </dict> 193*67e74705SXin Li // CHECK-NEXT: <dict> 194*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>9</integer> 195*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</integer> 196*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 197*67e74705SXin Li // CHECK-NEXT: </dict> 198*67e74705SXin Li // CHECK-NEXT: </array> 199*67e74705SXin Li // CHECK-NEXT: </dict> 200*67e74705SXin Li // CHECK-NEXT: </array> 201*67e74705SXin Li // CHECK-NEXT: </dict> 202*67e74705SXin Li // CHECK-NEXT: <dict> 203*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 204*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 205*67e74705SXin Li // CHECK-NEXT: <array> 206*67e74705SXin Li // CHECK-NEXT: <dict> 207*67e74705SXin Li // CHECK-NEXT: <key>start</key> 208*67e74705SXin Li // CHECK-NEXT: <array> 209*67e74705SXin Li // CHECK-NEXT: <dict> 210*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>9</integer> 211*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 212*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 213*67e74705SXin Li // CHECK-NEXT: </dict> 214*67e74705SXin Li // CHECK-NEXT: <dict> 215*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>9</integer> 216*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</integer> 217*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 218*67e74705SXin Li // CHECK-NEXT: </dict> 219*67e74705SXin Li // CHECK-NEXT: </array> 220*67e74705SXin Li // CHECK-NEXT: <key>end</key> 221*67e74705SXin Li // CHECK-NEXT: <array> 222*67e74705SXin Li // CHECK-NEXT: <dict> 223*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>11</integer> 224*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 225*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 226*67e74705SXin Li // CHECK-NEXT: </dict> 227*67e74705SXin Li // CHECK-NEXT: <dict> 228*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>11</integer> 229*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>6</integer> 230*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 231*67e74705SXin Li // CHECK-NEXT: </dict> 232*67e74705SXin Li // CHECK-NEXT: </array> 233*67e74705SXin Li // CHECK-NEXT: </dict> 234*67e74705SXin Li // CHECK-NEXT: </array> 235*67e74705SXin Li // CHECK-NEXT: </dict> 236*67e74705SXin Li // CHECK-NEXT: <dict> 237*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 238*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 239*67e74705SXin Li // CHECK-NEXT: <array> 240*67e74705SXin Li // CHECK-NEXT: <dict> 241*67e74705SXin Li // CHECK-NEXT: <key>start</key> 242*67e74705SXin Li // CHECK-NEXT: <array> 243*67e74705SXin Li // CHECK-NEXT: <dict> 244*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>11</integer> 245*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 246*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 247*67e74705SXin Li // CHECK-NEXT: </dict> 248*67e74705SXin Li // CHECK-NEXT: <dict> 249*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>11</integer> 250*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>6</integer> 251*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 252*67e74705SXin Li // CHECK-NEXT: </dict> 253*67e74705SXin Li // CHECK-NEXT: </array> 254*67e74705SXin Li // CHECK-NEXT: <key>end</key> 255*67e74705SXin Li // CHECK-NEXT: <array> 256*67e74705SXin Li // CHECK-NEXT: <dict> 257*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>13</integer> 258*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 259*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 260*67e74705SXin Li // CHECK-NEXT: </dict> 261*67e74705SXin Li // CHECK-NEXT: <dict> 262*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>13</integer> 263*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</integer> 264*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 265*67e74705SXin Li // CHECK-NEXT: </dict> 266*67e74705SXin Li // CHECK-NEXT: </array> 267*67e74705SXin Li // CHECK-NEXT: </dict> 268*67e74705SXin Li // CHECK-NEXT: </array> 269*67e74705SXin Li // CHECK-NEXT: </dict> 270*67e74705SXin Li // CHECK-NEXT: <dict> 271*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 272*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 273*67e74705SXin Li // CHECK-NEXT: <array> 274*67e74705SXin Li // CHECK-NEXT: <dict> 275*67e74705SXin Li // CHECK-NEXT: <key>start</key> 276*67e74705SXin Li // CHECK-NEXT: <array> 277*67e74705SXin Li // CHECK-NEXT: <dict> 278*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>13</integer> 279*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</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>13</integer> 284*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</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: <key>end</key> 289*67e74705SXin Li // CHECK-NEXT: <array> 290*67e74705SXin Li // CHECK-NEXT: <dict> 291*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>15</integer> 292*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 293*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 294*67e74705SXin Li // CHECK-NEXT: </dict> 295*67e74705SXin Li // CHECK-NEXT: <dict> 296*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>15</integer> 297*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 298*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 299*67e74705SXin Li // CHECK-NEXT: </dict> 300*67e74705SXin Li // CHECK-NEXT: </array> 301*67e74705SXin Li // CHECK-NEXT: </dict> 302*67e74705SXin Li // CHECK-NEXT: </array> 303*67e74705SXin Li // CHECK-NEXT: </dict> 304*67e74705SXin Li // CHECK-NEXT: <dict> 305*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 306*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 307*67e74705SXin Li // CHECK-NEXT: <array> 308*67e74705SXin Li // CHECK-NEXT: <dict> 309*67e74705SXin Li // CHECK-NEXT: <key>start</key> 310*67e74705SXin Li // CHECK-NEXT: <array> 311*67e74705SXin Li // CHECK-NEXT: <dict> 312*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>15</integer> 313*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 314*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 315*67e74705SXin Li // CHECK-NEXT: </dict> 316*67e74705SXin Li // CHECK-NEXT: <dict> 317*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>15</integer> 318*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 319*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 320*67e74705SXin Li // CHECK-NEXT: </dict> 321*67e74705SXin Li // CHECK-NEXT: </array> 322*67e74705SXin Li // CHECK-NEXT: <key>end</key> 323*67e74705SXin Li // CHECK-NEXT: <array> 324*67e74705SXin Li // CHECK-NEXT: <dict> 325*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>16</integer> 326*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</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: <key>line</key><integer>16</integer> 331*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 332*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 333*67e74705SXin Li // CHECK-NEXT: </dict> 334*67e74705SXin Li // CHECK-NEXT: </array> 335*67e74705SXin Li // CHECK-NEXT: </dict> 336*67e74705SXin Li // CHECK-NEXT: </array> 337*67e74705SXin Li // CHECK-NEXT: </dict> 338*67e74705SXin Li // CHECK-NEXT: <dict> 339*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 340*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 341*67e74705SXin Li // CHECK-NEXT: <array> 342*67e74705SXin Li // CHECK-NEXT: <dict> 343*67e74705SXin Li // CHECK-NEXT: <key>start</key> 344*67e74705SXin Li // CHECK-NEXT: <array> 345*67e74705SXin Li // CHECK-NEXT: <dict> 346*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>16</integer> 347*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 348*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 349*67e74705SXin Li // CHECK-NEXT: </dict> 350*67e74705SXin Li // CHECK-NEXT: <dict> 351*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>16</integer> 352*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 353*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 354*67e74705SXin Li // CHECK-NEXT: </dict> 355*67e74705SXin Li // CHECK-NEXT: </array> 356*67e74705SXin Li // CHECK-NEXT: <key>end</key> 357*67e74705SXin Li // CHECK-NEXT: <array> 358*67e74705SXin Li // CHECK-NEXT: <dict> 359*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</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: <dict> 364*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 365*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 366*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 367*67e74705SXin Li // CHECK-NEXT: </dict> 368*67e74705SXin Li // CHECK-NEXT: </array> 369*67e74705SXin Li // CHECK-NEXT: </dict> 370*67e74705SXin Li // CHECK-NEXT: </array> 371*67e74705SXin Li // CHECK-NEXT: </dict> 372*67e74705SXin Li // CHECK-NEXT: <dict> 373*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 374*67e74705SXin Li // CHECK-NEXT: <key>location</key> 375*67e74705SXin Li // CHECK-NEXT: <dict> 376*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 377*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 378*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 379*67e74705SXin Li // CHECK-NEXT: </dict> 380*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 381*67e74705SXin Li // CHECK-NEXT: <array> 382*67e74705SXin Li // CHECK-NEXT: <array> 383*67e74705SXin Li // CHECK-NEXT: <dict> 384*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 385*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 386*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 387*67e74705SXin Li // CHECK-NEXT: </dict> 388*67e74705SXin Li // CHECK-NEXT: <dict> 389*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>16</integer> 390*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 391*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 392*67e74705SXin Li // CHECK-NEXT: </dict> 393*67e74705SXin Li // CHECK-NEXT: </array> 394*67e74705SXin Li // CHECK-NEXT: </array> 395*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 396*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 397*67e74705SXin Li // CHECK-NEXT: <string>Looping back to the head of the loop</string> 398*67e74705SXin Li // CHECK-NEXT: <key>message</key> 399*67e74705SXin Li // CHECK-NEXT: <string>Looping back to the head of the loop</string> 400*67e74705SXin Li // CHECK-NEXT: </dict> 401*67e74705SXin Li // CHECK-NEXT: <dict> 402*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 403*67e74705SXin Li // CHECK-NEXT: <key>location</key> 404*67e74705SXin Li // CHECK-NEXT: <dict> 405*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 406*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 407*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 408*67e74705SXin Li // CHECK-NEXT: </dict> 409*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 410*67e74705SXin Li // CHECK-NEXT: <array> 411*67e74705SXin Li // CHECK-NEXT: <array> 412*67e74705SXin Li // CHECK-NEXT: <dict> 413*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 414*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 415*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 416*67e74705SXin Li // CHECK-NEXT: </dict> 417*67e74705SXin Li // CHECK-NEXT: <dict> 418*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 419*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 420*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 421*67e74705SXin Li // CHECK-NEXT: </dict> 422*67e74705SXin Li // CHECK-NEXT: </array> 423*67e74705SXin Li // CHECK-NEXT: </array> 424*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 425*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 426*67e74705SXin Li // CHECK-NEXT: <string>Entering loop body</string> 427*67e74705SXin Li // CHECK-NEXT: <key>message</key> 428*67e74705SXin Li // CHECK-NEXT: <string>Entering loop body</string> 429*67e74705SXin Li // CHECK-NEXT: </dict> 430*67e74705SXin Li // CHECK-NEXT: <dict> 431*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 432*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 433*67e74705SXin Li // CHECK-NEXT: <array> 434*67e74705SXin Li // CHECK-NEXT: <dict> 435*67e74705SXin Li // CHECK-NEXT: <key>start</key> 436*67e74705SXin Li // CHECK-NEXT: <array> 437*67e74705SXin Li // CHECK-NEXT: <dict> 438*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 439*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 440*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 441*67e74705SXin Li // CHECK-NEXT: </dict> 442*67e74705SXin Li // CHECK-NEXT: <dict> 443*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>8</integer> 444*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 445*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 446*67e74705SXin Li // CHECK-NEXT: </dict> 447*67e74705SXin Li // CHECK-NEXT: </array> 448*67e74705SXin Li // CHECK-NEXT: <key>end</key> 449*67e74705SXin Li // CHECK-NEXT: <array> 450*67e74705SXin Li // CHECK-NEXT: <dict> 451*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>9</integer> 452*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</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>9</integer> 457*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</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: </dict> 462*67e74705SXin Li // CHECK-NEXT: </array> 463*67e74705SXin Li // CHECK-NEXT: </dict> 464*67e74705SXin Li // CHECK-NEXT: <dict> 465*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 466*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 467*67e74705SXin Li // CHECK-NEXT: <array> 468*67e74705SXin Li // CHECK-NEXT: <dict> 469*67e74705SXin Li // CHECK-NEXT: <key>start</key> 470*67e74705SXin Li // CHECK-NEXT: <array> 471*67e74705SXin Li // CHECK-NEXT: <dict> 472*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>9</integer> 473*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 474*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 475*67e74705SXin Li // CHECK-NEXT: </dict> 476*67e74705SXin Li // CHECK-NEXT: <dict> 477*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>9</integer> 478*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</integer> 479*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 480*67e74705SXin Li // CHECK-NEXT: </dict> 481*67e74705SXin Li // CHECK-NEXT: </array> 482*67e74705SXin Li // CHECK-NEXT: <key>end</key> 483*67e74705SXin Li // CHECK-NEXT: <array> 484*67e74705SXin Li // CHECK-NEXT: <dict> 485*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>11</integer> 486*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</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>11</integer> 491*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>6</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: </dict> 496*67e74705SXin Li // CHECK-NEXT: </array> 497*67e74705SXin Li // CHECK-NEXT: </dict> 498*67e74705SXin Li // CHECK-NEXT: <dict> 499*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 500*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 501*67e74705SXin Li // CHECK-NEXT: <array> 502*67e74705SXin Li // CHECK-NEXT: <dict> 503*67e74705SXin Li // CHECK-NEXT: <key>start</key> 504*67e74705SXin Li // CHECK-NEXT: <array> 505*67e74705SXin Li // CHECK-NEXT: <dict> 506*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>11</integer> 507*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 508*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 509*67e74705SXin Li // CHECK-NEXT: </dict> 510*67e74705SXin Li // CHECK-NEXT: <dict> 511*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>11</integer> 512*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>6</integer> 513*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 514*67e74705SXin Li // CHECK-NEXT: </dict> 515*67e74705SXin Li // CHECK-NEXT: </array> 516*67e74705SXin Li // CHECK-NEXT: <key>end</key> 517*67e74705SXin Li // CHECK-NEXT: <array> 518*67e74705SXin Li // CHECK-NEXT: <dict> 519*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 520*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 521*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 522*67e74705SXin Li // CHECK-NEXT: </dict> 523*67e74705SXin Li // CHECK-NEXT: <dict> 524*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 525*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 526*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 527*67e74705SXin Li // CHECK-NEXT: </dict> 528*67e74705SXin Li // CHECK-NEXT: </array> 529*67e74705SXin Li // CHECK-NEXT: </dict> 530*67e74705SXin Li // CHECK-NEXT: </array> 531*67e74705SXin Li // CHECK-NEXT: </dict> 532*67e74705SXin Li // CHECK-NEXT: <dict> 533*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 534*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 535*67e74705SXin Li // CHECK-NEXT: <array> 536*67e74705SXin Li // CHECK-NEXT: <dict> 537*67e74705SXin Li // CHECK-NEXT: <key>start</key> 538*67e74705SXin Li // CHECK-NEXT: <array> 539*67e74705SXin Li // CHECK-NEXT: <dict> 540*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 541*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 542*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 543*67e74705SXin Li // CHECK-NEXT: </dict> 544*67e74705SXin Li // CHECK-NEXT: <dict> 545*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 546*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 547*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 548*67e74705SXin Li // CHECK-NEXT: </dict> 549*67e74705SXin Li // CHECK-NEXT: </array> 550*67e74705SXin Li // CHECK-NEXT: <key>end</key> 551*67e74705SXin Li // CHECK-NEXT: <array> 552*67e74705SXin Li // CHECK-NEXT: <dict> 553*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 554*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 555*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 556*67e74705SXin Li // CHECK-NEXT: </dict> 557*67e74705SXin Li // CHECK-NEXT: <dict> 558*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 559*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 560*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 561*67e74705SXin Li // CHECK-NEXT: </dict> 562*67e74705SXin Li // CHECK-NEXT: </array> 563*67e74705SXin Li // CHECK-NEXT: </dict> 564*67e74705SXin Li // CHECK-NEXT: </array> 565*67e74705SXin Li // CHECK-NEXT: </dict> 566*67e74705SXin Li // CHECK-NEXT: <dict> 567*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 568*67e74705SXin Li // CHECK-NEXT: <key>location</key> 569*67e74705SXin Li // CHECK-NEXT: <dict> 570*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 571*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 572*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 573*67e74705SXin Li // CHECK-NEXT: </dict> 574*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 575*67e74705SXin Li // CHECK-NEXT: <array> 576*67e74705SXin Li // CHECK-NEXT: <array> 577*67e74705SXin Li // CHECK-NEXT: <dict> 578*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 579*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 580*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 581*67e74705SXin Li // CHECK-NEXT: </dict> 582*67e74705SXin Li // CHECK-NEXT: <dict> 583*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 584*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>28</integer> 585*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 586*67e74705SXin Li // CHECK-NEXT: </dict> 587*67e74705SXin Li // CHECK-NEXT: </array> 588*67e74705SXin Li // CHECK-NEXT: </array> 589*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 590*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 591*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 592*67e74705SXin Li // CHECK-NEXT: <key>message</key> 593*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 594*67e74705SXin Li // CHECK-NEXT: </dict> 595*67e74705SXin Li // CHECK-NEXT: </array> 596*67e74705SXin Li // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> 597*67e74705SXin Li // CHECK-NEXT: <key>category</key><string>Logic error</string> 598*67e74705SXin Li // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 599*67e74705SXin Li // CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> 600*67e74705SXin Li // CHECK-NEXT: <!-- This hash is experimental and going to change! --> 601*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_content_of_line_in_context</key><string>7c0b35987817cf3d44b88c5349bcd4f2</string> 602*67e74705SXin Li // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 603*67e74705SXin Li // CHECK-NEXT: <key>issue_context</key><string>testLoop</string> 604*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_function_offset</key><string>6</string> 605*67e74705SXin Li // CHECK-NEXT: <key>location</key> 606*67e74705SXin Li // CHECK-NEXT: <dict> 607*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>12</integer> 608*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 609*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 610*67e74705SXin Li // CHECK-NEXT: </dict> 611*67e74705SXin Li // CHECK-NEXT: </dict> 612*67e74705SXin Li // CHECK-NEXT: <dict> 613*67e74705SXin Li // CHECK-NEXT: <key>path</key> 614*67e74705SXin Li // CHECK-NEXT: <array> 615*67e74705SXin Li // CHECK-NEXT: <dict> 616*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 617*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 618*67e74705SXin Li // CHECK-NEXT: <array> 619*67e74705SXin Li // CHECK-NEXT: <dict> 620*67e74705SXin Li // CHECK-NEXT: <key>start</key> 621*67e74705SXin Li // CHECK-NEXT: <array> 622*67e74705SXin Li // CHECK-NEXT: <dict> 623*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>88</integer> 624*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 625*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 626*67e74705SXin Li // CHECK-NEXT: </dict> 627*67e74705SXin Li // CHECK-NEXT: <dict> 628*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>88</integer> 629*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 630*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 631*67e74705SXin Li // CHECK-NEXT: </dict> 632*67e74705SXin Li // CHECK-NEXT: </array> 633*67e74705SXin Li // CHECK-NEXT: <key>end</key> 634*67e74705SXin Li // CHECK-NEXT: <array> 635*67e74705SXin Li // CHECK-NEXT: <dict> 636*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>88</integer> 637*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>16</integer> 638*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 639*67e74705SXin Li // CHECK-NEXT: </dict> 640*67e74705SXin Li // CHECK-NEXT: <dict> 641*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>88</integer> 642*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>18</integer> 643*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 644*67e74705SXin Li // CHECK-NEXT: </dict> 645*67e74705SXin Li // CHECK-NEXT: </array> 646*67e74705SXin Li // CHECK-NEXT: </dict> 647*67e74705SXin Li // CHECK-NEXT: </array> 648*67e74705SXin Li // CHECK-NEXT: </dict> 649*67e74705SXin Li // CHECK-NEXT: <dict> 650*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 651*67e74705SXin Li // CHECK-NEXT: <key>location</key> 652*67e74705SXin Li // CHECK-NEXT: <dict> 653*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>88</integer> 654*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>16</integer> 655*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 656*67e74705SXin Li // CHECK-NEXT: </dict> 657*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 658*67e74705SXin Li // CHECK-NEXT: <array> 659*67e74705SXin Li // CHECK-NEXT: <array> 660*67e74705SXin Li // CHECK-NEXT: <dict> 661*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>88</integer> 662*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>16</integer> 663*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 664*67e74705SXin Li // CHECK-NEXT: </dict> 665*67e74705SXin Li // CHECK-NEXT: <dict> 666*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>88</integer> 667*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>24</integer> 668*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 669*67e74705SXin Li // CHECK-NEXT: </dict> 670*67e74705SXin Li // CHECK-NEXT: </array> 671*67e74705SXin Li // CHECK-NEXT: </array> 672*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 673*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 674*67e74705SXin Li // CHECK-NEXT: <string>Calling 'get'</string> 675*67e74705SXin Li // CHECK-NEXT: <key>message</key> 676*67e74705SXin Li // CHECK-NEXT: <string>Calling 'get'</string> 677*67e74705SXin Li // CHECK-NEXT: </dict> 678*67e74705SXin Li // CHECK-NEXT: <dict> 679*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 680*67e74705SXin Li // CHECK-NEXT: <key>location</key> 681*67e74705SXin Li // CHECK-NEXT: <dict> 682*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>31</integer> 683*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>1</integer> 684*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 685*67e74705SXin Li // CHECK-NEXT: </dict> 686*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>1</integer> 687*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 688*67e74705SXin Li // CHECK-NEXT: <string>Entered call from 'testLoopErrorInRange'</string> 689*67e74705SXin Li // CHECK-NEXT: <key>message</key> 690*67e74705SXin Li // CHECK-NEXT: <string>Entered call from 'testLoopErrorInRange'</string> 691*67e74705SXin Li // CHECK-NEXT: </dict> 692*67e74705SXin Li // CHECK-NEXT: <dict> 693*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 694*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 695*67e74705SXin Li // CHECK-NEXT: <array> 696*67e74705SXin Li // CHECK-NEXT: <dict> 697*67e74705SXin Li // CHECK-NEXT: <key>start</key> 698*67e74705SXin Li // CHECK-NEXT: <array> 699*67e74705SXin Li // CHECK-NEXT: <dict> 700*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>31</integer> 701*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>1</integer> 702*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 703*67e74705SXin Li // CHECK-NEXT: </dict> 704*67e74705SXin Li // CHECK-NEXT: <dict> 705*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>31</integer> 706*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>11</integer> 707*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 708*67e74705SXin Li // CHECK-NEXT: </dict> 709*67e74705SXin Li // CHECK-NEXT: </array> 710*67e74705SXin Li // CHECK-NEXT: <key>end</key> 711*67e74705SXin Li // CHECK-NEXT: <array> 712*67e74705SXin Li // CHECK-NEXT: <dict> 713*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>32</integer> 714*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 715*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 716*67e74705SXin Li // CHECK-NEXT: </dict> 717*67e74705SXin Li // CHECK-NEXT: <dict> 718*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>32</integer> 719*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>4</integer> 720*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 721*67e74705SXin Li // CHECK-NEXT: </dict> 722*67e74705SXin Li // CHECK-NEXT: </array> 723*67e74705SXin Li // CHECK-NEXT: </dict> 724*67e74705SXin Li // CHECK-NEXT: </array> 725*67e74705SXin Li // CHECK-NEXT: </dict> 726*67e74705SXin Li // CHECK-NEXT: <dict> 727*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 728*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 729*67e74705SXin Li // CHECK-NEXT: <array> 730*67e74705SXin Li // CHECK-NEXT: <dict> 731*67e74705SXin Li // CHECK-NEXT: <key>start</key> 732*67e74705SXin Li // CHECK-NEXT: <array> 733*67e74705SXin Li // CHECK-NEXT: <dict> 734*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>32</integer> 735*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 736*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 737*67e74705SXin Li // CHECK-NEXT: </dict> 738*67e74705SXin Li // CHECK-NEXT: <dict> 739*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>32</integer> 740*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>4</integer> 741*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 742*67e74705SXin Li // CHECK-NEXT: </dict> 743*67e74705SXin Li // CHECK-NEXT: </array> 744*67e74705SXin Li // CHECK-NEXT: <key>end</key> 745*67e74705SXin Li // CHECK-NEXT: <array> 746*67e74705SXin Li // CHECK-NEXT: <dict> 747*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 748*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 749*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 750*67e74705SXin Li // CHECK-NEXT: </dict> 751*67e74705SXin Li // CHECK-NEXT: <dict> 752*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 753*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 754*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 755*67e74705SXin Li // CHECK-NEXT: </dict> 756*67e74705SXin Li // CHECK-NEXT: </array> 757*67e74705SXin Li // CHECK-NEXT: </dict> 758*67e74705SXin Li // CHECK-NEXT: </array> 759*67e74705SXin Li // CHECK-NEXT: </dict> 760*67e74705SXin Li // CHECK-NEXT: <dict> 761*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 762*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 763*67e74705SXin Li // CHECK-NEXT: <array> 764*67e74705SXin Li // CHECK-NEXT: <dict> 765*67e74705SXin Li // CHECK-NEXT: <key>start</key> 766*67e74705SXin Li // CHECK-NEXT: <array> 767*67e74705SXin Li // CHECK-NEXT: <dict> 768*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 769*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 770*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 771*67e74705SXin Li // CHECK-NEXT: </dict> 772*67e74705SXin Li // CHECK-NEXT: <dict> 773*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 774*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 775*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 776*67e74705SXin Li // CHECK-NEXT: </dict> 777*67e74705SXin Li // CHECK-NEXT: </array> 778*67e74705SXin Li // CHECK-NEXT: <key>end</key> 779*67e74705SXin Li // CHECK-NEXT: <array> 780*67e74705SXin Li // CHECK-NEXT: <dict> 781*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 782*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>24</integer> 783*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 784*67e74705SXin Li // CHECK-NEXT: </dict> 785*67e74705SXin Li // CHECK-NEXT: <dict> 786*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 787*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>24</integer> 788*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 789*67e74705SXin Li // CHECK-NEXT: </dict> 790*67e74705SXin Li // CHECK-NEXT: </array> 791*67e74705SXin Li // CHECK-NEXT: </dict> 792*67e74705SXin Li // CHECK-NEXT: </array> 793*67e74705SXin Li // CHECK-NEXT: </dict> 794*67e74705SXin Li // CHECK-NEXT: <dict> 795*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 796*67e74705SXin Li // CHECK-NEXT: <key>location</key> 797*67e74705SXin Li // CHECK-NEXT: <dict> 798*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 799*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>24</integer> 800*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 801*67e74705SXin Li // CHECK-NEXT: </dict> 802*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 803*67e74705SXin Li // CHECK-NEXT: <array> 804*67e74705SXin Li // CHECK-NEXT: <array> 805*67e74705SXin Li // CHECK-NEXT: <dict> 806*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 807*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 808*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 809*67e74705SXin Li // CHECK-NEXT: </dict> 810*67e74705SXin Li // CHECK-NEXT: <dict> 811*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 812*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 813*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 814*67e74705SXin Li // CHECK-NEXT: </dict> 815*67e74705SXin Li // CHECK-NEXT: </array> 816*67e74705SXin Li // CHECK-NEXT: </array> 817*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>1</integer> 818*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 819*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 820*67e74705SXin Li // CHECK-NEXT: <key>message</key> 821*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 822*67e74705SXin Li // CHECK-NEXT: </dict> 823*67e74705SXin Li // CHECK-NEXT: </array> 824*67e74705SXin Li // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> 825*67e74705SXin Li // CHECK-NEXT: <key>category</key><string>Logic error</string> 826*67e74705SXin Li // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 827*67e74705SXin Li // CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> 828*67e74705SXin Li // CHECK-NEXT: <!-- This hash is experimental and going to change! --> 829*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_content_of_line_in_context</key><string>f53792d63dffe6176babc00ee455a3e0</string> 830*67e74705SXin Li // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 831*67e74705SXin Li // CHECK-NEXT: <key>issue_context</key><string>get</string> 832*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_function_offset</key><string>2</string> 833*67e74705SXin Li // CHECK-NEXT: <key>location</key> 834*67e74705SXin Li // CHECK-NEXT: <dict> 835*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>33</integer> 836*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>24</integer> 837*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 838*67e74705SXin Li // CHECK-NEXT: </dict> 839*67e74705SXin Li // CHECK-NEXT: </dict> 840*67e74705SXin Li // CHECK-NEXT: <dict> 841*67e74705SXin Li // CHECK-NEXT: <key>path</key> 842*67e74705SXin Li // CHECK-NEXT: <array> 843*67e74705SXin Li // CHECK-NEXT: <dict> 844*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 845*67e74705SXin Li // CHECK-NEXT: <key>location</key> 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>14</integer> 849*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 850*67e74705SXin Li // CHECK-NEXT: </dict> 851*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 852*67e74705SXin Li // CHECK-NEXT: <array> 853*67e74705SXin Li // CHECK-NEXT: <array> 854*67e74705SXin Li // CHECK-NEXT: <dict> 855*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>38</integer> 856*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</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>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: </array> 865*67e74705SXin Li // CHECK-NEXT: </array> 866*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 867*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 868*67e74705SXin Li // CHECK-NEXT: <string>Entering loop body</string> 869*67e74705SXin Li // CHECK-NEXT: <key>message</key> 870*67e74705SXin Li // CHECK-NEXT: <string>Entering loop body</string> 871*67e74705SXin Li // CHECK-NEXT: </dict> 872*67e74705SXin Li // CHECK-NEXT: <dict> 873*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 874*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 875*67e74705SXin Li // CHECK-NEXT: <array> 876*67e74705SXin Li // CHECK-NEXT: <dict> 877*67e74705SXin Li // CHECK-NEXT: <key>start</key> 878*67e74705SXin Li // CHECK-NEXT: <array> 879*67e74705SXin Li // CHECK-NEXT: <dict> 880*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>38</integer> 881*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 882*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 883*67e74705SXin Li // CHECK-NEXT: </dict> 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>5</integer> 887*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 888*67e74705SXin Li // CHECK-NEXT: </dict> 889*67e74705SXin Li // CHECK-NEXT: </array> 890*67e74705SXin Li // CHECK-NEXT: <key>end</key> 891*67e74705SXin Li // CHECK-NEXT: <array> 892*67e74705SXin Li // CHECK-NEXT: <dict> 893*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>39</integer> 894*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</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>39</integer> 899*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</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: </dict> 904*67e74705SXin Li // CHECK-NEXT: </array> 905*67e74705SXin Li // CHECK-NEXT: </dict> 906*67e74705SXin Li // CHECK-NEXT: <dict> 907*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 908*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 909*67e74705SXin Li // CHECK-NEXT: <array> 910*67e74705SXin Li // CHECK-NEXT: <dict> 911*67e74705SXin Li // CHECK-NEXT: <key>start</key> 912*67e74705SXin Li // CHECK-NEXT: <array> 913*67e74705SXin Li // CHECK-NEXT: <dict> 914*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>39</integer> 915*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</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: <key>line</key><integer>39</integer> 920*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</integer> 921*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 922*67e74705SXin Li // CHECK-NEXT: </dict> 923*67e74705SXin Li // CHECK-NEXT: </array> 924*67e74705SXin Li // CHECK-NEXT: <key>end</key> 925*67e74705SXin Li // CHECK-NEXT: <array> 926*67e74705SXin Li // CHECK-NEXT: <dict> 927*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 928*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 929*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 930*67e74705SXin Li // CHECK-NEXT: </dict> 931*67e74705SXin Li // CHECK-NEXT: <dict> 932*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 933*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>6</integer> 934*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 935*67e74705SXin Li // CHECK-NEXT: </dict> 936*67e74705SXin Li // CHECK-NEXT: </array> 937*67e74705SXin Li // CHECK-NEXT: </dict> 938*67e74705SXin Li // CHECK-NEXT: </array> 939*67e74705SXin Li // CHECK-NEXT: </dict> 940*67e74705SXin Li // CHECK-NEXT: <dict> 941*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 942*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 943*67e74705SXin Li // CHECK-NEXT: <array> 944*67e74705SXin Li // CHECK-NEXT: <dict> 945*67e74705SXin Li // CHECK-NEXT: <key>start</key> 946*67e74705SXin Li // CHECK-NEXT: <array> 947*67e74705SXin Li // CHECK-NEXT: <dict> 948*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 949*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 950*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 951*67e74705SXin Li // CHECK-NEXT: </dict> 952*67e74705SXin Li // CHECK-NEXT: <dict> 953*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 954*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>6</integer> 955*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 956*67e74705SXin Li // CHECK-NEXT: </dict> 957*67e74705SXin Li // CHECK-NEXT: </array> 958*67e74705SXin Li // CHECK-NEXT: <key>end</key> 959*67e74705SXin Li // CHECK-NEXT: <array> 960*67e74705SXin Li // CHECK-NEXT: <dict> 961*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 962*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 963*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 964*67e74705SXin Li // CHECK-NEXT: </dict> 965*67e74705SXin Li // CHECK-NEXT: <dict> 966*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 967*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 968*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 969*67e74705SXin Li // CHECK-NEXT: </dict> 970*67e74705SXin Li // CHECK-NEXT: </array> 971*67e74705SXin Li // CHECK-NEXT: </dict> 972*67e74705SXin Li // CHECK-NEXT: </array> 973*67e74705SXin Li // CHECK-NEXT: </dict> 974*67e74705SXin Li // CHECK-NEXT: <dict> 975*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 976*67e74705SXin Li // CHECK-NEXT: <key>location</key> 977*67e74705SXin Li // CHECK-NEXT: <dict> 978*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 979*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 980*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 981*67e74705SXin Li // CHECK-NEXT: </dict> 982*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 983*67e74705SXin Li // CHECK-NEXT: <array> 984*67e74705SXin Li // CHECK-NEXT: <array> 985*67e74705SXin Li // CHECK-NEXT: <dict> 986*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 987*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 988*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 989*67e74705SXin Li // CHECK-NEXT: </dict> 990*67e74705SXin Li // CHECK-NEXT: <dict> 991*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>41</integer> 992*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 993*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 994*67e74705SXin Li // CHECK-NEXT: </dict> 995*67e74705SXin Li // CHECK-NEXT: </array> 996*67e74705SXin Li // CHECK-NEXT: </array> 997*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 998*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 999*67e74705SXin Li // CHECK-NEXT: <string>Assuming 'y' is equal to 2</string> 1000*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1001*67e74705SXin Li // CHECK-NEXT: <string>Assuming 'y' is equal to 2</string> 1002*67e74705SXin Li // CHECK-NEXT: </dict> 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>41</integer> 1012*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</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>41</integer> 1017*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</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>42</integer> 1025*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</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>42</integer> 1030*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</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>control</string> 1039*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1040*67e74705SXin Li // CHECK-NEXT: <array> 1041*67e74705SXin Li // CHECK-NEXT: <dict> 1042*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1043*67e74705SXin Li // CHECK-NEXT: <array> 1044*67e74705SXin Li // CHECK-NEXT: <dict> 1045*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>42</integer> 1046*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 1047*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1048*67e74705SXin Li // CHECK-NEXT: </dict> 1049*67e74705SXin Li // CHECK-NEXT: <dict> 1050*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>42</integer> 1051*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 1052*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1053*67e74705SXin Li // CHECK-NEXT: </dict> 1054*67e74705SXin Li // CHECK-NEXT: </array> 1055*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1056*67e74705SXin Li // CHECK-NEXT: <array> 1057*67e74705SXin Li // CHECK-NEXT: <dict> 1058*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>42</integer> 1059*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 1060*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1061*67e74705SXin Li // CHECK-NEXT: </dict> 1062*67e74705SXin Li // CHECK-NEXT: <dict> 1063*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>42</integer> 1064*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 1065*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1066*67e74705SXin Li // CHECK-NEXT: </dict> 1067*67e74705SXin Li // CHECK-NEXT: </array> 1068*67e74705SXin Li // CHECK-NEXT: </dict> 1069*67e74705SXin Li // CHECK-NEXT: </array> 1070*67e74705SXin Li // CHECK-NEXT: </dict> 1071*67e74705SXin Li // CHECK-NEXT: <dict> 1072*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 1073*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1074*67e74705SXin Li // CHECK-NEXT: <dict> 1075*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>42</integer> 1076*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 1077*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1078*67e74705SXin Li // CHECK-NEXT: </dict> 1079*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 1080*67e74705SXin Li // CHECK-NEXT: <array> 1081*67e74705SXin Li // CHECK-NEXT: <array> 1082*67e74705SXin Li // CHECK-NEXT: <dict> 1083*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>42</integer> 1084*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 1085*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1086*67e74705SXin Li // CHECK-NEXT: </dict> 1087*67e74705SXin Li // CHECK-NEXT: <dict> 1088*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>42</integer> 1089*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>28</integer> 1090*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1091*67e74705SXin Li // CHECK-NEXT: </dict> 1092*67e74705SXin Li // CHECK-NEXT: </array> 1093*67e74705SXin Li // CHECK-NEXT: </array> 1094*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 1095*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 1096*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 1097*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1098*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 1099*67e74705SXin Li // CHECK-NEXT: </dict> 1100*67e74705SXin Li // CHECK-NEXT: </array> 1101*67e74705SXin Li // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> 1102*67e74705SXin Li // CHECK-NEXT: <key>category</key><string>Logic error</string> 1103*67e74705SXin Li // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 1104*67e74705SXin Li // CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> 1105*67e74705SXin Li // CHECK-NEXT: <!-- This hash is experimental and going to change! --> 1106*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_content_of_line_in_context</key><string>7bc3cb8a56be029296ec61f7ee83fc9e</string> 1107*67e74705SXin Li // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 1108*67e74705SXin Li // CHECK-NEXT: <key>issue_context</key><string>testLoopOpaqueCollection</string> 1109*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_function_offset</key><string>5</string> 1110*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1111*67e74705SXin Li // CHECK-NEXT: <dict> 1112*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>42</integer> 1113*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 1114*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1115*67e74705SXin Li // CHECK-NEXT: </dict> 1116*67e74705SXin Li // CHECK-NEXT: </dict> 1117*67e74705SXin Li // CHECK-NEXT: <dict> 1118*67e74705SXin Li // CHECK-NEXT: <key>path</key> 1119*67e74705SXin Li // CHECK-NEXT: <array> 1120*67e74705SXin Li // CHECK-NEXT: <dict> 1121*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 1122*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1123*67e74705SXin Li // CHECK-NEXT: <dict> 1124*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>38</integer> 1125*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1126*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1127*67e74705SXin Li // CHECK-NEXT: </dict> 1128*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 1129*67e74705SXin Li // CHECK-NEXT: <array> 1130*67e74705SXin Li // CHECK-NEXT: <array> 1131*67e74705SXin Li // CHECK-NEXT: <dict> 1132*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>38</integer> 1133*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1134*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1135*67e74705SXin Li // CHECK-NEXT: </dict> 1136*67e74705SXin Li // CHECK-NEXT: <dict> 1137*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>38</integer> 1138*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1139*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1140*67e74705SXin Li // CHECK-NEXT: </dict> 1141*67e74705SXin Li // CHECK-NEXT: </array> 1142*67e74705SXin Li // CHECK-NEXT: </array> 1143*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 1144*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 1145*67e74705SXin Li // CHECK-NEXT: <string>Loop body skipped when range is empty</string> 1146*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1147*67e74705SXin Li // CHECK-NEXT: <string>Loop body skipped when range is empty</string> 1148*67e74705SXin Li // CHECK-NEXT: </dict> 1149*67e74705SXin Li // CHECK-NEXT: <dict> 1150*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1151*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1152*67e74705SXin Li // CHECK-NEXT: <array> 1153*67e74705SXin Li // CHECK-NEXT: <dict> 1154*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1155*67e74705SXin Li // CHECK-NEXT: <array> 1156*67e74705SXin Li // CHECK-NEXT: <dict> 1157*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>38</integer> 1158*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1159*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1160*67e74705SXin Li // CHECK-NEXT: </dict> 1161*67e74705SXin Li // CHECK-NEXT: <dict> 1162*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>38</integer> 1163*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 1164*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1165*67e74705SXin Li // CHECK-NEXT: </dict> 1166*67e74705SXin Li // CHECK-NEXT: </array> 1167*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1168*67e74705SXin Li // CHECK-NEXT: <array> 1169*67e74705SXin Li // CHECK-NEXT: <dict> 1170*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1171*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1172*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1173*67e74705SXin Li // CHECK-NEXT: </dict> 1174*67e74705SXin Li // CHECK-NEXT: <dict> 1175*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1176*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1177*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1178*67e74705SXin Li // CHECK-NEXT: </dict> 1179*67e74705SXin Li // CHECK-NEXT: </array> 1180*67e74705SXin Li // CHECK-NEXT: </dict> 1181*67e74705SXin Li // CHECK-NEXT: </array> 1182*67e74705SXin Li // CHECK-NEXT: </dict> 1183*67e74705SXin Li // CHECK-NEXT: <dict> 1184*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1185*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1186*67e74705SXin Li // CHECK-NEXT: <array> 1187*67e74705SXin Li // CHECK-NEXT: <dict> 1188*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1189*67e74705SXin Li // CHECK-NEXT: <array> 1190*67e74705SXin Li // CHECK-NEXT: <dict> 1191*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1192*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1193*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1194*67e74705SXin Li // CHECK-NEXT: </dict> 1195*67e74705SXin Li // CHECK-NEXT: <dict> 1196*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1197*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1198*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1199*67e74705SXin Li // CHECK-NEXT: </dict> 1200*67e74705SXin Li // CHECK-NEXT: </array> 1201*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1202*67e74705SXin Li // CHECK-NEXT: <array> 1203*67e74705SXin Li // CHECK-NEXT: <dict> 1204*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1205*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>22</integer> 1206*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1207*67e74705SXin Li // CHECK-NEXT: </dict> 1208*67e74705SXin Li // CHECK-NEXT: <dict> 1209*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1210*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>22</integer> 1211*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1212*67e74705SXin Li // CHECK-NEXT: </dict> 1213*67e74705SXin Li // CHECK-NEXT: </array> 1214*67e74705SXin Li // CHECK-NEXT: </dict> 1215*67e74705SXin Li // CHECK-NEXT: </array> 1216*67e74705SXin Li // CHECK-NEXT: </dict> 1217*67e74705SXin Li // CHECK-NEXT: <dict> 1218*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 1219*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1220*67e74705SXin Li // CHECK-NEXT: <dict> 1221*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1222*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>22</integer> 1223*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1224*67e74705SXin Li // CHECK-NEXT: </dict> 1225*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 1226*67e74705SXin Li // CHECK-NEXT: <array> 1227*67e74705SXin Li // CHECK-NEXT: <array> 1228*67e74705SXin Li // CHECK-NEXT: <dict> 1229*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1230*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1231*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1232*67e74705SXin Li // CHECK-NEXT: </dict> 1233*67e74705SXin Li // CHECK-NEXT: <dict> 1234*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1235*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>24</integer> 1236*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1237*67e74705SXin Li // CHECK-NEXT: </dict> 1238*67e74705SXin Li // CHECK-NEXT: </array> 1239*67e74705SXin Li // CHECK-NEXT: </array> 1240*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 1241*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 1242*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 1243*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1244*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 1245*67e74705SXin Li // CHECK-NEXT: </dict> 1246*67e74705SXin Li // CHECK-NEXT: </array> 1247*67e74705SXin Li // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> 1248*67e74705SXin Li // CHECK-NEXT: <key>category</key><string>Logic error</string> 1249*67e74705SXin Li // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 1250*67e74705SXin Li // CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> 1251*67e74705SXin Li // CHECK-NEXT: <!-- This hash is experimental and going to change! --> 1252*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_content_of_line_in_context</key><string>dc7b457a64bd56c30467c1af44049756</string> 1253*67e74705SXin Li // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 1254*67e74705SXin Li // CHECK-NEXT: <key>issue_context</key><string>testLoopOpaqueCollection</string> 1255*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_function_offset</key><string>11</string> 1256*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1257*67e74705SXin Li // CHECK-NEXT: <dict> 1258*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>48</integer> 1259*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>22</integer> 1260*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1261*67e74705SXin Li // CHECK-NEXT: </dict> 1262*67e74705SXin Li // CHECK-NEXT: </dict> 1263*67e74705SXin Li // CHECK-NEXT: <dict> 1264*67e74705SXin Li // CHECK-NEXT: <key>path</key> 1265*67e74705SXin Li // CHECK-NEXT: <array> 1266*67e74705SXin Li // CHECK-NEXT: <dict> 1267*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 1268*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1269*67e74705SXin Li // CHECK-NEXT: <dict> 1270*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1271*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1272*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1273*67e74705SXin Li // CHECK-NEXT: </dict> 1274*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 1275*67e74705SXin Li // CHECK-NEXT: <array> 1276*67e74705SXin Li // CHECK-NEXT: <array> 1277*67e74705SXin Li // CHECK-NEXT: <dict> 1278*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1279*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1280*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1281*67e74705SXin Li // CHECK-NEXT: </dict> 1282*67e74705SXin Li // CHECK-NEXT: <dict> 1283*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1284*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1285*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1286*67e74705SXin Li // CHECK-NEXT: </dict> 1287*67e74705SXin Li // CHECK-NEXT: </array> 1288*67e74705SXin Li // CHECK-NEXT: </array> 1289*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 1290*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 1291*67e74705SXin Li // CHECK-NEXT: <string>Entering loop body</string> 1292*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1293*67e74705SXin Li // CHECK-NEXT: <string>Entering loop body</string> 1294*67e74705SXin Li // CHECK-NEXT: </dict> 1295*67e74705SXin Li // CHECK-NEXT: <dict> 1296*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1297*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1298*67e74705SXin Li // CHECK-NEXT: <array> 1299*67e74705SXin Li // CHECK-NEXT: <dict> 1300*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1301*67e74705SXin Li // CHECK-NEXT: <array> 1302*67e74705SXin Li // CHECK-NEXT: <dict> 1303*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1304*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1305*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1306*67e74705SXin Li // CHECK-NEXT: </dict> 1307*67e74705SXin Li // CHECK-NEXT: <dict> 1308*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1309*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 1310*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1311*67e74705SXin Li // CHECK-NEXT: </dict> 1312*67e74705SXin Li // CHECK-NEXT: </array> 1313*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1314*67e74705SXin Li // CHECK-NEXT: <array> 1315*67e74705SXin Li // CHECK-NEXT: <dict> 1316*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>74</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: <dict> 1321*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>74</integer> 1322*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</integer> 1323*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1324*67e74705SXin Li // CHECK-NEXT: </dict> 1325*67e74705SXin Li // CHECK-NEXT: </array> 1326*67e74705SXin Li // CHECK-NEXT: </dict> 1327*67e74705SXin Li // CHECK-NEXT: </array> 1328*67e74705SXin Li // CHECK-NEXT: </dict> 1329*67e74705SXin Li // CHECK-NEXT: <dict> 1330*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1331*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1332*67e74705SXin Li // CHECK-NEXT: <array> 1333*67e74705SXin Li // CHECK-NEXT: <dict> 1334*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1335*67e74705SXin Li // CHECK-NEXT: <array> 1336*67e74705SXin Li // CHECK-NEXT: <dict> 1337*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>74</integer> 1338*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 1339*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1340*67e74705SXin Li // CHECK-NEXT: </dict> 1341*67e74705SXin Li // CHECK-NEXT: <dict> 1342*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>74</integer> 1343*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>8</integer> 1344*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1345*67e74705SXin Li // CHECK-NEXT: </dict> 1346*67e74705SXin Li // CHECK-NEXT: </array> 1347*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1348*67e74705SXin Li // CHECK-NEXT: <array> 1349*67e74705SXin Li // CHECK-NEXT: <dict> 1350*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1351*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 1352*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1353*67e74705SXin Li // CHECK-NEXT: </dict> 1354*67e74705SXin Li // CHECK-NEXT: <dict> 1355*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1356*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>6</integer> 1357*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1358*67e74705SXin Li // CHECK-NEXT: </dict> 1359*67e74705SXin Li // CHECK-NEXT: </array> 1360*67e74705SXin Li // CHECK-NEXT: </dict> 1361*67e74705SXin Li // CHECK-NEXT: </array> 1362*67e74705SXin Li // CHECK-NEXT: </dict> 1363*67e74705SXin Li // CHECK-NEXT: <dict> 1364*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1365*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1366*67e74705SXin Li // CHECK-NEXT: <array> 1367*67e74705SXin Li // CHECK-NEXT: <dict> 1368*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1369*67e74705SXin Li // CHECK-NEXT: <array> 1370*67e74705SXin Li // CHECK-NEXT: <dict> 1371*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1372*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 1373*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1374*67e74705SXin Li // CHECK-NEXT: </dict> 1375*67e74705SXin Li // CHECK-NEXT: <dict> 1376*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1377*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>6</integer> 1378*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1379*67e74705SXin Li // CHECK-NEXT: </dict> 1380*67e74705SXin Li // CHECK-NEXT: </array> 1381*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1382*67e74705SXin Li // CHECK-NEXT: <array> 1383*67e74705SXin Li // CHECK-NEXT: <dict> 1384*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1385*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 1386*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1387*67e74705SXin Li // CHECK-NEXT: </dict> 1388*67e74705SXin Li // CHECK-NEXT: <dict> 1389*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1390*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 1391*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1392*67e74705SXin Li // CHECK-NEXT: </dict> 1393*67e74705SXin Li // CHECK-NEXT: </array> 1394*67e74705SXin Li // CHECK-NEXT: </dict> 1395*67e74705SXin Li // CHECK-NEXT: </array> 1396*67e74705SXin Li // CHECK-NEXT: </dict> 1397*67e74705SXin Li // CHECK-NEXT: <dict> 1398*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 1399*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1400*67e74705SXin Li // CHECK-NEXT: <dict> 1401*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1402*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 1403*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1404*67e74705SXin Li // CHECK-NEXT: </dict> 1405*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 1406*67e74705SXin Li // CHECK-NEXT: <array> 1407*67e74705SXin Li // CHECK-NEXT: <array> 1408*67e74705SXin Li // CHECK-NEXT: <dict> 1409*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1410*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 1411*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1412*67e74705SXin Li // CHECK-NEXT: </dict> 1413*67e74705SXin Li // CHECK-NEXT: <dict> 1414*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1415*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1416*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1417*67e74705SXin Li // CHECK-NEXT: </dict> 1418*67e74705SXin Li // CHECK-NEXT: </array> 1419*67e74705SXin Li // CHECK-NEXT: </array> 1420*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 1421*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 1422*67e74705SXin Li // CHECK-NEXT: <string>Assuming 'y' is equal to 2</string> 1423*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1424*67e74705SXin Li // CHECK-NEXT: <string>Assuming 'y' is equal to 2</string> 1425*67e74705SXin Li // CHECK-NEXT: </dict> 1426*67e74705SXin Li // CHECK-NEXT: <dict> 1427*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1428*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1429*67e74705SXin Li // CHECK-NEXT: <array> 1430*67e74705SXin Li // CHECK-NEXT: <dict> 1431*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1432*67e74705SXin Li // CHECK-NEXT: <array> 1433*67e74705SXin Li // CHECK-NEXT: <dict> 1434*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1435*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 1436*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1437*67e74705SXin Li // CHECK-NEXT: </dict> 1438*67e74705SXin Li // CHECK-NEXT: <dict> 1439*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>76</integer> 1440*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>9</integer> 1441*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1442*67e74705SXin Li // CHECK-NEXT: </dict> 1443*67e74705SXin Li // CHECK-NEXT: </array> 1444*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1445*67e74705SXin Li // CHECK-NEXT: <array> 1446*67e74705SXin Li // CHECK-NEXT: <dict> 1447*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1448*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 1449*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1450*67e74705SXin Li // CHECK-NEXT: </dict> 1451*67e74705SXin Li // CHECK-NEXT: <dict> 1452*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1453*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 1454*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1455*67e74705SXin Li // CHECK-NEXT: </dict> 1456*67e74705SXin Li // CHECK-NEXT: </array> 1457*67e74705SXin Li // CHECK-NEXT: </dict> 1458*67e74705SXin Li // CHECK-NEXT: </array> 1459*67e74705SXin Li // CHECK-NEXT: </dict> 1460*67e74705SXin Li // CHECK-NEXT: <dict> 1461*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1462*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1463*67e74705SXin Li // CHECK-NEXT: <array> 1464*67e74705SXin Li // CHECK-NEXT: <dict> 1465*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1466*67e74705SXin Li // CHECK-NEXT: <array> 1467*67e74705SXin Li // CHECK-NEXT: <dict> 1468*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1469*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 1470*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1471*67e74705SXin Li // CHECK-NEXT: </dict> 1472*67e74705SXin Li // CHECK-NEXT: <dict> 1473*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1474*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 1475*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1476*67e74705SXin Li // CHECK-NEXT: </dict> 1477*67e74705SXin Li // CHECK-NEXT: </array> 1478*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1479*67e74705SXin Li // CHECK-NEXT: <array> 1480*67e74705SXin Li // CHECK-NEXT: <dict> 1481*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1482*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 1483*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1484*67e74705SXin Li // CHECK-NEXT: </dict> 1485*67e74705SXin Li // CHECK-NEXT: <dict> 1486*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1487*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 1488*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1489*67e74705SXin Li // CHECK-NEXT: </dict> 1490*67e74705SXin Li // CHECK-NEXT: </array> 1491*67e74705SXin Li // CHECK-NEXT: </dict> 1492*67e74705SXin Li // CHECK-NEXT: </array> 1493*67e74705SXin Li // CHECK-NEXT: </dict> 1494*67e74705SXin Li // CHECK-NEXT: <dict> 1495*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 1496*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1497*67e74705SXin Li // CHECK-NEXT: <dict> 1498*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1499*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 1500*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1501*67e74705SXin Li // CHECK-NEXT: </dict> 1502*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 1503*67e74705SXin Li // CHECK-NEXT: <array> 1504*67e74705SXin Li // CHECK-NEXT: <array> 1505*67e74705SXin Li // CHECK-NEXT: <dict> 1506*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1507*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>7</integer> 1508*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1509*67e74705SXin Li // CHECK-NEXT: </dict> 1510*67e74705SXin Li // CHECK-NEXT: <dict> 1511*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1512*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>28</integer> 1513*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1514*67e74705SXin Li // CHECK-NEXT: </dict> 1515*67e74705SXin Li // CHECK-NEXT: </array> 1516*67e74705SXin Li // CHECK-NEXT: </array> 1517*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 1518*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 1519*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 1520*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1521*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 1522*67e74705SXin Li // CHECK-NEXT: </dict> 1523*67e74705SXin Li // CHECK-NEXT: </array> 1524*67e74705SXin Li // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> 1525*67e74705SXin Li // CHECK-NEXT: <key>category</key><string>Logic error</string> 1526*67e74705SXin Li // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 1527*67e74705SXin Li // CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> 1528*67e74705SXin Li // CHECK-NEXT: <!-- This hash is experimental and going to change! --> 1529*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_content_of_line_in_context</key><string>f4697ded3a92318349a3969238e05387</string> 1530*67e74705SXin Li // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 1531*67e74705SXin Li // CHECK-NEXT: <key>issue_context</key><string>testLoopOpaqueIterator</string> 1532*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_function_offset</key><string>5</string> 1533*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1534*67e74705SXin Li // CHECK-NEXT: <dict> 1535*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>77</integer> 1536*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>26</integer> 1537*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1538*67e74705SXin Li // CHECK-NEXT: </dict> 1539*67e74705SXin Li // CHECK-NEXT: </dict> 1540*67e74705SXin Li // CHECK-NEXT: <dict> 1541*67e74705SXin Li // CHECK-NEXT: <key>path</key> 1542*67e74705SXin Li // CHECK-NEXT: <array> 1543*67e74705SXin Li // CHECK-NEXT: <dict> 1544*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 1545*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1546*67e74705SXin Li // CHECK-NEXT: <dict> 1547*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1548*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1549*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1550*67e74705SXin Li // CHECK-NEXT: </dict> 1551*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 1552*67e74705SXin Li // CHECK-NEXT: <array> 1553*67e74705SXin Li // CHECK-NEXT: <array> 1554*67e74705SXin Li // CHECK-NEXT: <dict> 1555*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1556*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1557*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1558*67e74705SXin Li // CHECK-NEXT: </dict> 1559*67e74705SXin Li // CHECK-NEXT: <dict> 1560*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1561*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>14</integer> 1562*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1563*67e74705SXin Li // CHECK-NEXT: </dict> 1564*67e74705SXin Li // CHECK-NEXT: </array> 1565*67e74705SXin Li // CHECK-NEXT: </array> 1566*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 1567*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 1568*67e74705SXin Li // CHECK-NEXT: <string>Loop body skipped when range is empty</string> 1569*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1570*67e74705SXin Li // CHECK-NEXT: <string>Loop body skipped when range is empty</string> 1571*67e74705SXin Li // CHECK-NEXT: </dict> 1572*67e74705SXin Li // CHECK-NEXT: <dict> 1573*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1574*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1575*67e74705SXin Li // CHECK-NEXT: <array> 1576*67e74705SXin Li // CHECK-NEXT: <dict> 1577*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1578*67e74705SXin Li // CHECK-NEXT: <array> 1579*67e74705SXin Li // CHECK-NEXT: <dict> 1580*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1581*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1582*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1583*67e74705SXin Li // CHECK-NEXT: </dict> 1584*67e74705SXin Li // CHECK-NEXT: <dict> 1585*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>73</integer> 1586*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>5</integer> 1587*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1588*67e74705SXin Li // CHECK-NEXT: </dict> 1589*67e74705SXin Li // CHECK-NEXT: </array> 1590*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1591*67e74705SXin Li // CHECK-NEXT: <array> 1592*67e74705SXin Li // CHECK-NEXT: <dict> 1593*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1594*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1595*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1596*67e74705SXin Li // CHECK-NEXT: </dict> 1597*67e74705SXin Li // CHECK-NEXT: <dict> 1598*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1599*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1600*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1601*67e74705SXin Li // CHECK-NEXT: </dict> 1602*67e74705SXin Li // CHECK-NEXT: </array> 1603*67e74705SXin Li // CHECK-NEXT: </dict> 1604*67e74705SXin Li // CHECK-NEXT: </array> 1605*67e74705SXin Li // CHECK-NEXT: </dict> 1606*67e74705SXin Li // CHECK-NEXT: <dict> 1607*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>control</string> 1608*67e74705SXin Li // CHECK-NEXT: <key>edges</key> 1609*67e74705SXin Li // CHECK-NEXT: <array> 1610*67e74705SXin Li // CHECK-NEXT: <dict> 1611*67e74705SXin Li // CHECK-NEXT: <key>start</key> 1612*67e74705SXin Li // CHECK-NEXT: <array> 1613*67e74705SXin Li // CHECK-NEXT: <dict> 1614*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1615*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1616*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1617*67e74705SXin Li // CHECK-NEXT: </dict> 1618*67e74705SXin Li // CHECK-NEXT: <dict> 1619*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1620*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1621*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1622*67e74705SXin Li // CHECK-NEXT: </dict> 1623*67e74705SXin Li // CHECK-NEXT: </array> 1624*67e74705SXin Li // CHECK-NEXT: <key>end</key> 1625*67e74705SXin Li // CHECK-NEXT: <array> 1626*67e74705SXin Li // CHECK-NEXT: <dict> 1627*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1628*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>22</integer> 1629*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1630*67e74705SXin Li // CHECK-NEXT: </dict> 1631*67e74705SXin Li // CHECK-NEXT: <dict> 1632*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1633*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>22</integer> 1634*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1635*67e74705SXin Li // CHECK-NEXT: </dict> 1636*67e74705SXin Li // CHECK-NEXT: </array> 1637*67e74705SXin Li // CHECK-NEXT: </dict> 1638*67e74705SXin Li // CHECK-NEXT: </array> 1639*67e74705SXin Li // CHECK-NEXT: </dict> 1640*67e74705SXin Li // CHECK-NEXT: <dict> 1641*67e74705SXin Li // CHECK-NEXT: <key>kind</key><string>event</string> 1642*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1643*67e74705SXin Li // CHECK-NEXT: <dict> 1644*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1645*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>22</integer> 1646*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1647*67e74705SXin Li // CHECK-NEXT: </dict> 1648*67e74705SXin Li // CHECK-NEXT: <key>ranges</key> 1649*67e74705SXin Li // CHECK-NEXT: <array> 1650*67e74705SXin Li // CHECK-NEXT: <array> 1651*67e74705SXin Li // CHECK-NEXT: <dict> 1652*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1653*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>3</integer> 1654*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1655*67e74705SXin Li // CHECK-NEXT: </dict> 1656*67e74705SXin Li // CHECK-NEXT: <dict> 1657*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1658*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>24</integer> 1659*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1660*67e74705SXin Li // CHECK-NEXT: </dict> 1661*67e74705SXin Li // CHECK-NEXT: </array> 1662*67e74705SXin Li // CHECK-NEXT: </array> 1663*67e74705SXin Li // CHECK-NEXT: <key>depth</key><integer>0</integer> 1664*67e74705SXin Li // CHECK-NEXT: <key>extended_message</key> 1665*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 1666*67e74705SXin Li // CHECK-NEXT: <key>message</key> 1667*67e74705SXin Li // CHECK-NEXT: <string>Dereference of null pointer</string> 1668*67e74705SXin Li // CHECK-NEXT: </dict> 1669*67e74705SXin Li // CHECK-NEXT: </array> 1670*67e74705SXin Li // CHECK-NEXT: <key>description</key><string>Dereference of null pointer</string> 1671*67e74705SXin Li // CHECK-NEXT: <key>category</key><string>Logic error</string> 1672*67e74705SXin Li // CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 1673*67e74705SXin Li // CHECK-NEXT: <key>check_name</key><string>core.NullDereference</string> 1674*67e74705SXin Li // CHECK-NEXT: <!-- This hash is experimental and going to change! --> 1675*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_content_of_line_in_context</key><string>6855b29ad2407a5af43c57f062bc4602</string> 1676*67e74705SXin Li // CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 1677*67e74705SXin Li // CHECK-NEXT: <key>issue_context</key><string>testLoopOpaqueIterator</string> 1678*67e74705SXin Li // CHECK-NEXT: <key>issue_hash_function_offset</key><string>11</string> 1679*67e74705SXin Li // CHECK-NEXT: <key>location</key> 1680*67e74705SXin Li // CHECK-NEXT: <dict> 1681*67e74705SXin Li // CHECK-NEXT: <key>line</key><integer>83</integer> 1682*67e74705SXin Li // CHECK-NEXT: <key>col</key><integer>22</integer> 1683*67e74705SXin Li // CHECK-NEXT: <key>file</key><integer>0</integer> 1684*67e74705SXin Li // CHECK-NEXT: </dict> 1685*67e74705SXin Li // CHECK-NEXT: </dict> 1686*67e74705SXin Li // CHECK-NEXT: </array> 1687