diff --git a/src/Composer/Plugin/PluginManager.php b/src/Composer/Plugin/PluginManager.php index bbfcc2f2c..230087175 100644 --- a/src/Composer/Plugin/PluginManager.php +++ b/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++;