Matthew Brown
|
5eb2ebc508
|
Add more type-system protections for bad array args
|
2020-01-29 23:41:17 -05:00 |
|
Matthew Brown
|
933dff9e20
|
Fix #2712 - allow __toString to have more specific type
|
2020-01-29 22:28:40 -05:00 |
|
Matthew Brown
|
2aebc522f1
|
Fix #2705 - mark by-ref args as used if not variables already
|
2020-01-29 21:46:30 -05:00 |
|
Matthew Brown
|
5c3ec7a531
|
Fix #2696 - make sure static property references are prevented in pure functions
|
2020-01-27 22:55:20 -05:00 |
|
Brown
|
c3a989f6a8
|
Fix bad var
|
2020-01-24 15:44:18 -05:00 |
|
Brown
|
c09f97ed6e
|
Fix #2691 - allow list to be a callable maybe
|
2020-01-24 15:09:06 -05:00 |
|
Brown
|
38e9e8ba87
|
Register methods as used
|
2020-01-24 14:53:32 -05:00 |
|
Brown
|
548c9f7e65
|
Remove unused var
|
2020-01-24 14:09:25 -05:00 |
|
Brown
|
9f077f5aec
|
Fix formatting
|
2020-01-24 14:08:01 -05:00 |
|
Brown
|
faf6afdce8
|
Support call_user_func evaluation
Fixes #726
|
2020-01-24 13:34:50 -05:00 |
|
Brown
|
34d73e7243
|
Fix #2685 - always evaluate $a++ in unknown call
|
2020-01-24 10:32:28 -05:00 |
|
Brown
|
0ffb833bf3
|
Fix #2677 - use better assertion for null coalesce
|
2020-01-23 14:52:35 -05:00 |
|
Brown
|
da43b8188f
|
Fix #2632 - detect invalid by-ref assignments in pure functions
|
2020-01-23 14:21:34 -05:00 |
|
Brown
|
0ac20e76c4
|
Fix #2631 - evaluate purity of uasort closure
|
2020-01-23 13:49:15 -05:00 |
|
Brown
|
36f5c51f01
|
Allow unpacking of list args with known elements
|
2020-01-21 10:13:37 -05:00 |
|
Matthew Brown
|
b582c49f51
|
Fix #2645 - add workarounds for some edgecases
|
2020-01-17 10:25:05 -05:00 |
|
Matthew Brown
|
471d7610f0
|
Fix #2644 - improve type inference of autoloaded constants
|
2020-01-17 09:52:43 -05:00 |
|
Matthew Brown
|
4a03c4aedd
|
Fix impossible isset checks
|
2020-01-14 21:54:02 -05:00 |
|
Matthew Brown
|
c3edbdbc19
|
Allow checking $_SESSION for null without altering type
|
2020-01-14 21:51:04 -05:00 |
|
Brown
|
0f6b61d62d
|
Clone isset type before contradicting
|
2020-01-14 18:28:32 -05:00 |
|
Brown
|
3fd70a9c88
|
Only set if non-null
|
2020-01-14 17:03:58 -05:00 |
|
Brown
|
adc658901a
|
Improve inference of constant() calls
|
2020-01-14 16:56:09 -05:00 |
|
Matthew Brown
|
42073a800a
|
Remove unevaluated code
|
2020-01-14 00:55:56 -05:00 |
|
Matthew Brown
|
e1daf26202
|
Improve support for null coalesce checks
|
2020-01-14 00:53:38 -05:00 |
|
Matthew Brown
|
b0073d4558
|
Fix #2614 - prevent isset($string)
|
2020-01-13 21:27:09 -05:00 |
|
Тальгат Хайруллов
|
39a822759d
|
#2579 TooManyArguments was triggered if the variadic function declared at the autoloader file. Fixed. (#2580)
|
2020-01-12 11:33:38 -05:00 |
|
Brown
|
2c7197ab4b
|
Fix #2578 - improve inference of functions beginning with assert
|
2020-01-09 15:45:17 -05:00 |
|
Brown
|
bd9142f131
|
Fix #2574 - remove assertions after increment
|
2020-01-09 11:51:56 -05:00 |
|
Pavel Batečko
|
702ca34c41
|
Improve array function types (#2566)
* Improve sorting function out types
* Improve return types of array_diff_assoc(), array_intersect_assoc()
* Fix versionCompareAsCallable test
|
2020-01-07 11:40:23 -05:00 |
|
Matthew Brown
|
90d6b73fd8
|
Fix taint analysis of binary operations
|
2020-01-07 08:50:31 -05:00 |
|
Matthew Brown
|
1f777bec0e
|
Capture non-empty-string from concat more effectively
|
2020-01-07 01:44:12 -05:00 |
|
Matthew Brown
|
ce5917c6fb
|
Add better string detection
|
2020-01-07 01:21:29 -05:00 |
|
Matthew Brown
|
b351df0483
|
Fix typo
|
2020-01-07 01:06:51 -05:00 |
|
Matthew Brown
|
eaae84c7f8
|
Fix concat emptiness
|
2020-01-06 21:30:19 -05:00 |
|
Matthew Brown
|
cc9e0fab67
|
Prevent string being used in non-empty-string location
|
2020-01-06 20:57:57 -05:00 |
|
Brown
|
5c45221bdc
|
Improve reconciliation of ||
Ref #2426
|
2020-01-06 16:37:44 -05:00 |
|
Brown
|
578b90c2da
|
Improve naming of variables
|
2020-01-06 16:03:17 -05:00 |
|
Brown
|
49d9dd12b6
|
Change $op_ to $right in a few more places
|
2020-01-06 15:44:48 -05:00 |
|
Brown
|
9149f468e6
|
Change var name
|
2020-01-06 15:42:06 -05:00 |
|
Brown
|
083fbc55e1
|
Add more specific UndefinedMagicMethod issue
|
2020-01-06 14:23:33 -05:00 |
|
Brown
|
8e786a17dd
|
Deal with a reconciled var more accurately
Ref #2426
|
2020-01-06 11:09:07 -05:00 |
|
Brown
|
cd0d118463
|
Fix count
|
2020-01-06 10:40:46 -05:00 |
|
Matthew Brown
|
8c71da75af
|
Add fix to more places
|
2020-01-06 09:47:14 -05:00 |
|
Matthew Brown
|
4e85967184
|
Fix tests
|
2020-01-05 21:58:18 -05:00 |
|
Matthew Brown
|
867511d7fd
|
Use more specific error magic properties
|
2020-01-05 21:07:26 -05:00 |
|
Matthew Brown
|
2fb5a9d326
|
Few small improvements
|
2020-01-05 18:37:07 -05:00 |
|
Matthew Brown
|
d4ef5c2a4a
|
Fix read flags
|
2020-01-05 17:20:09 -05:00 |
|
Matthew Brown
|
37810b5a44
|
Fix #2552 - add parse error when encountering empty array values
|
2020-01-04 16:33:02 -05:00 |
|
Matthew Brown
|
9fa2db1b6c
|
Move Union::getTypes to Union::getAtomicTypes
|
2020-01-04 12:20:26 -05:00 |
|
Brown
|
996053cca6
|
Fix #2545 - fix bug when coming back after analysing method call in constructor
|
2020-01-03 11:29:45 -05:00 |
|
Brown
|
de0fad2197
|
Fix #2541 - check variable var assignment
|
2020-01-02 14:07:02 -05:00 |
|
Brown
|
ca1e65b29b
|
Handle iterators better
|
2020-01-02 10:41:43 -05:00 |
|
Matthew Brown
|
4630d19d45
|
Fix psalm running
|
2020-01-01 12:49:12 -05:00 |
|
Matthew Brown
|
4021d673bd
|
Fix #2536 - grab binary op left assertions after analysis
|
2020-01-01 12:45:24 -05:00 |
|
Matthew Brown
|
5bd9b988fb
|
Fix #2494 - don’t use extended name for anonymous classes
|
2019-12-31 08:46:52 -05:00 |
|
Matthew Brown
|
44441042f0
|
Fix style things
|
2019-12-30 11:07:04 -05:00 |
|
Matthew Brown
|
366e2d30a3
|
Improve assertions support a bit more
|
2019-12-30 10:48:50 -05:00 |
|
Matthew Brown
|
19faa31865
|
Allow assertions on nested properties
|
2019-12-30 10:01:31 -05:00 |
|
Matthew Brown
|
c79ba0b09e
|
Include non-empty-string type in more places
|
2019-12-30 07:25:36 -05:00 |
|
Matthew Brown
|
023c4bcef0
|
Fix #2532 - fix templating inside class method when calling templated method
|
2019-12-30 07:25:36 -05:00 |
|
Matthew Brown
|
2b88261ecd
|
Fix templated assertion cc @vasily-kartashov
This is a good reason for you to skip 3.8.1
|
2019-12-29 11:57:54 -05:00 |
|
Matthew Brown
|
b375ebf06f
|
Fix test
|
2019-12-29 10:29:03 -05:00 |
|
Matthew Brown
|
26876b9a13
|
array_push shouldn’t change list type
|
2019-12-29 10:20:44 -05:00 |
|
Matthew Brown
|
0c7851ae21
|
Fix #2526 - always check for array assignment in assignop
|
2019-12-29 08:36:46 -05:00 |
|
Matthew Brown
|
55c2f7faa2
|
Fix #2508 - don’t replace templated types with generic ones inside own function
|
2019-12-28 18:38:02 -05:00 |
|
Matthew Brown
|
ce9435da19
|
Fix #2521 - use correct context class when analysing trait
|
2019-12-28 15:56:26 -05:00 |
|
Matthew Brown
|
982fe627e0
|
Fix #2515 - allow chained assertions on @psalm-mutation-free methods
|
2019-12-27 16:44:55 -05:00 |
|
Matthew Brown
|
068afa09d3
|
Add very basic implementation for class-string-map
Fixes #1969
|
2019-12-27 12:49:28 -05:00 |
|
Matthew Brown
|
2f2cd85a6a
|
Identify invalid static property array assignment
|
2019-12-27 10:34:51 -05:00 |
|
Matthew Brown
|
ee35db5a3b
|
Refine assignment somewhat
|
2019-12-22 12:43:57 +00:00 |
|
Matthew Brown
|
141bfd313f
|
Improve handling of assignments in arrays
|
2019-12-22 12:36:16 +00:00 |
|
Matthew Brown
|
8bd68608fa
|
Fix message
|
2019-12-22 11:08:47 +00:00 |
|
Matthew Brown
|
4c8730c5a3
|
Improve handling of unset array, ensuring that keys don’t persevere
|
2019-12-22 01:42:39 +00:00 |
|
Matthew Brown
|
946b4f73e6
|
Fix #2493 - don’t crash when provided function doesn’t exist
|
2019-12-21 00:34:31 +00:00 |
|
Matthew Brown
|
a4191171bf
|
Fix #2483 - treat intersecting PHPDocs from interfaces better
|
2019-12-20 01:42:57 +00:00 |
|
Matthew Brown
|
cc3df7d6be
|
Remove errant comma
|
2019-12-18 23:50:57 +00:00 |
|
Matthew Brown
|
af28d650f3
|
Fix #2408 - existing offsets checked with isset should be valid
|
2019-12-18 23:48:25 +00:00 |
|
Matthew Brown
|
9d8ca08fb9
|
Fix #2479 - analyse undefined function arguments too
|
2019-12-18 16:37:48 +00:00 |
|
Brown
|
e551b24843
|
Classes that just reference themselves aren’t used
|
2019-12-16 11:46:10 -05:00 |
|
Matthew Brown
|
bf67c036aa
|
Fix #2474 - treat free-standing binaryops as ifs instead
|
2019-12-16 08:32:00 -05:00 |
|
Matthew Brown
|
090ad90de3
|
Fix build issues
|
2019-12-15 13:28:38 -05:00 |
|
Matthew Brown
|
72f3c306d7
|
Fix #2471 - don’t erroneously template class-strings
|
2019-12-15 13:23:04 -05:00 |
|
Matthew Brown
|
ce2e5b27c0
|
Fix #2470 - only parameterise constructors according to inherited params
|
2019-12-14 11:38:09 -05:00 |
|
Matthew Brown
|
c7a3ba9e4a
|
Refine callable type
|
2019-12-14 10:47:20 -05:00 |
|
Brown
|
2469f04715
|
Improve reconciliation of arrays with constant offsets
|
2019-12-13 17:17:14 -05:00 |
|
Brown
|
6d02aa86e8
|
Reconcile string emptiness a bit better
|
2019-12-13 15:51:54 -05:00 |
|
Matthew Brown
|
ca5f8fabdc
|
Fix #2464 - null coalesce shouldn’t allow undefined vars
|
2019-12-13 08:06:40 -05:00 |
|
Matthew Brown
|
6ff312fe13
|
Fix test
|
2019-12-12 11:43:03 -05:00 |
|
Matthew Brown
|
1df77a9f43
|
Only mark vars as reconcilable if they can be memoized
|
2019-12-12 11:24:47 -05:00 |
|
Matthew Brown
|
f45014d403
|
Fix #2460 - allow assertions on immutable method calls
|
2019-12-12 09:32:33 -05:00 |
|
Matthew Brown
|
8f25183784
|
Fix #2459 - don’t add assertions to parent context unnecessarily
|
2019-12-12 00:37:00 -05:00 |
|
Brown
|
05783eb616
|
Find issues with impossible property values
|
2019-12-11 17:08:02 -05:00 |
|
Brown
|
d2b99cbe77
|
Add possibly defined vars in binary op analysis
|
2019-12-11 13:09:27 -05:00 |
|
Brown
|
4b715cdbff
|
Fix #2456 - ignore UnusedFunctionCall when function asserts
|
2019-12-11 10:13:22 -05:00 |
|
Brown
|
b3cf9d3958
|
Catch circular references in constants
Fixes #2453
|
2019-12-10 16:16:44 -05:00 |
|
Brown
|
20049eb0b5
|
Fix #2437 - don’t worry about mixed templated param types
|
2019-12-10 14:58:26 -05:00 |
|
Brown
|
74de32fefe
|
Allow multiple @psalm-assert annotations for a given variable
|
2019-12-09 17:21:58 -05:00 |
|
Matthew Brown
|
e3d108ebd9
|
Fix #2439 - fix templating of class-string<T>::returnsStatic
|
2019-12-08 21:12:25 -05:00 |
|
Matthew Brown
|
69e6624b16
|
Fix #2436 - fix templating of property types inside templated functions
|
2019-12-08 19:25:40 -05:00 |
|
Matthew Brown
|
02fbf12337
|
Only warn about clauses in the currently-scanned conditional
|
2019-12-08 16:35:56 -05:00 |
|