orklah
4843a350a0
Merge pull request #9720 from Jean85/fix-ambiguous-constant-inheritance
...
Fix ambiguous constant inheritance false positive
2023-04-28 23:22:31 +02:00
Alessandro Lai
e8bc9a6209
Do not emit AmbiguousConstantInheritance when inheriting from the same statement
2023-04-28 22:52:22 +02:00
klimick
0ae1b31efc
Fix UnevaluatedCode false positive at declare(strict_types=1)
2023-04-27 23:11:14 +03:00
orklah
c059388274
Merge pull request #9709 from Nicelocal/clone_leftovers
...
Remove clone leftovers from immutable refactoring
2023-04-25 20:47:59 +02:00
481a5bd61d
Fix date return type provider
2023-04-25 11:41:39 +02:00
8eacb0f003
Remove clone leftovers from immutable refactoring
2023-04-25 11:09:54 +02:00
orklah
720f3f1dc2
Merge pull request #9704 from Nicelocal/fix_new_template_object
...
Allow running new on template objects
2023-04-24 16:29:34 +02:00
8288b00ef9
Allow running new on template objects
2023-04-24 13:08:12 +02:00
orklah
2b68046115
Merge pull request #9694 from Nicelocal/unsealed_array_generic_syntax
...
Implement unsealed array generic syntax
2023-04-24 12:50:57 +02:00
orklah
eae04f25f6
Merge pull request #9693 from Nicelocal/fix_9692
...
Fix #9692
2023-04-24 12:48:20 +02:00
orklah
41796e324a
Merge pull request #9700 from klimick/method-contextual-closure-arg-inference
...
Contextual closure arg inference for class methods
2023-04-24 12:47:38 +02:00
Evan Shaw
82090f58c5
Handle included directory paths without crashing
...
If an include or require resolves to a directory, this now raises a
MissingFile error rather than throwing an unhandled UnexpectedValueException.
2023-04-24 11:09:48 +12:00
klimick
88c444a8cc
Contextual closure arg inference for class methods
2023-04-23 23:40:44 +03:00
8078b6dcbf
Fixes
2023-04-21 15:58:05 +02:00
05e92054e0
Cleanup
2023-04-21 15:53:47 +02:00
8d246d6af4
Remove leftovers
2023-04-21 15:52:21 +02:00
b77ed37d45
Rewrite
2023-04-21 15:49:37 +02:00
86436507ea
Immediately check for closing }
2023-04-21 14:19:42 +02:00
d8b85f1c04
Implement unsealed array generic syntax
2023-04-21 14:05:05 +02:00
abead05303
Fix syntax
2023-04-21 12:38:02 +02:00
b8672949ec
Fix #9692
2023-04-21 12:33:08 +02:00
orklah
a97b6b8a5e
Merge pull request #9685 from Nicelocal/avoid_wrong_assertions
...
Avoid wrong assertions when working with objects returned by methods
2023-04-21 11:34:15 +02:00
orklah
40d4e560bc
Merge pull request #9691 from robchett/date_gmdate_return_type
...
Add return type provider for date/gmdate
2023-04-21 11:33:02 +02:00
orklah
1dcc4c4fe0
Merge pull request #9686 from Nicelocal/fix_is_object
...
Fix is_object assertions on final classes
2023-04-21 11:32:25 +02:00
RobChett
1a1d9c9bf5
Add return type provider for date/gmdate
2023-04-21 08:12:49 +01:00
orklah
b781bd922e
Merge pull request #9679 from robchett/mixedAssignment_from_template_var
...
Don't throw UnnecesseryVarAnnotation when hinting a mixed template var
2023-04-20 23:52:52 +02:00
orklah
0dcaf1c706
Merge pull request #9678 from robchett/mb_strtolower_maintain_non_empty
...
Return a non-empty-(lowercase-)string from mb_strtolower
2023-04-20 23:44:21 +02:00
RobChett
74c1576b9c
Return a non-empty-(lowercase-)string from mb_strtolower
2023-04-20 15:54:13 +01:00
RobChett
9083e0a7a3
Check for the existence of the 'mixed' key to detect untyped parameters
2023-04-20 15:45:17 +01:00
9da49f18bc
Fix
2023-04-20 15:03:36 +02:00
88f6be1213
Fix
2023-04-20 14:17:40 +02:00
baff6fb36a
fix is_object assertions
2023-04-20 14:03:35 +02:00
efb5aed879
Avoid wrong assertions when working with objects returned by methods
2023-04-20 13:00:28 +02:00
RobChett
4d9d7cebd9
Add support for @psalm-no-seal-properties and @psalm-no-seal-methods
2023-04-20 07:47:50 +01:00
RobChett
0a40286830
Don't throw UnnecesseryVarAnnotation when hinting a mixed template var
2023-04-19 21:23:40 +01:00
orklah
5efddb4201
Merge pull request #9675 from robchett/master
...
Valid array access on a non-empty-string yields a non-empty-string
2023-04-19 21:12:29 +02:00
RobChett
836953eb7d
Switch TSingleLetter to extend TNonEmptyString instead of TString as it is more precise
2023-04-19 19:27:25 +01:00
orklah
76ebf54262
Merge pull request #9676 from Nicelocal/fix_callable_union_comparison
...
Fix comparison of unions of multiple callables
2023-04-19 13:02:01 +02:00
orklah
51d14a28b7
Merge pull request #9670 from danog/improve_opcache
...
Avoid verbose opcache logging
2023-04-19 12:00:03 +02:00
558239ecb0
cs-fix
2023-04-19 11:39:44 +02:00
19fab7a805
Fix comparison of unions of multiple callables
2023-04-19 11:37:04 +02:00
WhizSid
782735e8b2
Fixed crash issue when using multiple literals for array_splice
2023-04-19 00:38:35 +05:30
b35c3c41b8
Avoid verbose opcache logging
2023-04-18 13:53:32 +02:00
adrew
aa3b2f2e1d
Test anonymous object template replacement
2023-04-17 23:18:03 +03:00
adrew
6614767d76
Add KeyedArrayComparator::coerceToObjectWithProperties
2023-04-17 23:18:03 +03:00
adrew
ee0395247f
Don't expand template for property fetch on TObjectWithProperties
2023-04-17 23:18:03 +03:00
andrew
dcd4e34ee6
Support anonymous object template replacement
2023-04-17 23:18:03 +03:00
orklah
542d627994
Merge pull request #9393 from ygottschalk/fix/9373-using-enum-property-as-const-array-key
...
Fix/9373 using enum property as const array key
2023-04-17 12:56:42 +02:00
andrew
b0e5df570d
Fix iterable template replacement
2023-04-17 11:03:39 +03:00
orklah
a9bc87e729
Merge pull request #9656 from boesing/bugfix/issue-8981
...
(re-)implement object-shape assertions
2023-04-16 21:17:53 +02:00
orklah
6c7db9e0ec
Merge pull request #9655 from boesing/bugfix/issue-9145
...
Provide support for templated `value-of` enum values
2023-04-16 21:15:59 +02:00
orklah
24dc5d49b2
Merge pull request #9638 from boesing/bugfix/intersection-type-type-alias
...
Allow to intersect type alias with non-type-aliases
2023-04-16 21:14:21 +02:00
adrew
f0153721a4
Fix list template replacement
2023-04-15 18:46:22 +03:00
Maximilian Bösing
66afbb1c33
feature: (re-)implement object-shape assertions
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-15 02:36:10 +02:00
Maximilian Bösing
ad5631497d
feature: provide support for templated value-of
enum values
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-15 00:38:12 +02:00
Maximilian Bösing
26e201d28f
refactor: intersect keyed arrays the same way as in early return
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-14 22:19:01 +02:00
Maximilian Bösing
07fcf5399c
qa: mark TTypeAlias#extra_types
and TTypeAlias#setIntersectionTypes
as deprecated
...
Due to the way how this patch modifies the type alias handling, intersection types of aliases are directly expanded and thus, the referencing types are being used rather than intersecting aliases.
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-14 22:16:12 +02:00
orklah
3e50f68794
Merge pull request #9623 from klimick/contextual-inference-for-const-callable
...
Contextual inference for const callable
2023-04-14 16:22:53 +02:00
orklah
cee88f2c4b
Merge pull request #9643 from whizsid/array_splice
...
Fixed non empty arg issue in array_splice function
2023-04-13 19:24:16 +02:00
WhizSid
73a0803282
Revert using ImpureMethodCall
2023-04-13 21:31:44 +05:30
WhizSid
f85c34a803
Supress the psalm error
2023-04-13 15:48:27 +05:30
WhizSid
02f8f11736
Handle empty array possibilities from array_splice
2023-04-13 14:37:09 +05:30
tuqqu
ed2285f50a
Flatten match arm conditions to check conditions independently
2023-04-13 01:30:14 +02:00
WhizSid
ae67589463
Fixed CI
2023-04-13 01:14:49 +05:30
WhizSid
b19c263fe5
Fixed non empty arg issue in array_splice function
2023-04-13 00:34:29 +05:30
Maximilian Bösing
c3f91992f1
bugfix: ensure object and arrays are not intersectable
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-12 10:21:32 +02:00
Maximilian Bösing
1071257245
refactor: resolve TTypeAlias
in intersections
...
This also merges `TKeyedArray` into a one single keyed array. Therefore, this is not limited to aliases anymore.
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-11 23:22:04 +02:00
Maximilian Bösing
094df271a4
feature: add param and return type string to TCallableObject#getKey
in case the callable is known
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-11 20:29:57 +02:00
Maximilian Bösing
e72af4ed07
feature: allow aliased types within intersection strings
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-11 20:29:31 +02:00
Maximilian Bösing
93c71fe756
feature: introduce CallableTrait#getParamString
and CallableTrait#getReturnTypeString
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-11 20:28:54 +02:00
orklah
2aaa577346
Merge pull request #9629 from boesing/bugfix/unused-closure-param-for-required-argument
...
Do not report required closure arguments as unused
2023-04-10 13:25:29 +02:00
Maximilian Bösing
3f6a7de162
bugfix: preserve non-empty-string type when combining literal-string with numeric-string types
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-10 03:15:09 +02:00
Maximilian Bösing
6d5f999c75
bugfix: do not report required closure arguments as unused
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-10 01:54:03 +02:00
orklah
763116fab3
Merge pull request #9599 from boesing/feature/callable-object-intersection
...
Introduce callable object intersection
2023-04-09 11:48:45 +02:00
Maximilian Bösing
b2b026439f
qa: correct character casing
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-08 21:50:29 +02:00
ADmad
a584314c62
Allow enabling mixed issues reporting for error levels > 2.
...
Refs #9619 .
2023-04-08 06:17:00 +05:30
andrew
d9ad8b420e
Ignore specific callables (callable-array, callable-string) in the HighOrderFunctionArgHandler
2023-04-07 14:16:41 +03:00
andrew
2f7a7178ca
Docs for HighOrderFunctionArgHandler::remapLowerBounds
2023-04-06 18:23:50 +03:00
andrew
7fba401fdd
Callable type expansion for more readable error message
2023-04-06 15:29:59 +03:00
andrew
0456ef82a5
Prevent callable arg type enhancement for simple callable
2023-04-06 10:43:50 +03:00
andrew
d190b751fb
Cleanup HighOrderFunctionArgHandler
2023-04-05 18:10:21 +03:00
Maximilian Bösing
a8ed8a7b5c
revert: class-string
should not allow callable
only
...
As per discussion with Ondřej, `class-string` should explicitly target objects.
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-05 14:51:50 +02:00
adrew
a3aed2fc61
Analyse const callable like first-class-callable
2023-04-04 22:17:17 +03:00
Johannes Boost
865e183fa0
fix: fix phpcs errors
2023-04-04 17:59:50 +02:00
Maximilian Bösing
6c58d98d67
feature: treat class-string<callable>
as callable-object
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-04 17:28:58 +02:00
Johannes
37976aa117
fix: treat includes starting with '.' and '..' correct
2023-04-04 17:28:45 +02:00
orklah
06e085cf3f
fix coercion detection between two keyed arrays
2023-04-04 12:05:48 +02:00
Maximilian Bösing
ee68f16bb6
feature: introduce callable-object intersection type object&callable
...
This allows devs to annotate that they expect a callable object.
In addition to this, it can also verify return and argument types.
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-03 23:23:28 +02:00
orklah
eb7be110ec
fix level of error when comparing lists of mixed
2023-04-03 11:52:55 +02:00
Maximilian Bösing
11e90e7d42
qa: enhance code for better extensibility
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-03 02:23:59 +02:00
Maximilian Bösing
6ca34fdd10
qa: adjust code for readability
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-03 02:23:59 +02:00
Maximilian Bösing
6455084198
qa: applied coding standard to existing code
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-01 14:57:20 +02:00
Maximilian Bösing
1d4f496d0d
feature: introduce value-of
in assertions
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-04-01 14:57:20 +02:00
Daniel Leech
4fef4a2365
Move to basic configuration
2023-03-31 18:38:44 +01:00
Daniel Leech
8092554582
Add CLI help for the error-level option
2023-03-31 18:36:34 +01:00
orklah
8b9ad1eb9e
Merge pull request #9566 from DnwK98/handle-different-line-endings
...
Handle different line endings from baseline.
2023-03-29 23:38:21 +02:00
orklah
e2abc3e554
Merge pull request #9509 from ptomulik/issue-9506
...
Fixed #9506
2023-03-28 21:18:51 +02:00
Paweł Tomulik
ed1d095c7b
supress ComplexMethod
2023-03-28 20:59:51 +02:00
orklah
f78bf32417
Merge pull request #9570 from klimick/first-class-callable-contextual-inference
...
Contextual inference for first-class-callable
2023-03-28 20:40:04 +02:00
orklah
94f32e9718
Merge pull request #9323 from othercorey/fix-array-unique
...
Fix array_unique callmap
2023-03-28 20:27:18 +02:00