title: Why does PHPUnit show some close-curly-braces as not being covered?
body: <p>I'm using PHPUnit 3.6.7, PHP_CodeCoverage 1.1.1, and Xdebug 2.1.2. When I have PHPUnit write my code coverage statistics to a clover-style XML file, it occasionally shows a close-curly-brace as not being covered by tests.</p>
  
  <p>I see a lot of discussion online of when PHPUnit is "reaching" the close curly-braces, but I don't understand the general concept of what's going on. For example, I have zero coverage on one line here:</p>
  
  <pre><code>if (is_array($foo)) {
      foreach ($foo as $bar) {
          if (property_exists($bar, 'baz')) {
              return $bar;
          }
      }
  }  // this line has 0 coverage
  return null;
  </code></pre>
  
  <p>And here:</p>
  
  <pre><code>class Foo
  {
      public $myProperty;
      public function myMethod()
      {
          $this-&gt;myProperty = '1';
      }
  }  // this line has 0 coverage
  </code></pre>
  
  <p>Other classes in my project don't have this problem; their close-curly-braces don't show up in the XML file at all, so they are not listed as having zero coverage.</p>
  
  <p>I understand that PHP_CodeCoverage 1.1.2 (not released yet) will let me put a "// @codeCoverageIgnore" comment after a close curly-brace, but until that's available I want to know what's going on, so that I can fix my tests to give me complete coverage. What's the rule-of-thumb to tell me when a curly-brace should be counted as "covered" or "not covered"?</p>