1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-03 18:17:55 +01:00
Commit Graph

10694 Commits

Author SHA1 Message Date
orklah
7c4f08067b Merge remote-tracking branch 'upstream/4.x' into upstream-master5 2022-01-23 23:44:04 +01:00
orklah
8230efba63
Merge pull request #7474 from orklah/removePositiveInt
deprecate TPositiveInt
2022-01-23 23:35:34 +01:00
orklah
3649712c66 deprecate TPositiveInt 2022-01-23 23:26:24 +01:00
orklah
c90cffd382
Merge pull request #7472 from orklah/intrange
remove TPositiveInt usage for TIntRange
2022-01-23 22:04:33 +01:00
orklah
a7b72b865f remove TPositiveInt usage for TIntRange 2022-01-23 22:04:18 +01:00
orklah
5e41e1445e
Merge pull request #7470 from orklah/array_is_list2
reconcile two arrays by intersecting them
2022-01-23 20:36:04 +01:00
orklah
70142427bc reconcile two arrays by combining them 2022-01-23 20:22:12 +01:00
Matthew Brown
865a9f81bc Remove nullability from properties that don’t need them 2022-01-23 14:18:53 -05:00
orklah
64206d9c3a
Merge pull request #7467 from orklah/fix-enum-properties
fix internal properties on interfaces
2022-01-23 13:28:30 +01:00
orklah
82d84b0b3a fix internal properties on interfaces 2022-01-23 13:08:35 +01:00
orklah
67c4a7ef6f
Merge pull request #7466 from AndrolGenhald/loadXdebugStub-deprecation
Mark loadXdebugStub as deprecated (removed in #7107).
2022-01-22 23:29:33 +01:00
AndrolGenhald
01868a9766 Mark loadXdebugStub as deprecated (removed in #7107). 2022-01-22 16:03:35 -06:00
orklah
e0d3c3f217
Merge pull request #7463 from orklah/Properties
fix code where the offset was wrong
2022-01-22 21:24:59 +01:00
orklah
c3ad520b1b
Merge pull request #7110 from AndrolGenhald/bugfix/stub-parent-class
Fix stub parent class not loaded.
2022-01-22 21:17:07 +01:00
orklah
2d8ef787f3 remove files that were wrongly reintroduced 2022-01-22 21:14:05 +01:00
AndrolGenhald
0c142ee3f8 Add BC break note. 2022-01-22 14:10:57 -06:00
orklah
b9655457da fix code where the offset was wrong 2022-01-22 21:09:37 +01:00
AndrolGenhald
3510f55e31 Check for indirect circular dependencies with stubbed parents. 2022-01-22 13:56:10 -06:00
AndrolGenhald
9a064c04cf Fix invalid trailing comma. 2022-01-22 13:56:10 -06:00
AndrolGenhald
2262cb65d3 Check for circular references with stubbed classes. 2022-01-22 13:56:08 -06:00
AndrolGenhald
c24cf9aa8c Add test for circular reference with stub class. 2022-01-22 13:54:44 -06:00
AndrolGenhald
db67d2c6e8 Add support for checking parent classes and interfaces from stubs. 2022-01-22 13:54:42 -06:00
AndrolGenhald
2f2c24cb4f Add reproducer for stub parent class not being loaded. 2022-01-22 13:30:10 -06:00
orklah
39052d9c5e
Merge pull request #7409 from orklah/cleanup-types
refactor description of types in Atomic
2022-01-22 19:35:16 +01:00
orklah
0e891f25ad refactor description of types in Atomic 2022-01-22 19:34:57 +01:00
orklah
0bf3c43908
Merge pull request #7455 from ohader/issue-6788-4x
!!! Deprecate \Psalm\Plugin\RegistrationInterface methods
2022-01-22 18:35:39 +01:00
orklah
4ed8355eed
Merge pull request #7404 from orklah/enum_exists
improve support for enum_exists
2022-01-22 18:31:18 +01:00
orklah
f5a093d015
Merge pull request #7460 from orklah/7453
handle two more cases of firstClassCallable
2022-01-22 18:30:57 +01:00
orklah
841d4f4429 improve support for enum_exists 2022-01-22 18:27:24 +01:00
orklah
070a1cc7a3 fix merge induced errors 2022-01-22 18:05:32 +01:00
orklah
af1888b631 Merge remote-tracking branch 'upstream/4.x' into upstream-master4 2022-01-22 17:48:42 +01:00
orklah
73af019110 fix a weird case 2022-01-22 17:45:40 +01:00
orklah
997d5d5f5f handle two more cases of firstClassCallable 2022-01-22 17:37:35 +01:00
orklah
491213976b
Merge pull request #7301 from swiffer/4.x
change nullable for array signature to be equal to param signature
2022-01-22 16:28:33 +01:00
Matthias Wirtz
5b23a0c51e
in array form all attributes are nullable since PHP 7.3 2022-01-22 15:34:16 +01:00
Matthias Wirtz
bb577ec271
change nullable for array signature to be equal to param signature 2022-01-22 15:26:26 +01:00
orklah
d1a946c221
Merge pull request #7454 from petewalker/feat/native-intersections
feat: Handle native intersection types
2022-01-22 11:18:54 +01:00
Pete Walker
be6ce777ff
chore: Better exception messages 2022-01-22 10:12:48 +00:00
Pete Walker
057a99c9f1
fix: Tests / minor bug 2022-01-22 00:00:45 +00:00
Oliver Hader
cad72004ab
Add deprecated method invocations to psalm-baseline.xml 2022-01-21 21:52:22 +01:00
Pete Walker
41a3807693
fix: Lint issue 2022-01-21 17:39:01 +00:00
Pete Walker
e2ebfd2ce3
Trigger CI 2022-01-21 17:35:21 +00:00
Pete Walker
299eca4daa
fix: Add PHP version checks / more tests 2022-01-21 17:31:48 +00:00
orklah
142b85a070
Merge pull request #7394 from veewee/function-params-provider-improvements
[TypeProvider] Provide argument types during FunctionParamsProviderEvent
2022-01-21 18:30:12 +01:00
Toon Verwerft
6b789bb5a7 [TypeProvider] Provide argument types during FunctionParamsProviderEvent 2022-01-21 16:32:40 +01:00
Oliver Hader
c34e32f60e
!!! Deprecate \Psalm\Plugin\RegistrationInterface methods
Following \Psalm\Plugin\RegistrationInterface methods are deprecated
+ addFileTypeScanner
+ addFileTypeAnalyzer

Following \Psalm\PluginRegistrationSocket methods are deprecated
+ addFileTypeScanner
+ getAdditionalFileTypeScanners
+ addFileTypeAnalyzer
+ getAdditionalFileTypeAnalyzers
+ getAdditionalFileExtensions
+ addFileExtension

Mentioned methods will be removed in Psalm v5.0, corresponding
functionality will be provided by following new interfaces and classes
+ \Psalm\Plugin\FileExtensionsInterface
+ \Psalm\PluginFileExtensionsSocket

Related: #6788
2022-01-21 14:51:36 +01:00
Pete Walker
a3bdf1ba8c
feat: Handle native intersection types
Adds native intersection type handling to psalm, removing the previous `UnexpectedValueException`.

Where an intersection is found in the parse tree, the types are resolved using the existing `Type::intersectUnionTypes` function, which I assume is being used when they're encountered in the existing docblock annotations.

I've added a handful of tests to cover this, but they're certainly not exhaustive. Are there any specific edge cases I should target?

This change feels way too simple... so apologies if I've missed something fundamental..!
2022-01-21 12:59:55 +00:00
orklah
f9ea2756f9
Merge pull request #7443 from brainlock/fix-proc-open-stub
fix proc_open stub for php >= 8.0
2022-01-21 13:00:39 +01:00
Alberto Piai
d39ccb50bf
unify argument names in historical and current CallMap for proc_open
Since before 8.0 the named arguments were not part of the interface, we
don't care about the intermediate steps of the proc_open definition. For
consistency, this makes the definition the same across all versions.

This also fixes the type for the `options` argument already in
CallMap_historical to be nullable.

The names of the arguments are now consistent across versions, while the
delta for 7.4 reflects the change of the `command` argument from
`string` to `string|array`.
2022-01-21 09:45:28 +01:00
orklah
f6369dc086
Merge pull request #7449 from orklah/7415-2
Array key exists assert both ways
2022-01-21 00:42:16 +01:00