forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			1675 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			1675 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			C++
		
	
	
	
// 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
 | 
						|
// RUN: FileCheck --input-file=%t.plist %s
 | 
						|
 | 
						|
extern void work();
 | 
						|
 | 
						|
void testLoop() {
 | 
						|
  int z[] = {1,2};
 | 
						|
  for (int y : z) {
 | 
						|
    work();
 | 
						|
    work();
 | 
						|
    if (y == 2)
 | 
						|
      *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
 | 
						|
    work();
 | 
						|
    work();
 | 
						|
    (void)y;
 | 
						|
  }
 | 
						|
 | 
						|
  *(volatile int *)0 = 1; // no-warning
 | 
						|
}
 | 
						|
 | 
						|
class MagicVector {
 | 
						|
public:
 | 
						|
  MagicVector();
 | 
						|
 | 
						|
  using iterator = int *;
 | 
						|
 | 
						|
  iterator begin() const;
 | 
						|
  iterator end() const;
 | 
						|
};
 | 
						|
 | 
						|
MagicVector get(bool fail = false) {
 | 
						|
  if (fail)
 | 
						|
    *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
 | 
						|
  return MagicVector{};
 | 
						|
}
 | 
						|
 | 
						|
void testLoopOpaqueCollection() {
 | 
						|
  for (int y : get()) {
 | 
						|
    work();
 | 
						|
    work();
 | 
						|
    if (y == 2)
 | 
						|
      *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
 | 
						|
    work();
 | 
						|
    work();
 | 
						|
    (void)y;
 | 
						|
  }
 | 
						|
 | 
						|
  *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
class MagicVector2 {
 | 
						|
public:
 | 
						|
  MagicVector2();
 | 
						|
 | 
						|
  class iterator {
 | 
						|
  public:
 | 
						|
    int operator*() const;
 | 
						|
    iterator &operator++();
 | 
						|
    bool operator==(const iterator &);
 | 
						|
    bool operator!=(const iterator &);
 | 
						|
  };
 | 
						|
 | 
						|
  iterator begin() const;
 | 
						|
  iterator end() const;
 | 
						|
};
 | 
						|
 | 
						|
MagicVector2 get2() {
 | 
						|
  return MagicVector2{};
 | 
						|
}
 | 
						|
 | 
						|
void testLoopOpaqueIterator() {
 | 
						|
  for (int y : get2()) {
 | 
						|
    work();
 | 
						|
    work();
 | 
						|
    if (y == 2)
 | 
						|
      *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
 | 
						|
    work();
 | 
						|
    work();
 | 
						|
    (void)y;
 | 
						|
  }
 | 
						|
 | 
						|
  *(volatile int *)0 = 1; // expected-warning {{Dereference of null pointer}}
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
void testLoopErrorInRange() {
 | 
						|
  for (int y : get(true)) { // error inside get()
 | 
						|
    work();
 | 
						|
    work();
 | 
						|
    if (y == 2)
 | 
						|
      *(volatile int *)0 = 1; // no-warning
 | 
						|
    work();
 | 
						|
    work();
 | 
						|
    (void)y;
 | 
						|
  }
 | 
						|
 | 
						|
  *(volatile int *)0 = 1; // no-warning
 | 
						|
}
 | 
						|
// 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>7</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>7</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>8</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>8</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>8</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>14</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>8</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>8</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>Entering loop body</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Entering loop body</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>8</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>8</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>9</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>9</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>9</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>9</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>11</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>11</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>11</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>11</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>13</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>13</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>13</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>13</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>15</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>15</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>15</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>15</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>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>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>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>8</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>8</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>8</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>8</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>3</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>Looping back to the head of the loop</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Looping back to the head of the loop</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>8</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>14</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>8</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>8</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>Entering loop body</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Entering loop body</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>8</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>8</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>9</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>9</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>9</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>9</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>11</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>11</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>11</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>11</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>12</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>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</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>12</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>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</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>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>26</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>12</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>26</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>12</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>12</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>28</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</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Dereference of null pointer</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>Dereference of null pointer</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>testLoop</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash</key><string>6</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>12</integer>
 | 
						|
// CHECK-NEXT:    <key>col</key><integer>26</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>88</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>88</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>88</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>16</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>88</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>88</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>16</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>88</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>16</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>88</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>24</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 'get'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Calling 'get'</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>31</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 'testLoopErrorInRange'</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Entered call from 'testLoopErrorInRange'</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>31</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>31</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:         <key>end</key>
 | 
						|
// CHECK-NEXT:          <array>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>32</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>32</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>32</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>32</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>33</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>33</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>33</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>33</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>33</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>33</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>24</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>33</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>33</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>33</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>26</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</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Dereference of null pointer</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>Dereference of null pointer</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>get</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash</key><string>2</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>33</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:   <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>38</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>14</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>38</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>38</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>Entering loop body</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Entering loop body</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>38</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>38</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>5</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>5</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>41</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>41</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>41</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>41</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>41</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>41</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>41</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>41</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>41</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>Assuming 'y' is equal to 2</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Assuming 'y' is equal to 2</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>41</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>41</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>42</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>42</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</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>42</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>42</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</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>42</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>42</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>26</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>42</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>26</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>42</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>42</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>28</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</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Dereference of null pointer</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>Dereference of null pointer</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>testLoopOpaqueCollection</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash</key><string>5</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>42</integer>
 | 
						|
// CHECK-NEXT:    <key>col</key><integer>26</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>38</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>14</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>38</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>38</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>Loop body skipped when range is empty</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Loop body skipped when range is empty</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>38</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>38</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>48</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>48</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>48</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>48</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>48</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>48</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>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>48</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>22</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>48</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>48</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>24</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</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Dereference of null pointer</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>Dereference of null pointer</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>testLoopOpaqueCollection</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash</key><string>11</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>48</integer>
 | 
						|
// CHECK-NEXT:    <key>col</key><integer>22</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>73</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>14</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>73</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>73</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>Entering loop body</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Entering loop body</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>73</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>73</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>74</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>74</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>74</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>74</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>76</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>76</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>76</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>76</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>76</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>76</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>76</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>76</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>76</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>Assuming 'y' is equal to 2</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Assuming 'y' is equal to 2</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>76</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>76</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>77</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>77</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</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>77</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>77</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>7</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>77</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>26</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>77</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>26</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>77</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>26</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>77</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>77</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>28</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</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Dereference of null pointer</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>Dereference of null pointer</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>testLoopOpaqueIterator</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash</key><string>5</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>77</integer>
 | 
						|
// CHECK-NEXT:    <key>col</key><integer>26</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>73</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>14</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>73</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>14</integer>
 | 
						|
// CHECK-NEXT:          <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:         </dict>
 | 
						|
// CHECK-NEXT:         <dict>
 | 
						|
// CHECK-NEXT:          <key>line</key><integer>73</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>Loop body skipped when range is empty</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Loop body skipped when range is empty</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>73</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>73</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>5</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>83</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>83</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>83</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>83</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>83</integer>
 | 
						|
// CHECK-NEXT:            <key>col</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:            <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:           </dict>
 | 
						|
// CHECK-NEXT:           <dict>
 | 
						|
// CHECK-NEXT:            <key>line</key><integer>83</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>event</string>
 | 
						|
// CHECK-NEXT:      <key>location</key>
 | 
						|
// CHECK-NEXT:      <dict>
 | 
						|
// CHECK-NEXT:       <key>line</key><integer>83</integer>
 | 
						|
// CHECK-NEXT:       <key>col</key><integer>22</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>83</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>83</integer>
 | 
						|
// CHECK-NEXT:          <key>col</key><integer>24</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</string>
 | 
						|
// CHECK-NEXT:      <key>message</key>
 | 
						|
// CHECK-NEXT:      <string>Dereference of null pointer</string>
 | 
						|
// CHECK-NEXT:     </dict>
 | 
						|
// CHECK-NEXT:    </array>
 | 
						|
// CHECK-NEXT:    <key>description</key><string>Dereference of null pointer</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>testLoopOpaqueIterator</string>
 | 
						|
// CHECK-NEXT:   <key>issue_hash</key><string>11</string>
 | 
						|
// CHECK-NEXT:   <key>location</key>
 | 
						|
// CHECK-NEXT:   <dict>
 | 
						|
// CHECK-NEXT:    <key>line</key><integer>83</integer>
 | 
						|
// CHECK-NEXT:    <key>col</key><integer>22</integer>
 | 
						|
// CHECK-NEXT:    <key>file</key><integer>0</integer>
 | 
						|
// CHECK-NEXT:   </dict>
 | 
						|
// CHECK-NEXT:   </dict>
 | 
						|
// CHECK-NEXT:  </array>
 |