original_string: protected function getAnnotationColumns()
      {
          if (!isset($this->reader)) {
              return null;
          }
  
          if (!isset($this->cacheDir)) {
              return null;
          }
  
          if (!isset($this->annotationCacheFilename)) {
              $this->populateAnnotationCacheFilename();
          }
  
          if (!$this->debug && null !== $this->annotationColumns) {
              return $this->annotationColumns ?: null;
          }
  
          // Check mtime of class
          if (is_file($this->annotationCacheFilename)) {
              $result = $this->tryIncludeAnnotationCache();
              if ($result) {
                  return $this->annotationColumns;
              }
          }
  
          // cache annotation
          $this->populateAndCacheAnnotationColumns();
  
          return $this->annotationColumns ?: null;
      }
code: protected function getAnnotationColumns()
      {
          if (!isset($this->reader)) {
              return null;
          }
  
          if (!isset($this->cacheDir)) {
              return null;
          }
  
          if (!isset($this->annotationCacheFilename)) {
              $this->populateAnnotationCacheFilename();
          }
  
          if (!$this->debug && null !== $this->annotationColumns) {
              return $this->annotationColumns ?: null;
          }
  
          // Check mtime of class
          if (is_file($this->annotationCacheFilename)) {
              $result = $this->tryIncludeAnnotationCache();
              if ($result) {
                  return $this->annotationColumns;
              }
          }
  
          // cache annotation
          $this->populateAndCacheAnnotationColumns();
  
          return $this->annotationColumns ?: null;
      }
code_tokens: protected function getAnnotationColumns ( ) { if ( ! isset ( $ this -> reader ) ) { return null ; } if ( ! isset ( $ this -> cacheDir ) ) { return null ; } if ( ! isset ( $ this -> annotationCacheFilename ) ) { $ this -> populateAnnotationCacheFilename ( ) ; } if ( ! $ this -> debug && null !== $ this -> annotationColumns ) { return $ this -> annotationColumns ? : null ; } // Check mtime of class if ( is_file ( $ this -> annotationCacheFilename ) ) { $ result = $ this -> tryIncludeAnnotationCache ( ) ; if ( $ result ) { return $ this -> annotationColumns ; } } // cache annotation $ this -> populateAndCacheAnnotationColumns ( ) ; return $ this -> annotationColumns ? : null ; }
docstring: Attempt to discover columns using the GridColumn annotation.
  
  @throws \Exception
docstring_tokens: Attempt to discover columns using the GridColumn annotation .