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
AndrolGenhald
1f1f1c53fe
Fix CS issue due to rebase.
2022-01-22 17:09:50 -06:00
AndrolGenhald
0fe2f6f951
Refactor existing method to reduce redundant code.
2022-01-22 17:06:54 -06:00
AndrolGenhald
7d256975e4
Fix cs/psalm errors after rebase.
2022-01-22 17:06:54 -06:00
AndrolGenhald
1686f28a37
Default to using inferred type unless in late static binding context.
2022-01-22 17:06:54 -06:00
AndrolGenhald
c61bde87a0
Suppress PossiblyUnusedProperty, will be used in the future.
2022-01-22 17:06:54 -06:00
AndrolGenhald
0fb0632e0d
Infer type from known ternary condition.
2022-01-22 17:06:54 -06:00
AndrolGenhald
558208e44e
Add type checking for class const assignments, fix several other const issues.
2022-01-22 17:06:54 -06:00
AndrolGenhald
c877ce031e
Use inferred type instead of annotated type where possible.
2022-01-22 17:06:54 -06:00
AndrolGenhald
df314658a5
Fix trailing comma.
2022-01-22 17:06:54 -06:00
AndrolGenhald
c18a155f77
Support type annotations for class consts ( fixes #942 ).
2022-01-22 17:06:53 -06: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