Matt Brown
445b128a50
Fix recursion in static calls too
2018-01-24 13:26:24 -05:00
Matt Brown
72a4f148ff
Prevent infinite loops when analysing private functions that call each other
2018-01-24 13:11:23 -05:00
Matthew Brown
78e34c0548
Ignore nonexistent static class constants
2018-01-24 00:17:20 -05:00
Matthew Brown
b06cfd025a
Allow continue inside case statement as alias for break
...
Fixes #464
2018-01-24 00:01:08 -05:00
Matt Brown
dea5d92e9b
Add support for static::class
2018-01-23 15:46:14 -05:00
Matt Brown
c0fda0ef1e
Allow instanceof static checks
2018-01-23 14:46:46 -05:00
Matt Brown
abf561bb7d
Improve Psalter return type additions
2018-01-23 12:03:18 -05:00
Matt Brown
e58e824af3
Make sure replacements only happen when called for
2018-01-22 13:54:32 -05:00
Matthew Brown
e8487e86f0
Make sure else/elseif roots are at the if declaration
2018-01-21 22:05:57 -05:00
Matthew Brown
68b00ea49a
Add automatic fix for PossiblyUndefinedVariable
2018-01-21 16:24:20 -05:00
Matthew Brown
bc9761f6c9
Create Codebase out from ProjectChecker
2018-01-21 13:45:33 -05:00
Matthew Brown
e05a7c00cc
Break FileScanner out from FileChecker
2018-01-21 12:44:46 -05:00
Matthew Brown
67ef894ecc
Add extra trait test
2018-01-21 00:32:45 -05:00
Matthew Brown
799aef628e
Fix type assignment checks
2018-01-20 11:48:16 -05:00
Matthew Brown
5200ffa214
Do not crash on intersection type method lookup
2018-01-20 01:04:15 -05:00
Matt Brown
4b4e09277c
Fix #450 - add checks for duplicate array keys
...
And fix the embarassing errors in tests
2018-01-18 17:16:50 -05:00
Scott
2bab66855b
Specify delimiter in preg_quote
...
```
PHP Warning: preg_match(): Unknown modifier 't' in /home/scott/project-redacted/vendor/vimeo/psalm/src/Psalm/Checker/Statements/Block/IfChecker.php on line 166
```
2018-01-17 18:15:13 -05:00
Matt Brown
a253ca68bc
Allow array_filter to inspect closure bodies
2018-01-17 16:07:46 -05:00
Matt Brown
2212d7c032
Reinstate $this type after parent call
...
Fixes #444
2018-01-17 11:00:58 -05:00
Matthew Brown
bd6e4a09bd
Refactor to break up too-large-files
2018-01-14 12:09:40 -05:00
Matthew Brown
e402ae978a
Fix Array_ items nullability
2018-01-13 18:33:32 -05:00
Matthew Brown
f3bfb089ad
Don’t investigate property mutations if they’re not visible
2018-01-13 01:52:46 -05:00
Matthew Brown
95553ffc0e
Fix by ref method location
2018-01-13 01:25:13 -05:00
Matthew Brown
5b45909d6f
Use better method for determining by-reference status of functions
2018-01-13 01:15:00 -05:00
Matthew Brown
5d9ebd06d6
Don’t check classes after extension_loaded call
2018-01-12 23:47:36 -05:00
Matthew Brown
573260b16d
Don’t warn about null array access if we’re ignoring null issues
2018-01-12 18:04:11 -05:00
Matt Brown
21eafd8bfc
Fix #352 with a mixed copout if the use is passed by reference
2018-01-12 12:33:26 -05:00
Matthew Brown
7fa541e39b
Allow reference-returning functions to be passed as arguments of byref functions
2018-01-11 23:18:13 -05:00
Matt Brown
4ea1eb3e2c
Fix #436 - get the right location for stubbed functions before analysing their calls
2018-01-11 17:39:12 -05:00
Matthew Brown
fb9f20f4b8
Find unused properties with dead code checks
...
Fixes #424
2018-01-10 23:29:18 -05:00
Matt Brown
72848477c2
Add all Possibly* issues to more lenient config
...
And add granularity to InvalidPropertyAssignment* issues
2018-01-10 10:56:43 -05:00
Matt Brown
27e47365e3
Fix #422 - be better about checking isset call variables
2018-01-09 19:33:39 -05:00
Matt Brown
3b5ddb8dc2
Reduce use of __toString and remove profiling
2018-01-09 15:44:31 -05:00
Matt Brown
edde8930af
Speed up Psalm by caching result of Union::getId
2018-01-09 15:05:48 -05:00
Matt Brown
916ae930e2
Use properly-cased version of class name
2018-01-09 10:49:29 -05:00
Matthew Brown
3f3c1380ee
Fix erroneous error about no parent when analysing trait call
2018-01-09 09:22:23 -05:00
Matthew Brown
de269f969b
Void return types shouldn’t magically become null ones
2018-01-09 00:29:43 -05:00
Matthew Brown
c28b804633
Fix potential filtering of non-zero keys
2018-01-08 01:38:25 -05:00
Matthew Brown
8ababf1537
Allow assertions on mixed vars
2018-01-08 00:14:02 -05:00
Matthew Brown
bb41b92789
Filter forumulae to remove assertions on unknowable things
2018-01-07 23:59:25 -05:00
Matt Brown
45eaea1ed9
Flesh out callmap type
2018-01-05 11:50:27 -05:00
Matthew Brown
8a8253ac4c
Fix indentation
2018-01-02 21:23:48 -05:00
Matt Brown
13931766ce
Add PHP 7.2-compatibility for Psalm development
2018-01-02 19:55:07 -05:00
Matt Brown
e6aae2f2e2
Fix issue assigning string-typed properties without a string cast
2018-01-02 18:01:59 -05:00
Matthew Brown
81cfe09fae
Improve reporting of classlike locations in docblocks
2018-01-01 20:04:03 -05:00
Matthew Brown
a1247aeb60
Remove unused var
2018-01-01 12:13:32 -05:00
Matthew Brown
7418d6685f
Add PossibyInvalidFunctionCall, emitted when function call may not be valid
2018-01-01 12:00:02 -05:00
Matthew Brown
290cf396d4
Remove unnecessary suppression
2017-12-31 13:12:19 -05:00
Matthew Brown
2d24f9e99d
Don’t complain about unused variables when they’re passed by reference
2017-12-30 09:30:02 -05:00
Matthew Brown
8efc939a5f
Move Psalm execution code into PHP file that Psalm can analyse
2017-12-29 17:02:56 -05:00