Jordi Boggiano
bd6403a6be
Fix newly surfaced errors
2022-04-28 21:20:40 +02:00
Jordi Boggiano
e0cce2bfb0
Allow autoload to run on 5.6 still, add early exits when running composer or autoload.php with outdated PHP versions, fixes #10714 , refs #10709
2022-04-06 22:07:16 +02:00
Jordi Boggiano
b03e9e414e
Merge branch '2.2' into main
2022-04-02 13:04:37 +02:00
Jordi Boggiano
1cc23e1a8b
🤦♂️
2022-04-02 13:04:03 +02:00
Jordi Boggiano
6b330b7456
Fix tests
2022-04-02 12:58:29 +02:00
Jordi Boggiano
34fa266114
Fix windows build
2022-04-02 12:48:02 +02:00
Jordi Boggiano
0985501602
Fix windows build
2022-04-02 12:38:23 +02:00
Jordi Boggiano
dce63fdf4f
Merge branch '2.2' into main
2022-04-01 22:10:24 +02:00
Jordi Boggiano
ecec0d00fc
Fix generation of autoload rules in a dir that is missing to ensure it does not break ( #10688 )
2022-04-01 21:20:21 +02:00
Jordi Boggiano
5122bd42fb
Merge branch '2.2' into main
2022-03-15 13:11:59 +01:00
Jordi Boggiano
f31700bf19
Sort packages with the same weight alphabetically to have a completely stable sort not dependent on input order, fixes #10614
2022-03-15 11:35:33 +01:00
Jordi Boggiano
6a466a120a
Enable strict types on all files
2022-02-24 13:24:34 +01:00
Jordi Boggiano
0db443ba5f
Add visibility to all consts, fixes #10550
2022-02-23 14:28:04 +01:00
Jordi Boggiano
6da38f83a0
Add parameter types to all the things
2022-02-22 16:48:53 +01:00
Alexander Schranz
e9b60580f5
Add return types to tests ( #10 )
2022-02-21 13:42:28 +01:00
Jordi Boggiano
a16ed3d0ed
Add return types to private/internal methods
2022-02-18 11:22:01 +01:00
Jordi Boggiano
abdc6893a6
Add void types where no return statement is present
2022-02-18 10:38:54 +01:00
Jordi Boggiano
45218092b4
Merge branch '2.2' into main
2022-02-15 16:52:03 +01:00
Jordi Boggiano
f808e4907c
Fix handling for non-lowercased enum keyword, fixes #10521
2022-02-15 16:41:06 +01:00
Jordi Boggiano
3446091027
Merge branch '2.2' into main
2022-02-04 16:31:14 +01:00
Jordi Boggiano
db8ea45295
Fix enum parsing when the syntax is "enum foo:string {}" without space between name and type, fixes #10498
2022-02-02 17:48:45 +01:00
Jordi Boggiano
06e445ce02
Drop PHP <7.2 and HHVM support from autoload_real, individual autoload files are kept as is for BC
2022-01-04 11:55:36 +01:00
Michael Voříšek
4fdc8b8ee1
dirname(__FILE__) no longer needed
2022-01-04 11:22:13 +01:00
Jordi Boggiano
7e50f37b87
Remove some dead code and deprecate JsonFormatter, JsonFile::JSON_* constants, and TlsHelper
2022-01-04 11:15:33 +01:00
Niels Vanpachtenbeke
1c928466a9
Remove code blocks for php <7.2 compatibility ( #10417 )
2022-01-03 17:35:32 +01:00
Jordi Boggiano
4e6d54b731
Fix all 5.3 $this-in-closure usages
2022-01-03 16:32:39 +01:00
Jordi Boggiano
ccd87c479c
Test fixes
2022-01-01 14:54:23 +01:00
Jordi Boggiano
6ed3aeb343
Remove setExpectedException wrapper
2022-01-01 14:54:21 +01:00
Jordi Boggiano
ffd62795bc
Get rid of all the ->at() mock invocations
2022-01-01 14:54:20 +01:00
Jordi Boggiano
2a771dfb2d
Update PHPUnit to 8.5
2022-01-01 14:54:19 +01:00
Jordi Boggiano
e1bf45aa80
Fix issue parsing php files with unterminated comments found inside backticks, fixes #10385
2021-12-22 21:42:19 +01:00
Helmut Hummel
0b9e1da4fc
Allow recursively call composerRequire ( #10312 )
...
Fixes : #10311
Related: #10065
2021-11-25 20:50:26 +01:00
Jordi Boggiano
65765a148a
Explicitly deprecate misuse of the link setters to enforce the fact they expect maps ( #10281 )
2021-11-12 21:38:08 +01:00
Martin Herndl
7eca450d9b
Add wildcard support to ignore-platform-req, fixes #10045 ( #10083 )
2021-11-11 15:56:38 +01:00
Martin Herndl
3013674c92
Refactor ignore platform reqs checks ( #10079 )
...
Introduces a `PlatformRequirementFilter` with methods that help to decide if a requirement is ignored or not as discussed in #10045 but without changing behaviour.
2021-11-11 12:24:12 +01:00
Jordi Boggiano
6aa8a466b7
Fix tests
2021-11-10 22:10:36 +01:00
Jordi Boggiano
cb0293cf30
Finalize phpstan level 6 for tests dir, closes #10159
2021-11-02 14:32:09 +01:00
Jordi Boggiano
44b69ba77f
Upgrade php-cs-fixer to 3.x and fix CS
2021-10-27 16:21:45 +02:00
megubyte
135f806f6f
phpstan: update tests/Composer/Test/Autoload/* to level 6 standard ( #10223 )
2021-10-26 21:48:56 +02:00
Martin Herndl
bd8b39fe01
Add types to `Package` ( #10210 )
2021-10-25 13:45:09 +02:00
Jordi Boggiano
9599eb613b
Type annotations
2021-10-16 11:14:10 +02:00
Jordi Boggiano
d64d1adf61
Rewrite php file cleaning step to be less regex intensive and support extreme cases better, fixes #10106 ( #10107 )
2021-10-02 14:39:39 +02:00
Jordi Boggiano
8cd2d0e541
Fix scanning of classmaps in files containing invalid Unicode, fixes #10102
2021-09-15 11:31:43 +02:00
Jordi Boggiano
d8054d1d2f
Add more possessive quantifiers, unicode flag and support for more post-heredoc syntax, fix test file syntax being invalid
2021-08-29 12:23:02 +02:00
Jordi Boggiano
3f79e59f69
Add test assertions for heredoc marker inside the text
2021-08-23 13:14:16 +02:00
jrfnl
b66b23a03f
ClassMapGeneratorTest: add test with consecutive duplicate heredoc markers
...
... as well as a test with heredoc markers with only a newline character between the start and end marker.
2021-08-21 17:45:42 +02:00
Jordi Boggiano
d3c176ec69
PHPStan Level 5 ( #10070 )
...
* Bump PHPStan to level 5
* Update seld/phar-utils to latest
* Add phpstan-setup / phpstan scripts
2021-08-21 17:41:52 +02:00
jrfnl
e729c418dd
ClassMapGenerator: add test for "marker in text" bug
...
In PHP < 7.3, the heredoc/nowdoc marker was allowed to occur in the text, as long as it did not occur at the very start of the line.
This was also not handled correctly.
Ref: https://www.php.net/manual/en/migration73.incompatible.php#migration73.incompatible.core.heredoc-nowdoc
2021-08-11 22:23:24 +02:00
jrfnl
9588654ae3
ClassMapGenerator: add tests for "long heredoc" bug
...
... to proof the existence of the bug and demonstrate the effect.
Note: in the test the backtrack limit is being lowered (and restored back to the default afterwards) to prevent the tests needing ridiculously huge test fixture files.
2021-08-11 22:21:57 +02:00
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.
2021-02-06 15:51:18 +07:00