original_string: public function getExtension()
      {
          if (is_null($this->extension) === true) {
              $filename = parent::getFilename();
              $str = new StringWrapper($filename);
              $this->extension = $str->getFirstEndMatch($this->predefinedExtensions);
              $this->hasPredefinedExt = true;
  
              if ($this->extension === '') {
                  $this->hasPredefinedExt = false;
                  $this->extension = parent::getExtension();
              }
          }
  
          return $this->extension;
      }
code: public function getExtension()
      {
          if (is_null($this->extension) === true) {
              $filename = parent::getFilename();
              $str = new StringWrapper($filename);
              $this->extension = $str->getFirstEndMatch($this->predefinedExtensions);
              $this->hasPredefinedExt = true;
  
              if ($this->extension === '') {
                  $this->hasPredefinedExt = false;
                  $this->extension = parent::getExtension();
              }
          }
  
          return $this->extension;
      }
code_tokens: public function getExtension ( ) { if ( is_null ( $ this -> extension ) === true ) { $ filename = parent :: getFilename ( ) ; $ str = new StringWrapper ( $ filename ) ; $ this -> extension = $ str -> getFirstEndMatch ( $ this -> predefinedExtensions ) ; $ this -> hasPredefinedExt = true ; if ( $ this -> extension === '' ) { $ this -> hasPredefinedExt = false ; $ this -> extension = parent :: getExtension ( ) ; } } return $ this -> extension ; }
docstring: Gets the extension of the file.
  
  @return string
docstring_tokens: Gets the extension of the file .