Matthew Brown
2d6cf8a0b0
Get bindable params earlier, before replacing with extended ones
2020-02-27 23:10:26 -05:00
Matthew Brown
abb3800d20
Fix bad template replacement
2020-02-27 23:00:40 -05:00
Matthew Brown
39d6800531
Remove default
2020-02-27 21:54:19 -05:00
Matthew Brown
c565afde64
Fix method call after method_exists check
2020-02-27 21:46:58 -05:00
Matthew Brown
1f19aed31b
Fix support for replacing mocked types in own classes
2020-02-27 21:36:03 -05:00
Brown
748abaf02a
Add params required for 7.1
2020-02-27 18:56:33 -05:00
Philip Hofstetter
d315822bfa
make skipping of checks after invalid includes configurable
...
as suggested in the PR it's best to make the setting configurable.
In order not to break existing installations, we default to keeping the
old behaviour, but in a later version of psalm, we might change the
default.
2020-02-27 18:49:23 -05:00
Philip Hofstetter
f2277ebb6d
don't disable checks when includes can't be resolved
...
Any unresolvable include (even suppressed ones) would lead to some
subsequent tests being disabled as a side-effect.
this fixes #2817
2020-02-27 18:49:23 -05:00
Brown
35c1670602
Fix #2875 - treat intersections more similarly than before
2020-02-27 18:42:15 -05:00
Matthew Brown
eeb2858b30
Add additional fix for #2784
2020-02-27 08:56:39 -05:00
Brown
ea0a670230
Flesh out class constants in function call return type
...
Fixes #2884
2020-02-26 17:28:44 -05:00
kolja
f189b25b99
Fixed stub files with absolute paths not being loaded.
2020-02-26 17:13:40 -05:00
Brown
8a7feb5948
Add fallthrough comment
2020-02-26 17:07:21 -05:00
Brown
548d9fca2c
Add references to property-defining classes
2020-02-26 16:49:14 -05:00
Brown
f1dbd0863a
Allow magic methods named "as"
...
Fixes #2881
2020-02-26 13:50:45 -05:00
Matthew Brown
9163878174
Switch exit codes
2020-02-26 09:33:07 -05:00
Matthew Brown
746f8d4973
Prevent returning named object where template return assumed
2020-02-24 23:14:16 -05:00
kolja
215f1c381e
Moved code to get memory_limit in bytes to command functions since that is where it is used.
2020-02-24 21:19:16 -05:00
kolja
99e5ded20c
Fixed code style issues.
2020-02-24 21:19:16 -05:00
kolja
326d1cb025
Satisfied psalm with new test.
2020-02-24 21:19:16 -05:00
kolja
14646305a6
Added function to read memory_limit ini setting always in bytes.
2020-02-24 21:19:16 -05:00
Brown
712806b452
Fix #2874 - understand doubly-inherited interface templates
2020-02-24 17:58:44 -05:00
Brown
234a6ba4b4
Suppress null check
2020-02-24 16:22:50 -05:00
Brown
ff7fbcda99
Fix #2871 - prevent keyed arrays from being interpreted as callables
2020-02-24 16:19:33 -05:00
Brown
0a8bb32115
Fix #2866 - prevent use of impure __toString via concatenation in pure contexts
2020-02-24 14:50:34 -05:00
Brown
3f226e2e86
Fix #2867 - treat echo as impure
2020-02-24 14:38:05 -05:00
Matthew Brown
f1a9b73a78
Fix message
2020-02-23 18:24:43 -05:00
Matthew Brown
ed4f4e35b8
Fix null checks
2020-02-23 18:20:59 -05:00
Matthew Brown
41e076e0ee
Fix bad
2020-02-23 18:19:53 -05:00
Matthew Brown
618ae77846
Prevent implicit __toString method calls in a pure context
2020-02-23 18:18:25 -05:00
Matthew Brown
1abece4f7c
Use more accurate types
2020-02-23 17:03:27 -05:00
Matthew Brown
d3f8e80c4a
Move reference map generation into separate file
2020-02-23 14:53:31 -05:00
Matthew Brown
b01bc9ab12
Fix union-of-mixed array key creation
2020-02-22 21:13:14 -05:00
Matthew Brown
4dae5b3190
Prevent more mixed array keys
2020-02-22 20:52:39 -05:00
Matthew Brown
97a849b1be
Fix #1311 - narrow scalar properly, exploding constituent types
2020-02-22 20:25:13 -05:00
Matthew Brown
2635e57cde
Negation of numeric on array-key is fine too
2020-02-22 12:53:27 -05:00
Matthew Brown
6adf6a09f0
Explode array-key into int|numeric-string after test
2020-02-22 12:36:37 -05:00
Matthew Brown
ae1360a52f
An array-key can be numeric
2020-02-22 12:34:27 -05:00
Matthew Brown
27fd76649c
Prevent more array<mixed, ...> construction
2020-02-22 12:20:03 -05:00
Matthew Brown
6ad3d039df
Prevent more array<mixed,...> creation
2020-02-22 12:12:40 -05:00
Matthew Brown
952045e2ba
Fix return type checks
2020-02-22 11:28:24 -05:00
Matthew Brown
202fb7026a
Convert explicit array<mixed, ...> to array<array-key, ...>
2020-02-22 11:04:58 -05:00
Matthew Brown
1a3129b0e0
Fix test condition
2020-02-22 10:53:30 -05:00
Matthew Brown
1c218c020e
Fix #1684 - detect error in assertion on return type of direct call
2020-02-22 10:41:57 -05:00
Matthew Brown
a706f4d722
Fix #2242 - warn when using mutable dependencies
2020-02-22 10:04:46 -05:00
Matthew Brown
3cc4c2b37e
Fix #2721 - only warn about deprecated classes exactly where they are used
2020-02-22 01:12:19 -05:00
Matthew Brown
db17c85dd6
Fix #2787 - make accessing undefined objectlike key an error
2020-02-22 00:29:59 -05:00
Matthew Brown
9f13341ef9
Fix #2827 - detect literal numeric values
2020-02-22 00:16:15 -05:00
Matthew Brown
4707b21227
Fix tests
2020-02-21 22:15:25 -05:00
Brown
7d99a15072
Fix #2805 - forbid passing in mutable class to mutation-free context
2020-02-21 18:25:35 -05:00
Brown
f4485cc529
Fix #2847 - use fully-qualified function name
2020-02-21 16:44:31 -05:00
Brown
ae08552f40
Add null check
2020-02-21 16:04:18 -05:00
Brown
443558ca49
Fix #2844 - resolve constant offset references
2020-02-21 15:56:30 -05:00
Brown
292a2359b3
Add slash
2020-02-21 15:44:26 -05:00
Brown
b51863fc9b
Fix #2848 - allow casting templated types
2020-02-21 15:17:35 -05:00
Brown
f44a0f9f4c
Fix #2849 - allow object-like templated array comparison
2020-02-21 15:13:07 -05:00
Matthew Brown
a2fbfc1c9e
Fix a couple of bugs
2020-02-21 01:32:22 -05:00
Matthew Brown
d8b6467b1a
Fix #2852 - no duplicatearraykey warning for non string-keyed arrays
2020-02-21 01:27:42 -05:00
Matthew Brown
9bdca3c706
Forbid array<mixed, ...>
2020-02-21 01:26:51 -05:00
Matthew Brown
af2ea1732b
Fix #2857 - use correct location for byref vars
2020-02-21 00:42:52 -05:00
Matthew Brown
e5c262d7dc
Add docblock_start and docblock_end properties to CodeLocation
2020-02-20 22:56:03 -05:00
Matthew Brown
31399b9fd5
Fix dumb errors
2020-02-20 22:48:29 -05:00
Matthew Brown
3b2c9bbce5
Use simple (array) cast
2020-02-20 22:45:14 -05:00
Jared Broughton
86472de160
Correct return type of array_map closure
2020-02-20 22:45:14 -05:00
Jared Broughton
236e4d5e28
Prevent TypeError when generating XML reports
...
The XML generator currently in use (LSS\Array2XML) expects a nested array structure. However, due to the recent introduction of the IssueData type to replace what was previously shaped arrays, Array2XML was getting an array of objects instead. It then proceeds to crash from (eventually) passing null to DOMNode->appendChild(). This commit maps the IssueData array back into the array of shaped arrays that Array2XML knew and loved.
2020-02-20 22:45:14 -05:00
Teemu Koskinen
1801420305
Most gd functions that output an image accept either a filename or a stream resource as the optional second parameter
...
The only exception is imagexbm, which only accepts a filename (and which is optional)
2020-02-20 13:47:47 -05:00
Matthew Brown
2e4154d76e
Add better defaults and documentation
2020-02-18 20:30:37 -05:00
Matthew Brown
c9494c43a3
Hide mixed issues if totallyTyped="false"
2020-02-18 20:08:09 -05:00
Matthew Brown
23b9331f6d
Hide mixed errors if your error level is >= 3
2020-02-18 19:57:38 -05:00
Matthew Brown
aea33824e6
Fix #1555 - allow phantom class constants
2020-02-18 19:46:05 -05:00
Brown
520b646ef6
Add suppressMixedIssues config flag to hide mixed issues
2020-02-18 17:23:48 -05:00
Matthew Brown
87d8947ff3
Fix phpcs
2020-02-18 15:08:32 -05:00
Tyson Andre
eadf2f8492
Improve the reported error when a worker crashes
2020-02-18 15:08:32 -05:00
Brown
0e23fab5d2
Detect bugs similar to that which caused #2832
2020-02-18 12:53:54 -05:00
Brown
9230b425e7
Ors can still be created directly from conditions
2020-02-18 12:12:34 -05:00
Brown
6e8088776d
Use better return type for SimpleXMLElement::offsetGet
2020-02-18 10:58:56 -05:00
Brown
38cccb8aaf
Fix #2831 - use correct name for mapping
2020-02-18 10:39:24 -05:00
Matthew Brown
201d54f232
Convert to string before comparison
2020-02-18 09:40:21 -05:00
Matthew Brown
9866b292a4
Suppress issue that appears in Windows
2020-02-17 23:19:47 -05:00
Matthew Brown
320f3ec863
Update level config name
2020-02-17 22:43:13 -05:00
Matthew Brown
a55686b6e4
Move to more appropriate location
2020-02-17 22:21:04 -05:00
Matthew Brown
aab8eed219
Fix Phar-scoped issue checks
2020-02-17 22:07:08 -05:00
Matthew Brown
0c2b10709e
If no level or totallyTyped is given, use level 2
2020-02-17 22:06:55 -05:00
Matthew Brown
f49c896f94
Allow totallyTyped to control level
2020-02-17 22:06:46 -05:00
Matthew Brown
e48d2aef9c
Improve handling when threads cannot be used
2020-02-17 22:06:36 -05:00
Matthew Brown
a2c2a55ae6
Update documentation
2020-02-17 22:06:28 -05:00
Matthew Brown
ced092874a
Make config generation smarter
2020-02-17 22:05:58 -05:00
Matthew Brown
00afcda5e0
Fix #2824 - allow unpacking of non-arrays with template params
2020-02-17 19:54:11 -05:00
Matthew Brown
3561c7d5dc
Make sure yield from expressions counted as used
...
Fixes #2823
2020-02-17 19:21:04 -05:00
Matthew Brown
cf977c3542
Don’t convert constant descriptions to lowercase
2020-02-17 18:19:33 -05:00
Matthew Brown
8dd49b1cbf
Fix lowercase-string to constant string coercion
2020-02-17 17:58:36 -05:00
Matthew Brown
99a97f4085
Update issue levels
2020-02-17 16:32:16 -05:00
Matthew Brown
a33eac440b
Add stdClass reference to file storage for (object) cast
...
Fixes #2826
2020-02-17 11:33:09 -05:00
Matthew Brown
01d3d9270f
Change constant name and meaning
2020-02-17 00:04:46 -05:00
Matthew Brown
39afe9b4ff
Add levels to every issue
2020-02-16 20:55:09 -05:00
Matthew Brown
d281a6796b
Fix lagging comma
2020-02-16 18:26:24 -05:00
Matthew Brown
196a0a5c4e
Replace issue data array with object
2020-02-16 18:24:40 -05:00
Matthew Brown
d3bfb96431
Fix #2808 - improve yield type discernment
2020-02-15 10:47:07 -05:00
Matthew Brown
bacc7f254c
Remove unnecessary extension check
2020-02-15 10:42:29 -05:00
Matthew Brown
d0d0c019cd
Fix aliasing
2020-02-14 22:39:07 -05:00