1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-11 16:59:45 +01:00
Commit Graph

4578 Commits

Author SHA1 Message Date
orklah
2d90631c87
Merge pull request #6689 from orklah/traversable&array
only fuse array & Traversable with phpstorm generics
2021-10-21 22:38:59 +02:00
orklah
1c0b802abb fix regression 2021-10-21 21:10:12 +02:00
orklah
f0f0b4a8a8
Merge pull request #6708 from orklah/skipped
skipped tests
2021-10-21 13:17:03 +02:00
orklah
8b98e645eb skipped tests 2021-10-20 23:37:52 +02:00
orklah
31bbd5a967
Merge pull request #6707 from orklah/!falsy_on_empty-string
improve falsy on non-empty-string
2021-10-20 23:18:12 +02:00
orklah
7ce0c3a6e3 improve falsy on non-empty-string 2021-10-20 22:31:03 +02:00
orklah
1f02795e42 fix missing implicit __toString 2021-10-20 19:54:32 +02:00
orklah
4755131585 more consistency 2021-10-20 07:32:04 +02:00
orklah
5d154e1bda fix test 2021-10-18 22:00:51 +02:00
orklah
a9e2284e79 add test 2021-10-18 21:51:36 +02:00
orklah
f7a63361ad
Merge pull request #6679 from SCIF/bugfix-5694-arrayfilter
Improve handling of positive ints by array_filter()
2021-10-17 23:20:26 +02:00
Aleksandr Zhuravlev
b664850cdc Added support of asserting properties of objects out of scope 2021-10-17 21:29:25 +13:00
Aleksandr Zhuravlev
978d9ec774 Improve handling of positive ints by array_filter() 2021-10-16 20:47:22 +13:00
orklah
56c73142d6 don't emit InvalidReturnType when return type was inferred to never 2021-10-16 00:15:17 +02:00
orklah
1aad830392
Merge pull request #6654 from zoonru/fixes
Fix manipulation of intersection types, arrow functions, foreign static types, parameter static types, T|false|null unions.
2021-10-15 23:41:24 +02:00
ElisDN
7b47063585 Add array typed tests 2021-10-15 14:30:20 +03:00
ElisDN
f26e9ae3b1 Add array replace tests 2021-10-15 14:30:20 +03:00
orklah
b8a2ba251f
Merge pull request #6672 from orklah/phpstorm-generics
prevent phpstorm generics from touching to signature types
2021-10-14 21:25:36 +02:00
orklah
a1b1080c4e prevent phpstorm generics from touching to signature types 2021-10-14 21:04:53 +02:00
orklah
110f2b4822
Merge pull request #6658 from fluffycondor/method-annotation-parsing-fix
Fix @psalm-method annotation parsing
2021-10-14 17:36:42 +02:00
Semyon
28385dc526 Fix failed test 2021-10-14 18:00:32 +03:00
Bruce Weirdan
6abdb092bc
Merge pull request #6667 from SCIF/bugfix-5135-reflectionnamedtype-stub 2021-10-14 13:26:50 +03:00
Aleksandr Zhuravlev
657f8e22ed Made the test marked 7.4 2021-10-14 22:05:40 +13:00
244a90ca4f
Fix #6665 2021-10-14 10:56:54 +02:00
orklah
75c3f8716a
Merge pull request #6652 from orklah/is_a_stub
stub for is_a
2021-10-14 00:13:13 +02:00
Aleksandr Zhuravlev
cbb67c0672 Stubbed RelfectionNamedType 2021-10-14 11:09:52 +13:00
orklah
e17290a9bc
Merge pull request #6613 from orklah/string-unpacking
String unpacking
2021-10-13 15:18:11 +02:00
24f1b60e53
Fix nullable unions 2021-10-13 14:05:48 +02:00
orklah
c96be1f68e fix tests 2021-10-13 11:47:57 +02:00
orklah
758acccb91 fix tests 2021-10-13 11:43:17 +02:00
ce60fa2151
Cleanup 2021-10-13 11:26:01 +02:00
orklah
c4eb548603 more precise type 2021-10-13 11:22:40 +02:00
orklah
83f2cf2eac switch the test from invalid to valid 2021-10-13 11:22:40 +02:00
orklah
690c24f824 array unpacking with strings 2021-10-13 11:22:40 +02:00
b6e7201b5a
Forbid static in parameter typehint 2021-10-13 11:22:33 +02:00
1c99af205b
Fix manipulation of intersection types, arrow functions, foreign static types, T|false|null unions. 2021-10-13 11:13:43 +02:00
orklah
e7cd2eac0a
Merge pull request #6641 from orklah/weird-assertion-count
Union::getAssertionString with multiple types
2021-10-13 08:15:28 +02:00
orklah
1efe272aed stub for is_a 2021-10-12 22:12:51 +02:00
orklah
04813bf556 fix test 2021-10-12 15:58:06 +02:00
orklah
233fe11d12 SimpleXMLElement is not always truthy 2021-10-12 15:46:02 +02:00
orklah
c6fb81007c
Merge pull request #6629 from orklah/loops-tweaking
tweaking with loops
2021-10-11 20:45:54 +02:00
orklah
af414ffe59
Merge pull request #6642 from orklah/inside-conditional
Inside conditional
2021-10-11 20:45:14 +02:00
orklah
b54dddf484
Merge pull request #6643 from orklah/never-closure
infer never on closures(and more?)
2021-10-11 20:42:02 +02:00
orklah
29966b38bd fix test 2021-10-11 19:23:56 +02:00
orklah
e4aaae29e9 fix test 2021-10-11 19:12:26 +02:00
orklah
f9377c53fc infer never on closures(and more?) 2021-10-11 18:52:26 +02:00
orklah
88dd4eace3 add test 2021-10-11 17:33:02 +02:00
orklah
55a696f83f fix test 2021-10-11 16:11:22 +02:00
orklah
4bcce010e4 loose comparison between int/float and string result in numeric-string 2021-10-11 16:11:05 +02:00
orklah
d08845900b
Merge pull request #6639 from orklah/refine-TKeyedArray-with-iterable
Refine TKeyedArray with iterable
2021-10-11 16:09:00 +02:00
orklah
2e64854a6c don't allow getAssertionString to return a part of the Union 2021-10-11 16:07:57 +02:00
orklah
5bb8eb6eb2 add test 2021-10-11 13:36:56 +02:00
orklah
3aee938910
Merge pull request #6636 from orklah/possibly-undefined-satisfy-nullable
Allow sending possibly_undefined inputs to optional params
2021-10-10 23:12:38 +02:00
orklah
fb8b07613d Allow sending possibly_undefined inputs to optional params 2021-10-10 12:44:04 +02:00
orklah
5134a92e2a
Merge pull request #6623 from orklah/templated-array-key
Templated array key
2021-10-10 10:43:12 +02:00
orklah
cdfc119e33 add test 2021-10-10 10:31:30 +02:00
orklah
e7a86148b0 Allow Psalm to store unresolved Unary Ops 2021-10-10 09:24:25 +02:00
orklah
8b151f39c8 put back one of the errors 2021-10-09 22:09:48 +02:00
orklah
d7dfd87390 remove suppress on an old test 2021-10-09 21:04:06 +02:00
orklah
4866155b3a add test 2021-10-09 20:03:52 +02:00
orklah
f62c76a334
Merge pull request #6622 from orklah/return_0
fix @return 0
2021-10-09 18:25:46 +02:00
orklah
4137cabaed add test 2021-10-09 17:59:41 +02:00
orklah
d40335ff37
Merge pull request #6612 from orklah/empty-array_is_list
array_is_list on empty array returns true
2021-10-08 17:16:35 +02:00
orklah
682784c886 array_is_list on empty array returns true 2021-10-08 17:05:35 +02:00
orklah
f35df421e2
Merge pull request #6604 from orklah/array-unshift-on-empty-array
Array unshift on empty array
2021-10-07 23:04:10 +02:00
orklah
22fb4b5d19 add test 2021-10-07 11:04:51 +02:00
orklah
ecb541ea51 add test 2021-10-05 19:49:05 +02:00
orklah
dbc70900ff fix tests 2021-10-05 13:41:40 +02:00
orklah
13c2ba61ea fix tests 2021-10-05 13:41:20 +02:00
orklah
902206b3ee
Merge pull request #6578 from orklah/psalter-psalm-param
Psalter psalm-param
2021-10-05 12:51:52 +02:00
orklah
d22105de72
Merge pull request #6580 from orklah/psalter-generic-object-tophpstring
fix wrong type description added in signature
2021-10-04 20:23:42 +02:00
orklah
2c728546e4
Merge pull request #6485 from orklah/list-assert
assert that some type is a list
2021-10-04 13:31:34 +02:00
orklah
ac6a75ea7f
Merge pull request #6473 from orklah/double-assert2
assert both sides of an equality
2021-10-04 13:30:38 +02:00
orklah
0e83afdb86
Merge pull request #6518 from orklah/fix-truthy
improvements of alwaysTruthy/alwaysFalsy
2021-10-04 13:29:49 +02:00
orklah
b0842c6b6f
Merge pull request #6475 from orklah/range6
3> min/max, rand inference improvement with integer range
2021-10-04 13:23:03 +02:00
orklah
66206bf061 fix wrong type description added in signature 2021-10-04 12:26:05 +02:00
orklah
8b07e69645
Merge pull request #6514 from zoonru/if-this-is
Add if-this-is
2021-10-04 09:49:26 +02:00
orklah
8660f68007
Merge pull request #6519 from gmessier/advanced-issue-handlers
Add support for advanced IssueHandler in plugins
2021-10-04 09:47:59 +02:00
orklah
fffe6428de fix tests 2021-10-04 01:13:16 +02:00
orklah
4f696ec3b4 add/fix tests 2021-10-04 01:01:57 +02:00
orklah
ee4dbafca9 fix test 2021-10-02 10:02:24 +02:00
orklah
f641d9e95a assert that some type is a list 2021-10-02 10:02:22 +02:00
orklah
532aa9058b add and fix tests 2021-10-02 10:01:05 +02:00
orklah
597e9a99d7 Makes BooleanNot smarter 2021-10-02 10:01:04 +02:00
orklah
b9f14f8687 improve min/max inference, add a return type provider for rand, mt_rand and random_int 2021-10-02 09:53:58 +02:00
orklah
83ad836e88 assert both sides of an equality 2021-10-02 09:52:19 +02:00
Bruce Weirdan
2e7e343ef8
Merge pull request #6423 from orklah/count-equal-0-negated-assertion 2021-10-02 00:53:03 +03:00
Bruce Weirdan
97a3d673f4
Merge pull request #5091 from ohader/namespace-resolver 2021-10-01 02:00:33 +03:00
Bruce Weirdan
377d3bddf0
Merge pull request #6552 from orklah/manipulator 2021-09-30 21:54:55 +03:00
Bruce Weirdan
d232cc0d02
Merge pull request #6553 from orklah/exec-leak 2021-09-30 21:32:55 +03:00
orklah
4c6f43884c fix test 2021-09-29 22:55:01 +02:00
orklah
2a2e7c5e32 prevent object leaking that lead to changes in callmap 2021-09-29 22:27:34 +02:00
orklah
5a99c9be94 offset the starting position of the function in case of attributes 2021-09-29 21:19:04 +02:00
orklah
9d9dba156c
Merge pull request #6538 from orklah/taint-windows
enable test on taint
2021-09-27 20:37:27 +02:00
orklah
caf4d57438 enable test on taint 2021-09-27 20:16:50 +02:00
orklah
ef82910de3
Merge pull request #6537 from mmcev106/master
Prevent unnecessary filter_var() warnings on primitive types
2021-09-27 20:15:01 +02:00
Mark McEver
79340b4a6f Prevent unnecessary filter_var() warnings 2021-09-27 18:46:01 +01:00
Mark McEver
76dade477d Prevent unnecessary filter_var() warning 2021-09-27 18:34:58 +01:00
Oliver Hader
51333e8f6e
[TASK] Resolve namespace of class related AST statements
This change allows using `Class_` namespaces like in
PhpParser's original `NameResolver` implementation.

```
if ($node instanceof \PhpParser\Node\Stmt\Class_) {
    $fqcn = (string)($node->namespacedName ?? $node->name);
    $extents = (string)($node->extends->getAttribute('resolvedName'));
}
```

Corresponding parts have been duplicated and modified from
https://github.com/nikic/PHP-Parser/blob/v4.10.4/lib/PhpParser/NodeVisitor/NameResolver.php#L69-L81
2021-09-27 11:19:24 +02:00
Guillaume Messier
c9db2dfb53 Merge branch 'master' of https://github.com/gmessier/psalm into advanced-issue-handlers 2021-09-24 12:48:12 +00:00
orklah
b542daf233 more precise test 2021-09-23 21:24:17 +02:00
orklah
85d65d35e9 restrict the test because int size is fixed on runtime environment 2021-09-23 21:24:17 +02:00
orklah
a54e76cbc7 add new issues to baseline and fix a test 2021-09-23 21:24:16 +02:00
orklah
cc6ab8340b improve type when min = max and add test 2021-09-23 21:24:16 +02:00
orklah
a7fa63547e add tests, improve count behaviour on keyed arrays using integer range 2021-09-23 21:24:16 +02:00
orklah
60f017410c
Merge pull request #6526 from orklah/fix-build
fix build
2021-09-23 19:37:06 +02:00
orklah
c74e81ca8f fix build 2021-09-23 19:29:15 +02:00
Guillaume Messier
666367fbd5 Add unit test 2021-09-23 15:30:30 +00:00
741c9ee471
Fixes 2021-09-22 10:26:21 +02:00
ba2c2bdaa2
Fix tests 2021-09-21 13:00:13 +02:00
7e0b489efe
Merge remote-tracking branch 'origin/master' into if-this-is 2021-09-21 12:12:15 +02:00
orklah
55fd9c6713
Merge pull request #6478 from whsv26/bugfix/trait-template-invalid-arg
Fix invalid argument bug in generic trait context
2021-09-20 16:53:12 +02:00
orklah
994c927b6a
Merge pull request #6445 from TysonAndre/negate-in_array-v2
Fix false positive ParadoxicalCondition in negation of in_array
2021-09-20 16:49:15 +02:00
orklah
7328456a33
Merge pull request #6438 from SCIF/serializable-interface
Changed signature of Serializable::unserialize stub
2021-09-20 16:49:00 +02:00
orklah
90e1662964
Merge pull request #6241 from orklah/range5
Range arithmetics and assertions
2021-09-20 07:15:43 +02:00
orklah
f87bd56105 fix Pow 2021-09-19 19:30:03 +02:00
orklah
5a2df475ca changes after review 2021-09-19 19:30:03 +02:00
orklah
3d7dc740c2 fix UnaryMinus 2021-09-19 19:30:03 +02:00
orklah
a6630c49a2 fix mod calculation with ranges 2021-09-19 19:30:02 +02:00
orklah
c226285a4b fix Mul and Pow operations 2021-09-19 19:30:02 +02:00
orklah
a8a659895f add failing test 2021-09-19 19:30:02 +02:00
orklah
f789ab0655 add test and allow checking in already inferred types instead of just relying on statements from PHPParser for assertions 2021-09-19 19:30:02 +02:00
orklah
ae0586b0e6 fix shift inference 2021-09-19 19:30:02 +02:00
orklah
e0e34bec33 allow intersections and add test 2021-09-19 19:30:02 +02:00
orklah
c26f403e7e fix an old bug with inverting positive int + allow inverting TIntRange 2021-09-19 19:30:02 +02:00
orklah
488c13b7c5 handle bit operations and add test 2021-09-19 19:30:02 +02:00
orklah
6f050359ce refactor int vs int range arithmetic by converting everything to range and add tests 2021-09-19 19:30:02 +02:00
orklah
d2f73d3adb fix and test minus case 2021-09-19 19:30:01 +02:00
orklah
b5b2677ee3 allow negating inferiorto/superiorto 2021-09-19 19:30:01 +02:00
orklah
b3a62c76dd add tests and use getNewHighestBound at one place 2021-09-19 19:30:01 +02:00
orklah
edff17134d improve test 2021-09-19 19:30:00 +02:00
orklah
7d6ede61fd fix test 2021-09-19 19:30:00 +02:00
orklah
ee75586fbf expand test and fix assertions 2021-09-19 19:30:00 +02:00
orklah
d2e1388473 Allow inferior-to and superior-to even with negated numbers 2021-09-19 19:30:00 +02:00
orklah
d9d9fa67a6 remove faulty test 2021-09-19 19:29:59 +02:00
orklah
3a8afe07be fix test 2021-09-19 19:29:59 +02:00
orklah
1dcdaea117 int range arithmetics 2021-09-19 19:29:59 +02:00
orklah
e9f3d5ba06 assert from TClassString 2021-09-17 20:05:25 +02:00
Aleksandr Zhuravlev
65407cc10d Got rid of test 2021-09-16 23:07:32 +12:00
whsv26
8b54cca3a8 Fix different context templates invalid argument bug for trait. 2021-09-13 23:43:09 +03:00
Alessandro Lai
55cbbd4fe7
Add test 2021-09-09 16:04:12 +02:00
Bruce Weirdan
beb0476eed
Added test 2021-09-08 22:41:23 +03:00
Bruce Weirdan
b4f024b1fe
Basic enum checks
* Duplicate cases
* Duplicate case values
* Invalid case values: value on a pure enum case, missing value on a
backed enum case, backing type / case type mismatch
* Literal expression evaluation for case values

Fixes vimeo/psalm#6426
Fixes vimeo/psalm#6427
2021-09-07 12:35:38 +03:00
Tyson Andre
f4f989d1e5 Use different in-array-* check for non-literals
Negating this would not contradict the original condition if the
variables were different. A string can be in one array of strings but
not be in a different array of strings.
2021-09-06 21:48:08 -04:00
Tyson Andre
f69a255611 Fix false positive ParadoxicalCondition in negation of in_array
For #6439
2021-09-06 21:15:04 -04:00
Bruce Weirdan
b39e765475
Prevent failures with dev PHP versions
It was failing with dev versions, e.g. `8.2.0-dev`
2021-09-07 01:43:03 +03:00
Nicolas Giraud
9df0edbbab Force array_walk to not infer input type. 2021-09-06 15:15:25 +02:00
Bruce Weirdan
0f2152ac97
Merge pull request #6434 from weirdan/flag-invalid-enum-backing-type
Flag invalid backing types for enums
2021-09-05 20:30:01 +03:00
Bruce Weirdan
7b11024886
Flag invalid backing types for enums
Fixes vimeo/psalm#6428
2021-09-05 20:12:24 +03:00
Bruce Weirdan
abf557da44
Encode XML output consistently
This fixes test failures when running on PHP 8.1, due to changed
`htmlspecialchars()` defaults
2021-09-05 20:06:59 +03:00
Bruce Weirdan
5dfd157d72
Merge pull request #6420 from orklah/ternary-override-type
Ternary override type when reassigning
2021-09-04 21:58:32 +03:00
Bruce Weirdan
b710aab148
Merge pull request #6419 from TysonAndre/in_array-fix 2021-09-04 21:56:36 +03:00
Bruce Weirdan
3a3fde332e
Merge pull request #6392 from orklah/control-action-test 2021-09-04 21:38:08 +03:00
orklah
e2b594820e fix test 2021-09-04 20:27:25 +02:00
orklah
0825f220fe allow ternary to override previous type when reassigning 2021-09-04 20:22:06 +02:00
Tyson Andre
58e7ae1809 Also support non-literal types in strict in_array() check
Modified approach to #6396 by orklah

Fixes #6333

Co-Authored-By: orklah <ronan_morin@hotmail.com>
2021-09-04 12:34:49 -04:00
orklah
ea50e5db4d add test 2021-09-04 14:19:49 +02:00
orklah
861d2187dd fix tests 2021-09-04 14:17:55 +02:00
orklah
de27693015 change test to show while loop with truthy value is still inferred 2021-09-04 14:10:12 +02:00
orklah
e99c1951ae Make Psalm understand infinite while loop in control actions 2021-09-02 22:28:01 +02:00
Bruce Weirdan
a655ca81c1
Merge pull request #6391 from ro0NL/6388 2021-09-02 23:23:32 +03:00
Roland Franssen :)
9a6ae5a27a test 2021-09-02 20:53:23 +02:00
orklah
58e578e6a7 fix Generator giving templates to Iterator 2021-09-02 20:12:32 +02:00
Bruce Weirdan
eb973ab2e1
Merge pull request #6335 from boesing/bugfix/recursive-class-aliases 2021-08-31 23:51:19 +03:00
Bruce Weirdan
b713140cc1
Merge pull request #6326 from piporoid/issue/2164
Prevent @property annotations on class properties
2021-08-31 23:46:56 +03:00
Bruce Weirdan
cbcc38aab8
Merge pull request #6339 from niconoe-/allow-object-on-array_walk 2021-08-31 23:45:10 +03:00
Bruce Weirdan
103b2b7244
Warn about array_walk_recursive over objects 2021-08-31 23:18:20 +03:00
Bruce Weirdan
624246b996
Merge pull request #6376 from orklah/use-variable-in-backtick 2021-08-29 04:39:13 +03:00
orklah
10c20dc8f3 mark variable used in backticks as used 2021-08-29 00:26:52 +02:00
Bruce Weirdan
b370ce92aa
Report RawObjectIteration when array_walk is used on objects 2021-08-20 01:43:49 +03:00
Bruce Weirdan
9222b24ea1
Merge pull request #6321 from orklah/analyze-dynamic-classConstFetch 2021-08-20 01:06:56 +03:00
orklah
dbf3512b70 introduce $definite_class flag and use it to avoid using final keyword for simple inference 2021-08-19 23:19:59 +02:00
Bruce Weirdan
3cb28e6399
Merge pull request #6344 from orklah/vendor-suppressions
don't report UnusedSuppressions in non project dirs
2021-08-19 20:53:21 +03:00
orklah
6cf7660ad8 fix CS 2021-08-19 19:34:30 +02:00
orklah
7fd0d5f28e create real path for Psalm to stop ignoring suppressions 2021-08-19 19:31:58 +02:00
Maximilian Bösing
d4559f5ba3
qa: add failing test regarding recursive alias resolving
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-08-18 16:18:44 +02:00
Benjamin Morel
621c4dd8d1 Enforce class-string in is_subclass_of() 2021-08-17 23:14:11 +02:00
Bruce Weirdan
e5b797c764
Merge pull request #6327 from boesing/bugfix/class-alias 2021-08-17 23:35:25 +03:00
Maximilian Bösing
990723ce64
qa: rework unit test to use already available project_initializer
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-08-17 21:46:00 +02:00
Barney Laurance
88276d7f1e Fix error message for call to internal method from root namespace 2021-08-17 18:54:57 +01:00
orklah
1bf7447685 small refactor, add LiteralClassString, remove alter code blocks 2021-08-17 18:51:59 +02:00
Maximilian Bösing
7ab5d29e08
qa: add unit test to verify aliased interface is properly detected
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-08-17 18:40:18 +02:00
piporoid
1df5f3012a Prevent @property annotations on class properties 2021-08-17 23:40:26 +09:00
orklah
9264ea5cbb Allow type inference on dynamic ClassConstFetch 2021-08-16 21:20:20 +02:00
Bruce Weirdan
a9ead63ae1
Revert "Assertions for Integer Range" 2021-08-14 18:06:41 +03:00
Bruce Weirdan
7ff2a660dd
Merge pull request #6233 from supersmile2009/fix-in-array-assert 2021-08-13 01:39:31 +03:00
Bruce Weirdan
a4b6fbcbdf
Simplified InArrayTest a bit 2021-08-13 01:27:28 +03:00
Bruce Weirdan
6294e06955
Improve constant array inference
This fixes int offset inference and adds handling for array unpacks in
constant arrays. Mostly it's copy/pasted from `ArrayAnalyzer` with
further adjustments.

Fixes vimeo/psalm#6263
Fixes vimeo/psalm#6289
2021-08-12 20:39:21 +03:00
Bruce Weirdan
868a1672c1
Merge pull request #6253 from orklah/unusedSuppress 2021-08-09 23:34:14 +03:00
Bruce Weirdan
94f034b7ad
Merge pull request #6272 from orklah/sealed-array-combination 2021-08-09 23:33:00 +03:00
orklah
9ca771286f fix test 2021-08-09 21:18:19 +02:00
orklah
e688781383 seal the result of two sealed KeyedArrays 2021-08-09 20:43:17 +02:00
Bruce Weirdan
8c531fec4b
Tweaks
Changed the format of the historical callmap to be plain signature list,
as it isn't really a delta file and renamed the file to not be confused
with deltas.

Added a test to ensure entries in main callmap have history.
2021-08-08 18:43:42 +03:00
bjscharp
07d48d779a Merge branch 'master' into callmap-delta-inconsistencies 2021-08-08 10:41:42 +02:00
bjscharp
96056d329f Add simple test to verify outout of getCallMap method
Convert deltafile format to new style proposed by weirdan
Modify CallMapTest to use new format
Modify InternalCallMapHandler to use new format
Move assertions to base testcase
2021-08-08 10:39:54 +02:00
orklah
570aa1bb8e fix test? 2021-08-07 10:18:06 +02:00
orklah
b194291bb3 try to fix offsets 2021-08-07 00:08:19 +02:00
Maximilian Bösing
9d59fbe6bb
feature: introduce literal float methods to Union type
- Added `Psalm\Type\Union#isSingleFloatLiteral`
- Added `Psalm\Type\Union#getSingleFloatLiteral`
- Added `Psalm\Type\Union#hasLiteralFloat`

Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-08-06 21:05:26 +02:00
bjscharp
d1d9e3763c Removed unused test dependencies 2021-08-06 07:45:17 +02:00
bjscharp
a01b92de8a Split duplicate add/remove check off into seperate tests to deal with several extra error paths 2021-08-06 07:33:37 +02:00
bjscharp
f39c462138 Add missing bcadd function to 8.0 delta file.
To prevent similar errors, add baseline file with signatures pre-7.1, to help verify delta files are correct.
Modify test to use this to detect missing 'old' entries
2021-08-05 23:21:41 +02:00
orklah
10049450f8 fix tests for the last time............................................... maybe? 2021-08-05 21:48:37 +02:00
orklah
ba2f623754 fix unused variables 2021-08-05 21:32:32 +02:00
orklah
50fd9065de fix tests 2021-08-05 21:15:04 +02:00
orklah
3fe678b914 ignore UnnecessaryVarAnnotation 2021-08-05 21:05:44 +02:00
bjscharp
ac5ea252ff Added test to detect problems and inconsistencies in CallMap files
- Fixed inconsistencies in callmap delta files (mainly 8.0)
- Added several missing changes in the bc_* functions
- Added several missing changes in the mb_* functions
- Added several missing changes in the xml_parser_* functions
- Fixed several issues with sodium_ functions
- Removed all but one of the date_* functions. All were marked as having lost the option to return false, despite this only being true for date_format
2021-08-05 19:07:31 +02:00
Alexandr Zolotukhin
3d61f6ca65 Add more tests 2021-08-05 16:42:52 +03:00
Alexandr Zolotukhin
c51f0f4fbf Add tests with needle/haystack value of union types which intersect partially 2021-08-03 21:09:59 +03:00
Alexandr Zolotukhin
586e8a157e Fix tests with loose types. Fix return type in the reconciler. 2021-08-03 19:34:35 +03:00
Alexandr Zolotukhin
e278b4fd93 Add failing test cases 2021-08-03 17:29:28 +03:00
Bruce Weirdan
caaff6e3b4
Merge pull request #6210 from orklah/int-range3 2021-08-01 16:37:15 +03:00
Bruce Weirdan
3a1714e732
Merge pull request #6215 from weirdan/fix-6211
Use fully-qualified name for virtual class strings
2021-08-01 16:36:25 +03:00
Matthew Brown
a205a23ccb Fix #6212 - remove untested code, add test for reasonable behaviour 2021-07-31 19:50:56 -04:00
Bruce Weirdan
e4ead74879
Use fully-qualified name for virtual class strings
Fixes vimeo/psalm#6211
2021-08-01 02:22:16 +03:00
orklah
d4bf17f323 fix test 2021-07-31 15:47:12 +02:00
orklah
128a811174 add internal assertions for superior and inferior 2021-07-31 15:47:12 +02:00
orklah
ba9f7d09ac fix CS 2021-07-30 22:22:38 +02:00
orklah
1e3e6a85e4 introduce basic integer range 2021-07-30 21:44:51 +02:00
Bruce Weirdan
9414b11c2f
Merge pull request #6204 from orklah/class-string-attributes 2021-07-29 22:35:42 +03:00
orklah
6fc55d7bff add test 2021-07-29 20:41:08 +02:00
Jack Robertson
f0193f20fa Consider print, and conditionally exit / die impure 2021-07-27 13:26:54 +01:00
Bruce Weirdan
358f83d66b
Merge pull request #6181 from Jack97/date-time-interface-type-reconciliation 2021-07-26 16:28:10 +03:00
Jack Robertson
c8574a6347 Simplify FQNs 2021-07-26 13:56:15 +01:00
Jack Robertson
8bec5fc743 Add expected behaviour tests 2021-07-26 08:50:12 +01:00
Bruce Weirdan
82dfbbc12e
Merge pull request #6167 from orklah/non-div-with-numeric-and-int 2021-07-25 13:56:48 +03:00
orklah
55245cf558 Arithmetic operation between numeric and int or float gives int|float 2021-07-25 12:29:11 +02:00
Bruce Weirdan
783dc610df
Merge pull request #6172 from Jack97/malformed-parentheses 2021-07-25 13:08:23 +03:00
Jack Robertson
3a18ec0d51 Add expected behaviour tests 2021-07-25 10:42:40 +01:00
Bruce Weirdan
aa23aa5387
Merge pull request #6166 from orklah/StringIncrementOnNumericString 2021-07-24 23:27:17 +03:00
orklah
9189fa1745 add tests and code for handling LiteralString that are Numeric 2021-07-24 21:21:50 +02:00
Jack Robertson
3eea15e840 Add failing test 2021-07-24 16:02:13 +01:00
orklah
c225281d22 add test 2021-07-23 21:22:00 +02:00
Bruce Weirdan
198fdf876e
Merge pull request #6142 from orklah/trigger_error 2021-07-23 09:22:55 +03:00
Matthew Brown
43cff22b25 Add support for native PHP readonly 2021-07-21 13:29:07 -04:00
Bruce Weirdan
052c7478cc
Unary plus and minus mark operand as used
Fixes vimeo/psalm#6145
2021-07-21 01:15:51 +03:00
orklah
cefa9b919e change wording 2021-07-20 23:55:49 +02:00
orklah
58dd3f6f94 change wording 2021-07-20 23:53:04 +02:00
orklah
acfdb82856 Basic implementation 2021-07-20 23:34:38 +02:00
Bruce Weirdan
0317f1dbec
Merge pull request #6130 from weirdan/forbid-dynamic-access-to-static-props 2021-07-19 16:11:29 +03:00
Bruce Weirdan
d992331125
Expand magic properties
Fixes vimeo/psalm#4344
Fixes vimeo/psalm#5663
Fixes vimeo/psalm#5639
Fixes vimeo/psalm#5955
Fixes vimeo/psalm#3272
2021-07-18 23:43:33 +03:00
Bruce Weirdan
a180dc6099
Flag staticness mismatch
This handles two new cases:
1. Accessing static property with `->` (produces notices and warnings: https://3v4l.org/TiGan)
2. Accessing non-static property with `::` (causes fatal error: https://3v4l.org/IdYSh)

Fixes vimeo/psalm#6117
2021-07-18 02:51:33 +03:00
Bruce Weirdan
53ae7764e9
Merge pull request #6129 from orklah/unused-global 2021-07-18 02:33:50 +03:00
orklah
d1a4975e3d remove test no longer applicable 2021-07-17 23:20:13 +02:00
orklah
79d0647d19 fix issue when setting a value to a global is considered unused 2021-07-17 22:00:54 +02:00
Grégoire Paris
26f8e5b333
Add negated identity with false case
This is the opposite of === true and works the same.
2021-07-17 03:20:23 +03:00
Bruce Weirdan
c9f52c449b
Merge pull request #6127 from weirdan/deprecated-properties
Check deprecated properties on $this->prop reads
2021-07-17 01:43:08 +03:00
Matthew Brown
88c4e2468e
Support interface-string<Foo> as temporary alias of class-string<Foo> (#6106) 2021-07-16 18:38:39 -04:00
Bruce Weirdan
af5cdb4dd4
Check deprecated properties on $this->prop reads
Fixes vimeo/psalm#6118
2021-07-17 01:20:35 +03:00
Bruce Weirdan
4a516005a3
Allow 0 for all bitmask types
Fixes vimeo/psalm#6119
2021-07-16 23:20:33 +03:00
orklah
0bd8b03f7a Fix usage of gettype in a switch with closed resource 2021-07-14 12:49:46 +02:00