소스 검색

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

Jordi Boggiano 9 년 전
부모
커밋
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++;