| // RUN: %clang_cc1 -analyze -analyzer-checker=core,unix -analyzer-eagerly-assume -verify %s | 
 | // RUN: %clang_cc1 -analyze -analyzer-checker=core,unix -analyzer-eagerly-assume -analyzer-output=plist-multi-file -analyzer-config path-diagnostics-alternate=ture %s -o %t.plist | 
 | // RUN: FileCheck --input-file=%t.plist %s | 
 |  | 
 |  | 
 | typedef __typeof(sizeof(int)) size_t; | 
 | void *malloc(size_t); | 
 |  | 
 | #define mallocmemory int *x = (int*)malloc(12); | 
 | void noteOnMacro(int y) { | 
 |   y++; | 
 |   y--; | 
 |   mallocmemory | 
 |   y++;  | 
 |   y++; | 
 |   delete x; // expected-warning {{Memory allocated by malloc() should be deallocated by free(), not 'delete'}} | 
 | } | 
 |  | 
 | void macroIsFirstInFunction(int y) { | 
 |   mallocmemory  | 
 |   y++; // expected-warning {{Potential leak of memory pointed to by 'x'}} | 
 | } | 
 |  | 
 | #define checkmacro p==0 | 
 | void macroInExpressionAux(bool b); | 
 | int macroInExpression(int *p, int y) {; | 
 |   y++; | 
 |   macroInExpressionAux(checkmacro); | 
 |  | 
 |   return *p; // expected-warning {{Dereference of null pointer}} | 
 | } | 
 |  | 
 | #define noPathNoteMacro y+y | 
 | int macroInExpressionNoNote(int *p, int y) {; | 
 |   y++; | 
 |   if (5 + noPathNoteMacro) | 
 |     if (p) | 
 |       ; | 
 |   return *p; // expected-warning {{Dereference of null pointer}} | 
 | } | 
 |  | 
 | #define macroWithArg(mp) mp==0  | 
 | int macroWithArgInExpression(int *p, int y) {; | 
 |   y++; | 
 |   if (macroWithArg(p)) | 
 |     ; | 
 |   return *p; // expected-warning {{Dereference of null pointer}} | 
 | } | 
 |  | 
 | #define multiNoteMacroWithError \ | 
 |   if (p) \ | 
 |     ;\ | 
 |   *p = 5; | 
 | int useMultiNoteMacroWithError(int *p, int y) {; | 
 |   y++; | 
 |   multiNoteMacroWithError  // expected-warning {{Dereference of null pointer}} | 
 |  | 
 |   return *p; | 
 | } | 
 |  | 
 | #define multiNoteMacro \ | 
 | if (p) \ | 
 |   ;\ | 
 | if (y) \ | 
 |   ; | 
 | int useMultiNote(int *p, int y) {; | 
 |   y++; | 
 |   multiNoteMacro | 
 |  | 
 |   return *p; // expected-warning {{Dereference of null pointer}} | 
 | } | 
 |  | 
 | #define CALL_FN(a) null_deref(a) | 
 |  | 
 | void null_deref(int *a) { | 
 |   if (a) | 
 |     return; | 
 |   *a = 1; // expected-warning {{Dereference of null pointer}} | 
 | } | 
 |  | 
 | void test1() { | 
 |   CALL_FN(0); | 
 | } | 
 |  | 
 | void test2(int *p) { | 
 |   CALL_FN(p); | 
 | } | 
 | // CHECK:  <key>diagnostics</key> | 
 | // CHECK-NEXT:  <array> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>path</key> | 
 | // CHECK-NEXT:    <array> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>11</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>11</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>13</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>13</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>14</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>13</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>13</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>13</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>14</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Memory is allocated</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Memory is allocated</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>13</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>13</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>14</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>16</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>16</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>16</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>16</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>16</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Memory allocated by malloc() should be deallocated by free(), not 'delete'</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Memory allocated by malloc() should be deallocated by free(), not 'delete'</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:    </array> | 
 | // CHECK-NEXT:    <key>description</key><string>Memory allocated by malloc() should be deallocated by free(), not 'delete'</string> | 
 | // CHECK-NEXT:    <key>category</key><string>Memory Error</string> | 
 | // CHECK-NEXT:    <key>type</key><string>Bad deallocator</string> | 
 | // CHECK-NEXT:    <key>check_name</key><string>unix.MismatchedDeallocator</string> | 
 | // CHECK-NEXT:   <key>issue_context_kind</key><string>function</string> | 
 | // CHECK-NEXT:   <key>issue_context</key><string>noteOnMacro</string> | 
 | // CHECK-NEXT:   <key>issue_hash</key><string>6</string> | 
 | // CHECK-NEXT:   <key>location</key> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>line</key><integer>16</integer> | 
 | // CHECK-NEXT:    <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:    <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>path</key> | 
 | // CHECK-NEXT:    <array> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>20</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>20</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>20</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>14</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Memory is allocated</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Memory is allocated</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>20</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>20</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>14</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>21</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>21</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>21</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Potential leak of memory pointed to by 'x'</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Potential leak of memory pointed to by 'x'</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:    </array> | 
 | // CHECK-NEXT:    <key>description</key><string>Potential leak of memory pointed to by 'x'</string> | 
 | // CHECK-NEXT:    <key>category</key><string>Memory Error</string> | 
 | // CHECK-NEXT:    <key>type</key><string>Memory leak</string> | 
 | // CHECK-NEXT:    <key>check_name</key><string>unix.Malloc</string> | 
 | // CHECK-NEXT:   <key>issue_context_kind</key><string>function</string> | 
 | // CHECK-NEXT:   <key>issue_context</key><string>macroIsFirstInFunction</string> | 
 | // CHECK-NEXT:   <key>issue_hash</key><string>1</string> | 
 | // CHECK-NEXT:   <key>location</key> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>line</key><integer>21</integer> | 
 | // CHECK-NEXT:    <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:    <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>path</key> | 
 | // CHECK-NEXT:    <array> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>27</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>27</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>22</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>22</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>24</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>33</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>24</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>24</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>33</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is equal to null</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is equal to null</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>24</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>33</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>22</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>28</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>22</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>11</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>11</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:    </array> | 
 | // CHECK-NEXT:    <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:    <key>category</key><string>Logic error</string> | 
 | // CHECK-NEXT:    <key>type</key><string>Dereference of null pointer</string> | 
 | // CHECK-NEXT:    <key>check_name</key><string>core.NullDereference</string> | 
 | // CHECK-NEXT:   <key>issue_context_kind</key><string>function</string> | 
 | // CHECK-NEXT:   <key>issue_context</key><string>macroInExpression</string> | 
 | // CHECK-NEXT:   <key>issue_hash</key><string>4</string> | 
 | // CHECK-NEXT:   <key>location</key> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>line</key><integer>30</integer> | 
 | // CHECK-NEXT:    <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:    <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>path</key> | 
 | // CHECK-NEXT:    <array> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>35</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>35</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>36</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>36</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>36</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>36</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>5</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>6</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>5</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>6</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>9</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>9</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>9</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>9</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>9</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is null</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is null</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>9</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>37</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>9</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>11</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>11</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:    </array> | 
 | // CHECK-NEXT:    <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:    <key>category</key><string>Logic error</string> | 
 | // CHECK-NEXT:    <key>type</key><string>Dereference of null pointer</string> | 
 | // CHECK-NEXT:    <key>check_name</key><string>core.NullDereference</string> | 
 | // CHECK-NEXT:   <key>issue_context_kind</key><string>function</string> | 
 | // CHECK-NEXT:   <key>issue_context</key><string>macroInExpressionNoNote</string> | 
 | // CHECK-NEXT:   <key>issue_hash</key><string>5</string> | 
 | // CHECK-NEXT:   <key>location</key> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>line</key><integer>39</integer> | 
 | // CHECK-NEXT:    <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:    <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>path</key> | 
 | // CHECK-NEXT:    <array> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>44</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>44</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>7</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>18</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>7</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>7</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>21</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is equal to null</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is equal to null</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>7</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>45</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>18</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>11</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>11</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:    </array> | 
 | // CHECK-NEXT:    <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:    <key>category</key><string>Logic error</string> | 
 | // CHECK-NEXT:    <key>type</key><string>Dereference of null pointer</string> | 
 | // CHECK-NEXT:    <key>check_name</key><string>core.NullDereference</string> | 
 | // CHECK-NEXT:   <key>issue_context_kind</key><string>function</string> | 
 | // CHECK-NEXT:   <key>issue_context</key><string>macroWithArgInExpression</string> | 
 | // CHECK-NEXT:   <key>issue_hash</key><string>4</string> | 
 | // CHECK-NEXT:   <key>location</key> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>line</key><integer>47</integer> | 
 | // CHECK-NEXT:    <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:    <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>path</key> | 
 | // CHECK-NEXT:    <array> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>55</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>55</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>25</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>25</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is null</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is null</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>25</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>25</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>25</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:    </array> | 
 | // CHECK-NEXT:    <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:    <key>category</key><string>Logic error</string> | 
 | // CHECK-NEXT:    <key>type</key><string>Dereference of null pointer</string> | 
 | // CHECK-NEXT:    <key>check_name</key><string>core.NullDereference</string> | 
 | // CHECK-NEXT:   <key>issue_context_kind</key><string>function</string> | 
 | // CHECK-NEXT:   <key>issue_context</key><string>useMultiNoteMacroWithError</string> | 
 | // CHECK-NEXT:   <key>issue_hash</key><string>2</string> | 
 | // CHECK-NEXT:   <key>location</key> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>line</key><integer>56</integer> | 
 | // CHECK-NEXT:    <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:    <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>path</key> | 
 | // CHECK-NEXT:    <array> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>67</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>67</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>16</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>16</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is null</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'p' is null</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>16</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'y' is 0</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Assuming 'y' is 0</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>68</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>16</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>8</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>11</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>11</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:    </array> | 
 | // CHECK-NEXT:    <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> | 
 | // CHECK-NEXT:    <key>category</key><string>Logic error</string> | 
 | // CHECK-NEXT:    <key>type</key><string>Dereference of null pointer</string> | 
 | // CHECK-NEXT:    <key>check_name</key><string>core.NullDereference</string> | 
 | // CHECK-NEXT:   <key>issue_context_kind</key><string>function</string> | 
 | // CHECK-NEXT:   <key>issue_context</key><string>useMultiNote</string> | 
 | // CHECK-NEXT:   <key>issue_hash</key><string>4</string> | 
 | // CHECK-NEXT:   <key>location</key> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>line</key><integer>70</integer> | 
 | // CHECK-NEXT:    <key>col</key><integer>10</integer> | 
 | // CHECK-NEXT:    <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>path</key> | 
 | // CHECK-NEXT:    <array> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>82</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>82</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>82</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>12</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Passing null pointer value via 1st parameter 'a'</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Passing null pointer value via 1st parameter 'a'</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>82</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>82</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>82</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>12</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>0</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Calling 'null_deref'</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Calling 'null_deref'</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>75</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>1</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>depth</key><integer>1</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Entered call from 'test1'</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Entered call from 'test1'</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>75</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>1</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>75</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>76</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>76</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>76</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>76</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>control</string> | 
 | // CHECK-NEXT:      <key>edges</key> | 
 | // CHECK-NEXT:       <array> | 
 | // CHECK-NEXT:        <dict> | 
 | // CHECK-NEXT:         <key>start</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>3</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:         <key>end</key> | 
 | // CHECK-NEXT:          <array> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>6</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:           <dict> | 
 | // CHECK-NEXT:            <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:            <key>col</key><integer>6</integer> | 
 | // CHECK-NEXT:            <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:           </dict> | 
 | // CHECK-NEXT:          </array> | 
 | // CHECK-NEXT:        </dict> | 
 | // CHECK-NEXT:       </array> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:     <dict> | 
 | // CHECK-NEXT:      <key>kind</key><string>event</string> | 
 | // CHECK-NEXT:      <key>location</key> | 
 | // CHECK-NEXT:      <dict> | 
 | // CHECK-NEXT:       <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:       <key>col</key><integer>6</integer> | 
 | // CHECK-NEXT:       <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:      </dict> | 
 | // CHECK-NEXT:      <key>ranges</key> | 
 | // CHECK-NEXT:      <array> | 
 | // CHECK-NEXT:        <array> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:         <dict> | 
 | // CHECK-NEXT:          <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:          <key>col</key><integer>4</integer> | 
 | // CHECK-NEXT:          <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:         </dict> | 
 | // CHECK-NEXT:        </array> | 
 | // CHECK-NEXT:      </array> | 
 | // CHECK-NEXT:      <key>depth</key><integer>1</integer> | 
 | // CHECK-NEXT:      <key>extended_message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'a')</string> | 
 | // CHECK-NEXT:      <key>message</key> | 
 | // CHECK-NEXT:      <string>Dereference of null pointer (loaded from variable 'a')</string> | 
 | // CHECK-NEXT:     </dict> | 
 | // CHECK-NEXT:    </array> | 
 | // CHECK-NEXT:    <key>description</key><string>Dereference of null pointer (loaded from variable 'a')</string> | 
 | // CHECK-NEXT:    <key>category</key><string>Logic error</string> | 
 | // CHECK-NEXT:    <key>type</key><string>Dereference of null pointer</string> | 
 | // CHECK-NEXT:    <key>check_name</key><string>core.NullDereference</string> | 
 | // CHECK-NEXT:   <key>issue_context_kind</key><string>function</string> | 
 | // CHECK-NEXT:   <key>issue_context</key><string>null_deref</string> | 
 | // CHECK-NEXT:   <key>issue_hash</key><string>3</string> | 
 | // CHECK-NEXT:   <key>location</key> | 
 | // CHECK-NEXT:   <dict> | 
 | // CHECK-NEXT:    <key>line</key><integer>78</integer> | 
 | // CHECK-NEXT:    <key>col</key><integer>6</integer> | 
 | // CHECK-NEXT:    <key>file</key><integer>0</integer> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:   </dict> | 
 | // CHECK-NEXT:  </array> |