Matthew Brown
0d62431cfb
Fix #870 - improve magic method type handling
2018-07-07 00:06:05 -04:00
Tyson Andre
a3b1bebb5b
Fix misuse of preg_quote ( #869 )
...
1. Variable ids can contain slashes or dots, e.g. for `${'my/var'} = 2`
or psalm's local representation of properties or array indexes
(I forget which)
2. preg_quote's escape character should **always** be the same as the
pattern starting character.
Using DIRECTORY_SEPARATOR will fail to escape '/' on windows.
2018-07-06 19:16:31 -04:00
Matt Brown
e62b711c36
Fix docblock
2018-07-06 14:14:24 -04:00
Matt Brown
a887d09ca9
Fix #867 - make some system constant types more broad
2018-07-06 13:35:36 -04:00
Matt Brown
7e09f59825
Fix #868 - improve return type of version_compare
2018-07-06 13:09:05 -04:00
Matthew Brown
ced0aef34d
Clean out assertions before re-examining loop
2018-07-06 00:36:11 -04:00
Matthew Brown
8a4d7e12bd
Fix issues found by scanning PHPCS
2018-07-05 23:02:09 -04:00
Matthew Brown
c4fd6aa18d
Allow break/continue inside do
2018-07-05 21:03:44 -04:00
Matthew Brown
8bdeb5ed65
Fix #864 - only create intersection types when dealing with classes & interfaces
2018-07-05 19:46:33 -04:00
Matt Brown
71b2420c83
Fix #865 - support literals in return types
2018-07-05 17:25:26 -04:00
Matt Brown
af14d6982f
Fix #863 - MixedTypeCoercion is more appropriate in many cases
2018-07-05 10:11:04 -04:00
Matthew Brown
5cb23b7f47
Always scan class if autoloaded from same location
2018-07-04 15:33:48 -04:00
Matthew Brown
6090355241
Add possible fix for unevaluated classlikes
2018-07-04 14:32:58 -04:00
Matthew Brown
7d747be5d5
Fix checks for possibly null right part of binary op
2018-07-03 19:52:40 -04:00
SignpostMarv
76a3fbbdf0
memory_limit specified as int to resolve windows-related issue #842 without requiring --use-ini-defaults argument to be passed ( #860 )
2018-07-03 17:22:04 -04:00
Matt Brown
b8636eb326
Improve memoisation of chained calls
2018-07-03 12:45:29 -04:00
Matt Brown
534876085d
Fix #857 - improve handling of hard-to-reconcile while conditionals
2018-07-03 12:27:14 -04:00
Matt Brown
4a4d091c02
Fix #858 - scan files before autoloading them
2018-07-03 11:17:52 -04:00
Matthew Brown
ec1f7ba7be
Add exception for case that shouldn’t appear
2018-07-03 08:09:00 -04:00
Matthew Brown
5623aa1c19
Don’t memoise assertions - it messes with trait analysis
2018-07-03 00:51:57 -04:00
Matthew Brown
5860fcf59d
We can reason about ORed conditions in while loops now
2018-07-02 23:46:51 -04:00
Matthew Brown
76e369d330
Allow multiple matching types to be captured in if
2018-07-02 22:53:17 -04:00
Matthew Brown
c354a024d8
Fix #856 - perform better class filtering based on parent classes
2018-07-02 21:59:40 -04:00
Matt Brown
6287f52dd5
Fix loop analysis for byref vars, likely performance hit
2018-07-02 16:44:32 -04:00
Matthew Brown
beeab32f60
Remove unused property
2018-06-30 16:21:29 -04:00
Matthew Brown
16e270f0ee
Improve loading of stub file and autoload file information
...
Ref #849
2018-06-30 15:29:37 -04:00
Matthew Brown
dbde36b1d1
Add missing return type
2018-06-30 14:25:32 -04:00
Matthew Brown
745acaea71
Allow bracketing as part of union type
...
Ref #854
2018-06-30 13:09:05 -04:00
Matthew Brown
bca3b1797c
Fix #852 - improve handling of variables updated in do conditional
2018-06-30 12:56:42 -04:00
Matthew Brown
5ed062257b
Allow dead code detection to capture last do checks
2018-06-30 11:08:51 -04:00
Matthew Brown
6267fa7d1d
Fix #850 - allow is_numeric to refine scalar type
2018-06-30 10:52:45 -04:00
Matthew Brown
b5c89084fc
Fix #851 - prevent null being removed in simplifyUnionType
2018-06-30 10:38:37 -04:00
Matt Brown
1ca5ef9bf7
Prevent duplicate classes in same file
2018-06-29 15:39:17 -04:00
Matt Brown
7dc982138d
Fix possibly null DuplicateClass issue
2018-06-29 15:31:17 -04:00
Matt Brown
89cc63846f
Improve handling of autoloaded files
...
Fixes #848
2018-06-29 15:28:45 -04:00
Matthew Brown
c1052c0a6a
Only create intersections for types that don’t contain each other
2018-06-29 00:49:46 -04:00
Matt Brown
5f251a9d88
Allow intersection creation of interface then class
2018-06-28 18:13:06 -04:00
Matt Brown
c872f9179e
Remove mixed in @method param types
2018-06-28 17:39:25 -04:00
Matt Brown
2fc816a6e1
Fix repeated use of spread operator
2018-06-28 17:05:50 -04:00
Matt Brown
376c3c54c0
Add better checks for array_reduce
...
Fixes #846
2018-06-28 16:01:53 -04:00
Matthew Brown
ce1fda46a6
Fix hard-to-resolve constant values
2018-06-27 21:53:25 -04:00
Matt Brown
2c4b8e8ce3
Fix division-by-zero error
...
Fixes #844
2018-06-27 13:41:50 -04:00
Matt Brown
192d7769bd
Fix #843 - make FilesystemIterator::current more general
2018-06-27 12:04:24 -04:00
Matt Brown
4a975883b4
Add --use-ini-defaults arg to prevent Psalm overriding memory_limit and more
...
Fixes #842
2018-06-27 10:40:02 -04:00
Matt Brown
72b110af3f
Analyse RHS of instanceof expressions if expression
2018-06-27 10:07:40 -04:00
Matthew Brown
685ae67435
Fix #839 - check args for __call methods
2018-06-26 23:11:16 -04:00
Matthew Brown
5867ef45ff
Check method args even if the methods themselves cannot be checked
2018-06-25 19:38:15 -04:00
Matt Brown
ffda44c3ba
Fix #838 - check assertions, even outside conditionals
2018-06-25 18:02:05 -04:00
Matt Brown
f2d96eefe7
Fix #837 - detect issues with constants
2018-06-25 15:03:45 -04:00
François Kooman
83dd5a9418
fix return value of ldap_explode_dn ( #835 )
2018-06-25 14:53:09 -04:00