Просмотр исходного кода

Fix loading error when plugin is a final class, fixes #4482

Jordi Boggiano 9 лет назад
Родитель
Сommit
977b8c8f41
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      src/Composer/Plugin/PluginManager.php

+ 1 - 1
src/Composer/Plugin/PluginManager.php

@@ -144,7 +144,7 @@ class PluginManager
         foreach ($classes as $class) {
             if (class_exists($class, false)) {
                 $code = file_get_contents($classLoader->findFile($class));
-                $code = preg_replace('{^(\s*)class\s+(\S+)}mi', '$1class $2_composer_tmp'.self::$classCounter, $code);
+                $code = preg_replace('{^((?:final\s+)?(?:\s*))class\s+(\S+)}mi', '$1class $2_composer_tmp'.self::$classCounter, $code);
                 eval('?>'.$code);
                 $class .= '_composer_tmp'.self::$classCounter;
                 self::$classCounter++;