From ec96e5de64a9e6da3c837eef5ac23346c2cdbc1e Mon Sep 17 00:00:00 2001 From: zakonnic Date: Fri, 20 Sep 2019 12:58:09 +0300 Subject: [PATCH 1/3] Fix incorrect strip of non-php blocks in the file --- src/Composer/Autoload/ClassMapGenerator.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Composer/Autoload/ClassMapGenerator.php b/src/Composer/Autoload/ClassMapGenerator.php index 1ecf96bfe..c3a3a07d8 100644 --- a/src/Composer/Autoload/ClassMapGenerator.php +++ b/src/Composer/Autoload/ClassMapGenerator.php @@ -173,7 +173,7 @@ class ClassMapGenerator } } // strip non-php blocks in the file - $contents = preg_replace('{\?>.+<\?}s', '?>.+?<\?}s', '?>'); if (false !== $pos && false === strpos(substr($contents, $pos), ' Date: Fri, 20 Sep 2019 16:59:53 +0300 Subject: [PATCH 2/3] Optimize template for striping non-php blocks --- src/Composer/Autoload/ClassMapGenerator.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Composer/Autoload/ClassMapGenerator.php b/src/Composer/Autoload/ClassMapGenerator.php index c3a3a07d8..8467c742e 100644 --- a/src/Composer/Autoload/ClassMapGenerator.php +++ b/src/Composer/Autoload/ClassMapGenerator.php @@ -173,7 +173,7 @@ class ClassMapGenerator } } // strip non-php blocks in the file - $contents = preg_replace('{\?>.+?<\?}s', '?>(?:[^<]++|<(?!\?))*+<\?}s', '?>'); if (false !== $pos && false === strpos(substr($contents, $pos), ' Date: Fri, 20 Sep 2019 17:08:00 +0300 Subject: [PATCH 3/3] Add test for double gap in php-file --- tests/Composer/Test/Autoload/Fixtures/classmap/LargeGap.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/Composer/Test/Autoload/Fixtures/classmap/LargeGap.php b/tests/Composer/Test/Autoload/Fixtures/classmap/LargeGap.php index 1ad22ecf8..7fe3bee86 100644 --- a/tests/Composer/Test/Autoload/Fixtures/classmap/LargeGap.php +++ b/tests/Composer/Test/Autoload/Fixtures/classmap/LargeGap.php @@ -1385,6 +1385,10 @@ namespace Foo; + public function a1381() { var_dump(var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null), var_dump(null)); } +