Пример #1
0
 /**
  * @param  File
  * @return bool if file was changed
  */
 public function transpile(File $file)
 {
     $oldSource = $source = file_get_contents($file->getFilename());
     foreach ($file->getTokens() as $key => $token) {
         if (isset($this->listeners[$token['code']])) {
             /** @var Rule $rule */
             foreach ($this->listeners[$token['code']] as $rule) {
                 $source = $rule->execute($file, $key);
             }
         }
     }
     if ($oldSource !== $source) {
         $this->writer->writeFile($file->getFilename(), $source);
         return TRUE;
     } else {
         $this->writer->writeFile($file->getFilename(), $oldSource);
         return FALSE;
     }
 }