Matt Brown
c0fda0ef1e
Allow instanceof static checks
2018-01-23 14:46:46 -05:00
Matt Brown
31e57dbdfa
Add generic support for current on array
2018-01-23 14:20:37 -05:00
Matt Brown
abf561bb7d
Improve Psalter return type additions
2018-01-23 12:03:18 -05:00
Matthew Brown
507007a2bf
Add DeprecatedInterface and emit DeprecatedClass in more places
...
Fixes #463
2018-01-23 09:09:43 -05:00
Matthew Brown
fdadcd3a70
Fix implemented interface checks for self/static
2018-01-23 01:32:16 -05:00
Matt Brown
e249c27308
Don’t update return types to null
2018-01-22 18:00:19 -05:00
Matt Brown
e58e824af3
Make sure replacements only happen when called for
2018-01-22 13:54:32 -05:00
Matthew Brown
bfb31bb669
Lowercase folder name
2018-01-22 02:08:06 -05:00
Matthew Brown
2994d1e339
Add tests for reference checks
2018-01-21 23:42:57 -05:00
Matthew Brown
d8a78a7086
Prevent Psalter from running on more than one path at a time
2018-01-21 22:14:29 -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
0fcba8547c
Make the ordering for file manipulations strict as possible
2018-01-21 22:01:02 -05:00
Matthew Brown
dea1d58b2a
Fix #461 - allow multiple replacements at the same location
2018-01-21 21:24:22 -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
f4a9306eee
Add descriptive comments about storage performance
2018-01-21 10:53:17 -05:00
Matthew Brown
9b6b03ff9f
Create Config before ProjectChecker, and remove test-specific code from FileChecker
2018-01-21 10:22:04 -05:00
Matthew Brown
67ef894ecc
Add extra trait test
2018-01-21 00:32:45 -05:00
Matthew Brown
92e43b8fa0
Add a few optimisations
2018-01-20 21:22:33 -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
9f2a0847a4
Fix #453 - catch bad objectlike type when analysing docblock
2018-01-19 16:06:30 -05:00
Matt Brown
6ce4aa19e4
Fix formatting in examples
2018-01-18 17:41:14 -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
Tyson Andre
77b41f4e9f
Bring phpdoc @param
up to date
2018-01-18 16:07:48 -05:00
Matthew Brown
516e7105c1
Add space
2018-01-18 08:35:45 -05:00
medains
76c13fa27f
Ensure static analysis picks up the correct type of bool
2018-01-18 08:35:45 -05:00
medains
3bb9ee1a94
Store and restore STDIN blocking state after processing file list
...
Fixes #443
2018-01-18 08:35:45 -05:00
Scott
0d4bf94017
Return an empty string on magic __toString method
...
We can't throw exceptions here, due to engine constraints.
2018-01-17 18:33:02 -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
2b122cb80e
Fix compact call back
2018-01-15 21:01:29 -05:00
Matthew Brown
1d16f1e352
Update the callmap from Phan
2018-01-15 20:21:08 -05:00
Matthew Brown
14e7b75dbb
Fix bad formatting for ibase_query
2018-01-15 15:27:46 -05:00
Matthew Brown
26945acce6
Move ClassLikeChecker::analyze into ClassChecker and InterfaceChecker
2018-01-14 13:08:24 -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
2a38bec5bc
Fix style
2018-01-13 02:08:53 -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
6e6c20b968
Remove unused property
2018-01-13 00:45:28 -05:00
Matthew Brown
d61829adde
Allow the use of property docblocks without all docblocks
2018-01-13 00:32:20 -05:00
Matthew Brown
5d9ebd06d6
Don’t check classes after extension_loaded call
2018-01-12 23:47:36 -05:00
Matthew Brown
db7b80d391
Fix ArrayIterator::setOffset param type
2018-01-12 23:46:11 -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