1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
Commit Graph

2930 Commits

Author SHA1 Message Date
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