276 Commits (e0366bc7606f98d390c520e3c33b161c4bc72121)

Author SHA1 Message Date
Ayesh Karunaratne 228428747a
Add support for autoloading Enums
PHP 8.1 supports Enums, and [Enums follow class-semantics](https://php.watch/versions/8.1/enums#class-semantics-autoload).

Composer's class-map generator currently looks for `class`, `interface`, and `trait` keywords. If Composer is run in PHP 8.1 or later, Composer now additionally looks for `enum` keyword as well. This is similar to how Hack's `enum` support is added.

This PR also adds tests for basic enums, backed enums, namespaced enums, and an enum that implements an interface and extends a class.
3 years ago
Jordi Boggiano 07b8c23f02
Merge branch '1.10' 3 years ago
Jordi Boggiano 92313447d6
Filter out exclude-from-classmap rules to avoid generating very long regexes, fixes #9487 3 years ago
Nicolas Grekas ba94445bb9 Ensure InstalledVersions reports info about all currently registered class loaders 3 years ago
Jordi Boggiano b7d770659b
CS fixes 4 years ago
Jordi Boggiano b574f10d9d
Rename mainPackage to rootPackage in AutoloadGenerator and ensure we use RootPackageInterface 4 years ago
Jakub Bouček 8dc5effee7
AutoloadGenerator: Send error HTTP status on error 4 years ago
Jordi Boggiano 56c65a58e2
Make platform-check only check non-dev requires, refs #9412 4 years ago
Jordi Boggiano 8c1355f448
Improve output of platform check further in case errors are hidden 4 years ago
Jakub Bouček 2595de07ce
AutoloadGenerator: Trigger native PHP error on platform checks fails - tests 4 years ago
Jakub Bouček 6f1761fe18
AutoloadGenerator: Send error HTTP status on error - update tests 4 years ago
zorn 5aa90baab1 Add new lines to platform reqs issues 4 years ago
Jordi Boggiano 24abd233ec
Merge branch 'master' into code-improvements 4 years ago
Jordi Boggiano 0775e261c5
Merge remote-tracking branch 'lstrojny/apcu-prefix' 4 years ago
Michael Telgmann a4509d28e7
Introduce constants for Composer\Package\Link types 4 years ago
Simon Berger 80a75e9959 Minor code improvements 4 years ago
Lars Strojny 0b6abf3b96
APCu prefix as a separate option 4 years ago
Lars Strojny de0085767c
Sanitize prefix 4 years ago
Lars Strojny dafd225a35
Allow to pass a string for apcu-autoloader to set the APCu prefix 4 years ago
Jordi Boggiano d942c65e0c
Fix more warnings 4 years ago
Jordi Boggiano 1593b67230
Fix warnings on higher phpunit versions 4 years ago
Jordi Boggiano 67a88880ec
Get rid of EmptyConstraint 4 years ago
Yanick Witschi bde9502473
Made the constraint argument in Link mandatory 4 years ago
Jordi Boggiano 537402f814
Add tests for #8861 4 years ago
Jordi Boggiano 21e708f2c4
Remove upper bound PHP version checks from platform-check as there is not enough value added and it risks causing issues 4 years ago
Jordi Boggiano 45d3e133a4
Avoid checking for unbounded constraints in platform checks 4 years ago
Jordi Boggiano 6a6ea6057f
Handle provider/replacer packages and avoid checking extensions which are provided by packages, refs #8546 4 years ago
Jordi Boggiano d494df61ff
Make sure platform-check returns a non-0 exit code if it fails 4 years ago
Jordi Boggiano 7049bbb714
Switch require_once to require for autoload_static as the once variant seems unnecessary 4 years ago
Jordi Boggiano 0d1922dc27
Add a Composer\Versions class which is available in all projects at runtime to query installed packages/versions 4 years ago
Jordi Boggiano 2c8a4a1b93
Add platform-check config option to disable platform_check.php generation, and disable it for Composer 4 years ago
Nicolas Grekas 6463ab9e49 Optimize extension checks 4 years ago
Yanick Witschi e23710f92d
Implemented php version check in autoload.php (#8546) 4 years ago
Jordi Boggiano 24a5a0dacb
Skip invalid PSR-0/4 classes from optimized autoloader, fixes #8403 4 years ago
remorhaz 8df263a756 Test added for issue #8622 fix 4 years ago
Jordi Boggiano 4d74f5ba95
Fix exclude-from-classmap handling to avoid foo matching foo* directories, fixes #8563, refs #8575 4 years ago
Jordi Boggiano c7ba751319
Merge commit 'refs/pull/8575/head' of github.com:composer/composer 4 years ago
Ion Bazan a2137d5263 use Symfony PHPUnit Bridge 4 years ago
Jeroen Versteeg cabf373bf4 Added test for exclude-from-classmap (see issue #8563) 4 years ago
Jordi Boggiano 502b68967a
Fix tests for PSR-fix in optimized autoloader, refs #8397 5 years ago
Jordi Boggiano c3f034e33b
Fix tests for PSR-fix in optimized autoloader, refs #8397 5 years ago
Jordi Boggiano 3a0d05c148
Merge remote-tracking branch 'and800/fix-autoload-opts' 5 years ago
Andriy Maletsky ec293adabc make optimized autoloader respect PSR standards 5 years ago
Markus Staab e47aa38ad4 Added phpdoc for ComposerAutoloaderInit$SHA1::getLoader() (#8393) 5 years ago
zakonnic f159eb724a Add test for double gap in php-file 5 years ago
ShiraNai7 a2b647a99e Handle absolute phar:// paths in autoload_static.php 5 years ago
Rob Bast 25e3f6d4b9 expand regex and testcases 5 years ago
Rob Bast 971528916b fix regex for heredoc/nowdoc
* take into account relaxed changes introduced in php 7.3
  * see: 4887357269
* allow " as well as ', which was introduced in php 5.3

closes #8080
5 years ago
Nils Adermann 386382503d Add a test for autoloading if a package is only required via replacing name 6 years ago
Den Girnyk 3b6b63784f Fix: Keep replaced packages for autoload dumping with --no-dev 6 years ago