Brown
|
00be4c2071
|
Mark var as unused
|
2019-11-13 15:06:22 -05:00 |
|
Brown
|
fe5e675881
|
Improve unvariable removal
|
2019-11-13 15:05:21 -05:00 |
|
Brown
|
c9e7dcfa92
|
Fix false positive UnusedVariable
|
2019-11-13 14:32:27 -05:00 |
|
Brown
|
7516b7b0cf
|
Fix #2336 - detect used variable in mixed array offset
|
2019-11-13 13:38:34 -05:00 |
|
Brown
|
4be3180512
|
Add more impure functions
|
2019-11-13 13:22:04 -05:00 |
|
Brown
|
7b719915f5
|
Fix style things
|
2019-11-12 10:21:27 -05:00 |
|
Brown
|
25b60eb944
|
Fix #2325 - ignore unused vars with $_ prefix
|
2019-11-12 10:20:34 -05:00 |
|
Brown
|
7f5af741f7
|
Improve assertion calculation on mixed vars
|
2019-11-12 10:12:07 -05:00 |
|
Matthew Brown
|
7012bedf4e
|
Fix #2326 - substitute static more responsibly in generic objects
|
2019-11-12 08:01:22 -05:00 |
|
Matthew Brown
|
b1aae0d1a5
|
Fix more try/catch stuff
|
2019-11-12 00:52:10 -05:00 |
|
Brown
|
51557c44ea
|
Evaluate finally blocks at the end of every catch
|
2019-11-11 18:38:33 -05:00 |
|
Brown
|
da03902f76
|
Fix handling of do... while vars defined in try
|
2019-11-11 18:24:43 -05:00 |
|
Brown
|
f22266b2ff
|
Improve reasoning around try/catch possibly-undefined vars
|
2019-11-11 17:42:46 -05:00 |
|
Brown
|
1a54aa5752
|
Fix test
|
2019-11-11 17:07:26 -05:00 |
|
Brown
|
cd2f8e7d65
|
Fix memory corruption
|
2019-11-11 16:56:44 -05:00 |
|
Brown
|
935bad9d2c
|
Fix erroneous unused variable
|
2019-11-11 16:52:55 -05:00 |
|
Brown
|
d15989c975
|
Allow catch to assume no try statements completed
|
2019-11-11 15:17:53 -05:00 |
|
Brown
|
658f86c277
|
Fix #2324 - avoid fatal error on self string in callable
|
2019-11-11 14:59:05 -05:00 |
|
Brown
|
fbd1cf0a71
|
Fix #2322 - don’t update outer context if elseif has no leaving statements
|
2019-11-11 11:46:27 -05:00 |
|
Brown
|
96586f16c0
|
Fix phpcs issues
|
2019-11-11 10:11:42 -05:00 |
|
Brown
|
af5f83602e
|
Break out more specific possibly defined offset errors
|
2019-11-11 09:59:56 -05:00 |
|
Brown
|
46d163996e
|
Fix #2321 - prevent inferred template coercion
|
2019-11-11 09:14:34 -05:00 |
|
Bruce Weirdan
|
79acbadfad
|
Added InvalidParent issue (#2320)
Refs vimeo/psalm#2304
|
2019-11-11 00:21:43 -05:00 |
|
Matthew Brown
|
2fc7f5fdf7
|
Fix #1830 - infer key type after array_key_exists check
|
2019-11-10 14:23:53 -05:00 |
|
Matthew Brown
|
94d4b876ba
|
Fix #2177 - mark variables in try block as potentially undefined
|
2019-11-09 12:25:30 -05:00 |
|
Matthew Brown
|
62a3598ed3
|
Fix #2197 - prevent false positive from try in while
|
2019-11-09 11:01:48 -05:00 |
|
Matthew Brown
|
7028a64440
|
Fix #2204 - fix try/catch false-positive
|
2019-11-09 10:39:21 -05:00 |
|
Brown
|
4e5af3490a
|
Fix #2315 - allow Traversable->iterable templated casting
|
2019-11-08 13:11:01 -05:00 |
|
Brown
|
895737d8be
|
Fix style
|
2019-11-08 12:49:53 -05:00 |
|
Brown
|
ac6256e645
|
Fix #2312, improve understanding of template replacement
|
2019-11-08 11:56:41 -05:00 |
|
Joram Schrijver
|
c97ba8f713
|
Implement type-checking and forbidding for print (#2314)
* Add type-checking for print
* Allow print to be forbidden
|
2019-11-08 07:01:34 -05:00 |
|
Brown
|
3d7b34e7f6
|
Fix #2273 - ensure all template params are bound
|
2019-11-07 11:03:41 -05:00 |
|
Brown
|
86b6801066
|
Fix #2294 - detect invalid callble due to __invoke
|
2019-11-07 09:39:24 -05:00 |
|
Brown
|
64996f464e
|
Prevent empty array workaround to #2308
|
2019-11-06 16:59:08 -05:00 |
|
Brown
|
06b64a4a01
|
Detect erroneous use of empty check on bools
|
2019-11-06 16:14:46 -05:00 |
|
Brown
|
3e98c800ec
|
Fix #2309 - prevent closure-inferred generic template params overwriting parent ones
|
2019-11-06 13:13:02 -05:00 |
|
Brown
|
a8ed6ba9c4
|
Fix #2308 - prevent specialisation from bound params
|
2019-11-06 11:20:51 -05:00 |
|
Matthew Brown
|
d7e435c352
|
Add slashes
|
2019-11-05 19:08:16 -05:00 |
|
Matthew Brown
|
050045209f
|
Only allow string offset assignment when offset is integer
|
2019-11-05 19:05:43 -05:00 |
|
Matthew Brown
|
cbaf050bd2
|
Fix #2307 - allow setting of array string offset
|
2019-11-05 19:03:59 -05:00 |
|
Matthew Brown
|
b81a2d3852
|
Fix #2306 - allow nullable templated params to be compared to null
|
2019-11-05 18:37:46 -05:00 |
|
Brown
|
818f0c0985
|
Flesh out list types
Fixes #2300
|
2019-11-05 13:08:12 -05:00 |
|
Brown
|
5c8cb37b0f
|
Fix #2301 - do a naive projection of template params
|
2019-11-05 12:59:56 -05:00 |
|
Brown
|
d8ae33957d
|
Fix strtolower ref
|
2019-11-04 15:14:07 -05:00 |
|
Brown
|
1f42843d42
|
Fix #2296 - use case insensitive closure ids
|
2019-11-04 14:48:02 -05:00 |
|
Brown
|
4bf632bc23
|
Only extend covariant flag to vars without template param
|
2019-11-04 11:12:59 -05:00 |
|
Brown
|
e7330afe8b
|
Fix #2295 - support special case of array_shift on known offset type
|
2019-11-04 09:21:13 -05:00 |
|
Matthew Brown
|
8dffd65a59
|
Preserve possible-undefinedness
|
2019-11-04 07:12:22 -05:00 |
|
Matthew Brown
|
5faebe2674
|
Fix templated assertion handling for static methods
|
2019-11-04 05:31:45 -05:00 |
|
Matthew Brown
|
8f421dc0bb
|
Refactor template calculation out from Psalm\Type\Union
|
2019-11-03 21:27:40 -05:00 |
|
Matthew Brown
|
7c4c78f67e
|
Fix #2271 - treat array_replace same as array_merge
|
2019-11-02 10:15:03 +01:00 |
|
Pavel Batečko
|
b229ac875d
|
Improve return types of explode() with limit (#2286)
|
2019-11-02 10:10:38 +01:00 |
|
Matthew Brown
|
a82e35a59f
|
Fix #2291 - extended covariant template param types should be treated as covariant
|
2019-11-01 18:25:07 +01:00 |
|
Matthew Brown
|
050eb82f04
|
Fix #2290 - detect call on void type
|
2019-11-01 13:05:28 +00:00 |
|
Matthew Brown
|
4845bbbd49
|
Improve solution to extended type juggling
|
2019-10-29 19:30:19 +00:00 |
|
Matthew Brown
|
8d7cdeb8ec
|
Fix #2275 - allow extended templated types to bypass mixed type coercion rules
|
2019-10-29 10:07:34 +00:00 |
|
Matthew Brown
|
0ac5c32f2f
|
Fix #2277 - scan psalm-assert types always
|
2019-10-25 23:39:33 +02:00 |
|
Brown
|
8876499ddd
|
Fix #2252 - allow destructuring of ArrayAccess objects
|
2019-10-22 11:17:42 -04:00 |
|
Brown
|
353cf2351e
|
Fix #2259 - if error suppression is use, list destructuring values will be nullable
|
2019-10-22 10:40:37 -04:00 |
|
Mikko Pesari
|
e82d3c438d
|
Fix wrong annotations in ext-ds method stubs (#2263)
* Fix wrong annotation for class implementing an interface
* Fix unrecognised annotations
|
2019-10-22 09:33:23 -04:00 |
|
Joram Schrijver
|
39b25f9008
|
Fix ArrayIterator::{uasort,uksort} parameter type (#2254)
|
2019-10-22 08:45:25 -04:00 |
|
Mikko Pesari
|
fc16eb5e92
|
Fix Ds\Set method stubs (#2261)
* Fix constructor parameters
* Add missing @param name
* Add missing implements
|
2019-10-22 06:12:35 -04:00 |
|
Brad Kent
|
6e6eea010b
|
callMap updates: unregister_tick_function, ReflectionClass::getInterfaceNames, ReflectionObject::getInterfaceNames (#2258)
|
2019-10-21 14:29:48 -04:00 |
|
Mikko Pesari
|
80665850db
|
Add method stubs for Ds\Set (#2255)
* Fix typo
* Add method stubs for Ds\Set
|
2019-10-21 10:06:26 -04:00 |
|
Matthew Brown
|
233977a764
|
Fix undefined array offset when too few iterator params supplied
|
2019-10-21 07:13:33 -04:00 |
|
Tyson Andre
|
94636476d2
|
Fix checking if union type with mixed is nullable (#2253)
Fixes #2249
|
2019-10-20 17:06:59 -04:00 |
|
Matthew Brown
|
05ace25817
|
Fix #2246 - fix return type of array_slice to be a list
|
2019-10-20 16:19:01 -04:00 |
|
Matthew Brown
|
b476761109
|
Fix #2235 - improve behaviour of array_merge on lists
|
2019-10-20 15:47:00 -04:00 |
|
Matthew Brown
|
4aeb28aceb
|
Fix #2244 - correctly check do while expression before use
|
2019-10-20 14:18:30 -04:00 |
|
Matthew Brown
|
3bb0016434
|
Fix #2251 - add support for yielding from lists
|
2019-10-20 12:09:04 -04:00 |
|
Matthew Brown
|
22e35a7233
|
Improve message for mixed method call
|
2019-10-20 11:13:23 -04:00 |
|
Matthew Brown
|
0a35c9cd6a
|
Remove unnecessary computation
|
2019-10-19 23:03:59 -04:00 |
|
Matthew Brown
|
5910a362ea
|
Improve report output of taint analysis
|
2019-10-19 17:59:10 -04:00 |
|
Brown
|
8978e5c7f1
|
Add sink for print_r
|
2019-10-18 15:28:15 -04:00 |
|
Brown
|
2be489c527
|
Fix regression when identifying clauses in error
|
2019-10-18 15:06:37 -04:00 |
|
Brown
|
89752b8574
|
Support ext-ds and fix offset count
|
2019-10-18 11:35:24 -04:00 |
|
Brown
|
dda68228f3
|
Fix #2247 - don’t crash when yielding from class with too many template params
|
2019-10-18 11:01:16 -04:00 |
|
Matthew Brown
|
e8618371fb
|
Refine isset checks
|
2019-10-17 01:09:21 -04:00 |
|
Matthew Brown
|
54a31f8cff
|
Be more scrupulous about mixed vars
|
2019-10-17 00:29:51 -04:00 |
|
Matthew Brown
|
29902c8b99
|
Fix #2237 - suppress reconciling issues when inherited clauses couldn’t be resolved into types
|
2019-10-16 21:55:11 -04:00 |
|
Brown
|
d52d9b6552
|
Fix #2234 - treat continuous assertions on interfaces as redundant
|
2019-10-16 18:43:03 -04:00 |
|
Matthew Brown
|
9115ffd237
|
Fix #2215 - refine closure type if it doesn’t clash
|
2019-10-15 20:34:41 -04:00 |
|
Brown
|
b29227aaf6
|
Allow taints to be removed via annotation
|
2019-10-15 16:25:27 -04:00 |
|
Brown
|
22a12444df
|
Fix #2220 - detect destructuring of non-array
|
2019-10-15 13:55:30 -04:00 |
|
Brown
|
aa5d82d30d
|
Fix #2228 - load functions defined on traits included in a class
|
2019-10-15 12:09:08 -04:00 |
|
Brown
|
5e649f684c
|
Fix erroneous return type resolution
|
2019-10-14 17:10:30 -04:00 |
|
Matthew Brown
|
3dc96edf08
|
Update file references again
|
2019-10-13 23:37:15 -04:00 |
|
Matthew Brown
|
477fa8cba8
|
Set file references before they’re used
|
2019-10-13 23:30:01 -04:00 |
|
Matthew Brown
|
a0d484a314
|
Reduce duplicate calls
|
2019-10-13 22:05:16 -04:00 |
|
Matthew Brown
|
8c6b234c2c
|
Improve speed of taint analysis
|
2019-10-13 20:10:31 -04:00 |
|
Matthew Brown
|
e1e2ff3e57
|
Improve shuffling
|
2019-10-13 20:09:50 -04:00 |
|
Matthew Brown
|
7e76d3386d
|
Fix phpcs issues
|
2019-10-13 12:38:16 -04:00 |
|
Matthew Brown
|
3c00f3d029
|
Limit taint file re-analysis
|
2019-10-13 12:34:40 -04:00 |
|
Matthew Brown
|
cd8534fb6c
|
Shuffle file analysis order for more even threaded workload distribution
|
2019-10-13 12:33:18 -04:00 |
|
Matthew Brown
|
d0a9bf24f8
|
Void-returning functions are going to be impure
|
2019-10-13 09:51:25 -04:00 |
|
2e3s
|
a658566429
|
Add impure functions for mcrypt and iterator_apply (#2227)
|
2019-10-13 09:43:25 -04:00 |
|
Matthew Brown
|
7e2d00d6ed
|
Allow taints to be added to root array types
|
2019-10-12 12:23:40 -04:00 |
|
Matthew Brown
|
e5623e9257
|
Fix function call
|
2019-10-11 23:33:36 -04:00 |
|
Matthew Brown
|
4478d31593
|
Taint arrays in creation
|
2019-10-11 23:28:17 -04:00 |
|
Matthew Brown
|
5918278af3
|
Fix cache growth thanks to array_recursive
|
2019-10-11 20:17:07 -04:00 |
|
Brown
|
09cf864d9b
|
Mark preg_replace_callback as sometimes-pure
|
2019-10-11 13:54:33 -04:00 |
|
Brown
|
3f837a3493
|
Fix #2192 - allow static return value on templated object
|
2019-10-11 12:02:41 -04:00 |
|
Matthew Brown
|
7857b07f91
|
Fix list-could-be-array issue
|
2019-10-11 08:24:35 -04:00 |
|
Matthew Brown
|
1a1b3a10a9
|
Fix #2225 - iterator_to_array can return a list
|
2019-10-10 23:47:11 -04:00 |
|
Matthew Brown
|
c419e0e798
|
Fix #2222 - check for @throws docblock inheritance
|
2019-10-10 22:44:21 -04:00 |
|
Matthew Brown
|
03c39cbe7c
|
Fix #2223 - make sure lists are handled in more places
|
2019-10-10 20:16:43 -04:00 |
|
Brown
|
3658771bff
|
Fix #2221 - variadic args are lists
|
2019-10-10 17:46:20 -04:00 |
|
Brown
|
67b32f463e
|
Support assertions on lists
|
2019-10-10 10:57:43 -04:00 |
|
Brown
|
99c91efbc6
|
Add support for reconciling callable lists
|
2019-10-10 10:34:31 -04:00 |
|
Brown
|
cc9a925e84
|
Allow list to be coerced to callable
|
2019-10-10 10:26:13 -04:00 |
|
Brown
|
50e729a6d1
|
Fix more list issues
|
2019-10-09 13:42:39 -04:00 |
|
Brown
|
e822ec7541
|
Unsetting list elements should turn to an array
|
2019-10-09 12:49:31 -04:00 |
|
Brown
|
54d5a25077
|
Remove known array offsets after altering array
|
2019-10-09 10:36:55 -04:00 |
|
Brown
|
b75720c32b
|
Add more list types
|
2019-10-09 10:04:34 -04:00 |
|
Brown
|
0b0534d41b
|
Add more list annotations to Psalm’s codebase
|
2019-10-09 09:17:43 -04:00 |
|
Matthew Brown
|
10b0be3650
|
Fix explode
|
2019-10-09 07:44:26 -04:00 |
|
Matthew Brown
|
c7600fde10
|
Fix #2217 - interpret callable self return type references properly
|
2019-10-09 07:40:42 -04:00 |
|
Matthew Brown
|
51cfd556d6
|
Add non-empty-list support
|
2019-10-08 22:53:55 -04:00 |
|
Matthew Brown
|
6a07757b9a
|
Fix tests
|
2019-10-08 22:41:23 -04:00 |
|
Matthew Brown
|
d7007c3b76
|
Fix casing
|
2019-10-08 22:25:15 -04:00 |
|
Matthew Brown
|
38de68f507
|
array_values should preserve array non-emptiness
|
2019-10-08 22:22:58 -04:00 |
|
Matthew Brown
|
5cdc3aa6d4
|
Remove tautological statement
|
2019-10-08 21:39:28 -04:00 |
|
Matthew Brown
|
2ae76bbc8e
|
Prohibit objectlike to list
|
2019-10-08 21:38:01 -04:00 |
|
Brown
|
db33efb3e8
|
Fix another bad comma
|
2019-10-08 19:13:04 -04:00 |
|
Brown
|
23fcbec584
|
Add a few more list types
|
2019-10-08 19:06:16 -04:00 |
|
Brown
|
2d4a7fbe3e
|
Fix array fetch analysis offset
|
2019-10-08 19:01:00 -04:00 |
|
Brown
|
573b6bfe67
|
Remove bad comma
|
2019-10-08 18:51:44 -04:00 |
|
Brown
|
16c33d1565
|
Add support for list type
Fixes #2209
|
2019-10-08 18:44:46 -04:00 |
|
Brown
|
5265aee278
|
Process reconciliation more aptly
|
2019-10-08 14:33:06 -04:00 |
|
Brown
|
6b012f8fa6
|
Use smarter type merging when analysing if statements
|
2019-10-08 13:07:28 -04:00 |
|
Guuzen
|
50df2868f2
|
Fix issue #2201 (#2212)
|
2019-10-06 15:28:41 -04:00 |
|
Brown
|
94001aad4a
|
Fix #2208 - handle templated property types appropriately
|
2019-10-04 13:51:36 -04:00 |
|
Jay Klehr
|
27961045a0
|
allowing null as type for mysqli real_connect for host and passwd parameters (#2210)
|
2019-10-04 13:07:28 -04:00 |
|
Brown
|
b0aaede9e1
|
Add support for checking integer array offsets
|
2019-10-04 11:08:08 -04:00 |
|
Matthew Brown
|
d85fbaec09
|
Add stricter checks after first isset
|
2019-10-03 21:34:56 -04:00 |
|
Brown
|
549aee47f1
|
Fix bug asserting array emptiness
|
2019-10-03 15:27:55 -04:00 |
|
bugreportuser
|
d8855282c6
|
Add more impure functions (#2203)
|
2019-10-03 15:01:31 -04:00 |
|
Brown
|
d225374d6d
|
Fix #2156 - do better inference after isset
|
2019-10-01 19:31:08 -04:00 |
|
Brown
|
a81c3067ad
|
Store the whole type
|
2019-10-01 17:09:32 -04:00 |
|
Brown
|
f8f8b633b1
|
Suppress a bunch of PossiblyUndefinedArrayOffset issues
|
2019-10-01 15:44:43 -04:00 |
|
Matthew Brown
|
9f10564184
|
Add another array addition check
|
2019-10-01 09:13:31 -04:00 |
|
Fabien Villepinte
|
e7faf81223
|
Fix the arguments order of rar_entry_get() (#2189)
|
2019-10-01 08:47:56 -04:00 |
|
Matthew Brown
|
95c7b986c2
|
Fix formatting
|
2019-10-01 08:46:37 -04:00 |
|
Matthew Brown
|
2ffdf1bacc
|
Fix undefined numeric offset
|
2019-10-01 08:45:36 -04:00 |
|
Matthew Brown
|
f8a2eae0e2
|
Fix #2186 - use expanded class name for aliased class
|
2019-09-30 22:15:48 -04:00 |
|
Matthew Brown
|
a9d0296252
|
Fix #2182 - allow modification to cloned objects inside
|
2019-09-30 22:07:20 -04:00 |
|
Matthew Brown
|
0f7925e769
|
Fix #2183 - evaluate return after do with break inside
|
2019-09-29 16:12:52 -04:00 |
|
Matthew Brown
|
14adc9b491
|
Fix phpcs
|
2019-09-29 16:04:32 -04:00 |
|
Matthew Brown
|
4ec22cffca
|
Fix #2184 - execute __invoke methods explicitly
|
2019-09-29 16:01:33 -04:00 |
|
Matthew Brown
|
9af8a9ac38
|
Fix #2181 - prevent class template types being wiped by anonymous class use
|
2019-09-27 12:58:32 -04:00 |
|