1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 02:07:37 +01:00
Commit Graph

2602 Commits

Author SHA1 Message Date
Matthew Brown
334c463e08 Fix #977 - improve handling of orred expressions 2018-09-10 00:13:59 -04:00
Matthew Brown
1d3e66c798 Fix #982 - treat intersection types of traversables as first-order citizens 2018-09-09 20:10:50 -04:00
Matthew Brown
80cd77832b Fix #980 - allow literal int types to be coerced from mixed 2018-09-09 13:01:16 -04:00
Matthew Brown
2c3244e93b Fix #981 - allow interfaces to be equal 2018-09-09 12:20:49 -04:00
Matthew Brown
53e265e963 Fix #984 - allow magic methods to be invoked on $this->xxx 2018-09-09 11:45:52 -04:00
Matthew Brown
046025576e Fix issue merging class constants and inherited interface ones 2018-09-09 11:18:20 -04:00
Matt Brown
bafd3cde1f Fix #983 - allow more than two types to be intersected 2018-09-07 11:09:07 -04:00
Matt Brown
4d676afaef Fix #985 - strip null from object type where possible 2018-09-07 11:01:10 -04:00
Matt Brown
6e5a9bf076 Fix #986 - use better return type for array_slice 2018-09-07 10:53:56 -04:00
Matthew Brown
44c742c849 Fix #976 - make sure misplaced { doesn’t halt execution 2018-09-06 00:41:07 -04:00
Matthew Brown
3e920b1227 Fix unexpected method with return type 2018-09-05 22:40:52 -04:00
Matthew Brown
e6d1a44a59 Fix #974 - fix handling of brackets 2018-09-05 22:36:32 -04:00
Matthew Brown
84459286ac Fix #973 - allow types to reference other new types in a given docblock 2018-09-04 22:27:55 -04:00
Matthew Brown
7c274431f0 Fix #975 - don’t check things at all when there’s a duplicate class 2018-09-04 21:22:05 -04:00
Matt Brown
add7c14b44 Fix #965 - invalidate cache when changing plugins 2018-09-04 15:28:03 -04:00
Matt Brown
b97972ebb3 Fix Psalm-found issues 2018-09-04 14:37:33 -04:00
Matt Brown
cbfebb7a69 Fix #971 - be more robust in face of duplicate classes 2018-09-04 14:34:14 -04:00
Matt Brown
5d6fb4efdf Copy inferred type when suppressing errors 2018-09-04 13:57:05 -04:00
Matt Brown
681b5fb4a5 Fix #970 - improve handling of yield from statements 2018-09-04 13:29:35 -04:00
Matt Brown
e1bc9c65fc Add ksort to list of no-op by ref functions (vis-a-vis their argument shape 2018-09-04 13:14:44 -04:00
Matthew Brown
84d7504036 Fix #834 - warn about __toString in array offset 2018-08-31 20:24:50 -04:00
Matthew Brown
d5b0d5a996 Fix #964 - warn about imposible offsets 2018-08-31 20:02:36 -04:00
Matthew Brown
3e69a333c9 Prevent fatal error with function_exists after autoloading 2018-08-29 20:54:48 -04:00
Matt Brown
7dd3273a62 Fix #959 - allow nullable followed by parentheses 2018-08-29 16:03:16 -04:00
Matt Brown
17ea48eda4 Add ability to pretend that a file has declare(strict_types=1) 2018-08-29 15:10:56 -04:00
Matt Brown
956a7c749b Improve handling of array_search and strstr, and restrict ini_set types 2018-08-29 13:58:07 -04:00
Matt Brown
f844f86a6c Improve type coercion checks in strict mode 2018-08-28 17:42:39 -04:00
Matt Brown
1037485a60 Convert InvalidScalarArgument to InvalidArgument when declare(strict_types=1) is set 2018-08-28 12:37:25 -04:00
Matt Brown
2599d8bd62 Allow some folders to be excluded from type stats collection 2018-08-24 17:46:13 -04:00
Matt Brown
caf65ca8a9 Fix #957 - allow assertions on $_GET, $_POST, $_SERVER etc 2018-08-24 16:48:14 -04:00
Matt Brown
4ef2aafdd8 Fix #955 - always check third argument of array_splice 2018-08-24 16:12:07 -04:00
Matt Brown
0691763803 Fix issue reconciling class strings 2018-08-23 11:43:53 -04:00
Matthew Brown
867ebd4441 Fix #953 - support spaces either side of | 2018-08-22 22:53:44 -04:00
Matt Brown
ebc65baa91 Fix issues with coerced class-string 2018-08-21 17:59:06 -04:00
Matt Brown
91100edcc9 Fix issue mixing class strings and class string constants 2018-08-21 14:47:28 -04:00
Matt Brown
699a34fc9d Fix #952 - improve checks for string array offsets 2018-08-21 11:40:29 -04:00
Matthew Brown
bf79169a1d Fix #914 - check for correct character when setting calculated field 2018-08-21 00:43:45 -04:00
Matthew Brown
4ad3522448 Fix #918 - improve handling of associative array offsets 2018-08-21 00:28:39 -04:00
Matthew Brown
36e2b1dd67 Fix #925 - set correct flag when coercing class-like string to specific 2018-08-20 22:25:10 -04:00
Matthew Brown
8814dff3c1 Fix #947 - interpret type hints of unpacked args 2018-08-20 22:11:01 -04:00
Pieter De Schepper
14e336e69a Fix for not suppressing MethodSignatureMismatch and InvalidReturnType (#939)
* Fix for not suppressing MethodSignatureMismatch

If you have an inherited class that overrides a method with a different return type, you can now suppress it with
@psalm-suppress MethodSignatureMismatch

* Fix for non-suppressable InvalidReturnType
2018-08-20 21:37:21 -04:00
François Kooman
53ddb893e2 various DateTime/DateInterval argument type fixes (#949) 2018-08-18 16:18:55 -04:00
Matt Brown
070e7903df Allow suppression of TooManyArguments by function/method id 2018-08-16 16:49:33 -04:00
Bruce Weirdan
3b3863f3a8 Scan entire file/dir list at once (#944)
fixes vimeo/psalm#943
2018-08-15 11:57:40 -04:00
Matt Brown
366f625c83 Improve handling of coerced-to-array strings in array_splice 2018-08-14 11:51:17 -04:00
Matt Brown
cb63f4f70f Add support for checking DeprecatedTrait and DeprecatedConstant 2018-08-10 13:25:25 -04:00
Matthew Brown
2fee699d25 Fix #908 - dont’t emit UnresolvableInclude after file_exists check 2018-08-09 23:29:30 -04:00
Matthew Brown
a32273b2b8 Allow use of Psalm without composer
Fixes #935
2018-08-09 00:03:32 -04:00
Matthew Brown
abc19d7136 Fix #915 - never care about falsable/nullable issues when matching functions from callmap 2018-08-08 23:28:30 -04:00
Matthew Brown
b9018a4a03 Fix #936 - add support for class constants in enums 2018-08-08 23:12:12 -04:00
Matthew Brown
7c10a09ead Fix #911 - properly substitute alias types
Also improve handling of array_splice
2018-08-08 22:33:31 -04:00
Matthew Brown
9880e2bede Prevent leading-number constants in docblocks 2018-08-08 21:36:33 -04:00
Matthew Brown
6670dd31e1 Fix #927 - improve typing of object-like arrays containing class like strings 2018-08-08 21:31:13 -04:00
Matthew Brown
d9af167e38 Fix #931 - replace self in enum declaration where possible 2018-08-08 20:59:21 -04:00
Matthew Brown
55be2c3ce4 Fix #934 - allow numbers in class constant enums 2018-08-08 20:36:16 -04:00
Matt Brown
226aa27686 Fix issue resolving namespaced constants 2018-08-08 16:13:37 -04:00
Matt Brown
2636b194db Fix #920 - support @var self properties in static method calls 2018-08-07 14:43:05 -04:00
Matt Brown
0304201d91 Fix #932 - allow obvious string vars to be used for includes 2018-08-07 13:17:23 -04:00
François Kooman
c54534c640 fix return values of imagettfbbox and imagettftext (#929) 2018-08-03 11:01:45 -05:00
Matthew Brown
37be70a465 Fix issue calling possibly magic method 2018-08-02 16:14:53 -05:00
Matthew Brown
c9a2ca9321 Allow output of get_parent_class to be used in new without check 2018-08-02 13:43:13 -05:00
François Kooman
b1e81c2c25 fix ldap_bind parameters, allow null for bind_rdn and bind_password 2018-08-02 13:14:41 -05:00
Tyson Andre
06abf52d94 Fix typos detected by misspell (#924)
Both of initiali[sz]e were used, z was more common.
2018-08-02 00:40:51 -04:00
François Kooman
9ebf748eb9 fix return value of headers_list (#919) 2018-08-02 00:40:10 -04:00
Matthew Brown
d3fc9a51e0 Improve callmap with PHPStan’s additions
cc @TysonAndre
2018-07-22 19:15:40 -04:00
Matthew Brown
b6372f8342 Analyse SimpleNameResolver too 2018-07-22 18:00:08 -04:00
Matthew Brown
4de33e509b Fix linting issues 2018-07-21 22:55:16 -04:00
Matthew Brown
cc28ff7ad6 Fix #904 - scan all docblocks for possible @psalm-type annotations 2018-07-21 22:24:33 -04:00
Matthew Brown
200ea70334 Check that non-user-defined abstract methods are implemented, too 2018-07-21 20:50:42 -04:00
Matthew Brown
bc23f732a4 Fix #905 - ignore interface case when checking for extended interfaces 2018-07-21 20:38:55 -04:00
Matthew Brown
79d547d0a0 Add support for second dirname arg
Fixes #900
2018-07-21 20:22:42 -04:00
Matthew Brown
c97329da06 Fix #903 - make sure parent::foo is executed in context of method’s class
and not immediate parent
2018-07-21 20:01:58 -04:00
Tyson Andre
ef1c1995a3 Split up CLI options into individual lines, and sort them (#902)
No CLI options were added or removed.

This has the following benefits:

- It makes it easier to track history of CLI flags in git
- It avoids merge conflicts if multiple PRs add CLI options
- It makes maintaining patches/forks easier.
2018-07-20 07:07:41 -04:00
Matt Brown
ad3e449982 Allow rescanning of classes when we need more info 2018-07-18 11:44:01 -04:00
Matthew Brown
2af7ea05da Fix #897 - understand static class comparisons in is_a 2018-07-17 22:50:30 -04:00
Matt Brown
b831baee51 Make disabled extensions configurable 2018-07-17 16:54:34 -04:00
Matt Brown
6a06f06044 Improve API for disabling extensions and disable apc as well 2018-07-17 16:40:03 -04:00
Matt Brown
516b2eea5d Fix SoapClient::__call param type 2018-07-17 14:16:22 -04:00
Matt Brown
73aa0df08a Restart without grpc if running in threaded mode 2018-07-17 14:08:40 -04:00
Matthew Brown
9a9adf897d Fix #896 - improve ReflectionParameter::getType return 2018-07-17 08:45:42 -04:00
Matthew Brown
0fa7cbeb02 Fix #895 - check __call magic method args 2018-07-16 22:48:53 -04:00
Matthew Brown
39870f97c4 Fix #894 - check magic methods with given return types 2018-07-16 20:32:16 -04:00
Matt Brown
92aa3f8117 Fix dumb regression 2018-07-16 16:07:18 -04:00
Matt Brown
b80440f1e3 Fix #893 - improve error message for missing intersection type method 2018-07-16 11:52:38 -04:00
Matthew Brown
95b9b8b51e Remove PHP 5-incompatible things from SimpleNameResolver 2018-07-16 00:03:03 -04:00
Matthew Brown
a7cb4664aa Fix #542 - warn about incorrect psalm args 2018-07-15 18:43:06 -04:00
Matthew Brown
e836f69ca2 Fix #502 - check for bad generator return in more places 2018-07-15 17:47:58 -04:00
Matthew Brown
1e54c61fde Fix #18 - add support for @psalm-type 2018-07-15 17:23:17 -04:00
Matthew Brown
f9ba8d7167 Fix #573 - improve required param message 2018-07-13 20:17:29 -04:00
Matthew Brown
fee705f90c Fix #489 - support @psalm-template 2018-07-13 19:09:35 -04:00
Matthew Brown
91f7cdf134 Fix #890 - improve reporting site for some method issues 2018-07-13 18:47:21 -04:00
Matthew Brown
1589b2a01e Fix #269 - allow trigger_error to count as exit statement 2018-07-13 18:36:25 -04:00
Matthew Brown
4172952e8b Fix #306 - add support for typing generators 2018-07-13 17:34:44 -04:00
Matthew Brown
a8a504c3b9 Fix #889 - allow variables defined in try to avoid isset issues 2018-07-13 14:06:01 -04:00
Matthew Brown
677e6edcb1 Fix nullref 2018-07-13 09:58:35 -04:00
Matthew Brown
3a235ad757 Fix #887 - resolve get_class($c) === self::class to current class name 2018-07-13 09:52:15 -04:00
Matthew Brown
d41a9a8dcc Fix #806 - allow specification of functions and static methods that exit 2018-07-12 23:26:08 -04:00
Matthew Brown
5ea8b86b7c Resolve as many names as possible in the parsing stage 2018-07-12 21:25:06 -04:00
Matt Brown
7713c7a8d6 Use continue 2 in place of continue 2018-07-12 18:04:05 -04:00
Matt Brown
f6b15a4a5a Fix #847 - only warn about LessSpecificReturnType when method is not overridden 2018-07-12 16:57:24 -04:00
Matt Brown
4f9d4b7094 Fix #885 - allow suppression of UndefinedMethod at method level 2018-07-12 12:12:28 -04:00
Matt Brown
c2bc8bde55 Fix #866 - prevent false positive inside do 2018-07-12 12:08:15 -04:00
Matt Brown
c498356f9d Fix property map for static call prop 2018-07-11 13:01:03 -04:00
Matt Brown
8b3fa21b41 Fix #884 - don’t error on static calls that aren’t user defined 2018-07-11 12:05:50 -04:00
Matt Brown
42e1090647 Add support for static method call assertions 2018-07-11 11:32:12 -04:00
Matt Brown
661803a020 Fix #883 - add @psalm-assert-if-true support to methods 2018-07-11 11:22:07 -04:00
Matt Brown
0ef71a49cb Fix #882 - allow STDOUT and STDERR as constants 2018-07-10 17:40:34 -04:00
Tyson Andre
66f6d4b1ea Allow empty default of 0 for optional parameter in magic method (#880)
Fixes #879

`!= ''` will reject both null and '', but not `0`
2018-07-10 16:01:44 -04:00
Matt Brown
5bb5bb2476 Check this properties for redundant conditions 2018-07-10 12:32:53 -04:00
Matthew Brown
21001668df Don’t double-quote string 2018-07-10 00:39:33 -04:00
SignpostMarv
3eb027d371 875 addendum (#876)
* testing port

* testing return values with port

* removing redundant assertions

* forgot to return ¬_¬

* Fix build
2018-07-10 00:08:53 -04:00
Matt Brown
166706a35d Fix #875 - improve return types for parse_url 2018-07-09 14:37:14 -04:00
Matt Brown
bbf48bbdfe Fix #873 - allow unpacking of all iterables 2018-07-09 09:59:51 -04:00
Matthew Brown
3b12ce4a31 Fix #874 - add support for is_iterable 2018-07-09 08:31:43 -04:00
Matthew Brown
cd4bb75d80 Fix #871 - handle gettimeofday args 2018-07-07 20:35:24 -04:00
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
16e270f0ee Improve loading of stub file and autoload file information
Ref #849
2018-06-30 15:29:37 -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
Matthew Brown
23e90edc50 Fix SplFixedArray::__construct first arg can be left out 2018-06-25 00:03:09 -04:00
Matthew Brown
e1d922e9df Add support for ignoredExceptions 2018-06-22 01:26:10 -04:00
Matthew Brown
e3ae1bf26f Fix #15 - check for uncaught throws if config flag is set 2018-06-22 01:13:49 -04:00
Matt Brown
dcc2c7671e Fix callmap regressions cc @jaydiablo 2018-06-20 15:41:09 -04:00
Matt Brown
ae5ff1abad Improve callmap from Phan thanks to @ondrejmirtes 2018-06-20 13:55:14 -04:00
Matt Brown
740279352e Fix #830 - unpack template param args appropriately 2018-06-20 10:40:50 -04:00
Matthew Brown
4688cf7a92 Fix #831 - ignore falsable issues when getting callmap function params 2018-06-20 09:09:03 -04:00
Matt Brown
e10b2c0fd4 Fix #805 - allow dead code detection from methods just called internally 2018-06-19 16:14:51 -04:00
Matt Brown
f7845616b6 Allow SplFileObject::current to return false 2018-06-19 14:06:20 -04:00
Matt Brown
11240eb193 Fix #826 allow better template replacements 2018-06-19 13:19:41 -04:00
François Kooman
89f78befa7 glob can return false (#828) 2018-06-19 10:15:05 -04:00
Matt Brown
2be0f68d87 Add better checks on increment/decrement operators 2018-06-18 13:16:51 -04:00
Matt Brown
75e2be8aec Fix #825 - ignore falsable issues on builtin *methods* 2018-06-18 10:07:05 -04:00
Matthew Brown
d4107f9e5e Fix issue erasing nullability of boolean 2018-06-17 13:47:31 -04:00
Matthew Brown
2c245b0a08 Fix #823 - trigger redundant condition on impossible assertions 2018-06-17 13:20:37 -04:00
Matthew Brown
97290350dc Remove unnecessary key var 2018-06-17 09:35:08 -04:00
Matthew Brown
5ddd74e7d2 Catch unused foreach key when it’s already in scope 2018-06-17 00:52:32 -04:00
Matthew Brown
805bfa6f2d Improve handling of switch statement assignments 2018-06-17 00:12:26 -04:00
Matthew Brown
89affb6c2c Fix #822 - improve dead code detection on assignop expressions 2018-06-16 23:40:25 -04:00
Matthew Brown
fa51c39902 Improve dead code analysis of switch statements 2018-06-16 21:54:44 -04:00
Matthew Brown
f38da967dd Fix a few issues with dead code detection 2018-06-16 21:14:19 -04:00
Matthew Brown
3670f066bb Improve dead code detection 2018-06-16 20:01:41 -04:00
Matt Brown
3afd6053fd Fix #819 - only add is_a assertion if static::class known 2018-06-15 10:51:30 -04:00
François Kooman
1d8799ce70 fix PDOStatement::fetchColumn, can also return false (#821) 2018-06-15 10:51:00 -04:00
Matt Brown
47a40b2ffc Fix #817 - allow methods named "global" in @method annotations 2018-06-14 17:20:02 -04:00
Matt Brown
7fb4c4acad Allow 0 in type 2018-06-14 15:58:49 -04:00
Matt Brown
d56dd6bed6 Fix #818 - prevent class of 0 2018-06-14 13:49:16 -04:00
Matthew Brown
dc02ca8a7a Fix - #816 - check we’re not just replacing a key with itself 2018-06-13 08:38:07 -04:00
Matt Brown
45a94af015 Fix #814 - remove literal types when removing base key 2018-06-12 11:19:35 -04:00
Matthew Brown
3891b08fc2 Fix #812 - deal with errant colon without crashing 2018-06-12 09:11:13 -04:00
Matt Brown
54893fdd55 Fix #808 - detect badly-placed ampersand early 2018-06-11 17:23:28 -04:00
Matt Brown
6542a0a784 Fix #810 - convert void array map return to null 2018-06-11 17:00:26 -04:00
Matt Brown
d35a3996fa Fix #811 - improve handling of closure vars 2018-06-11 16:54:20 -04:00
Matthew Brown
26fa003fe2 Revert "Convert mixed return types to empty string for compactness"
This reverts commit 94ecbc113a to maintain compatibility with Phan cc @TysonAndre
2018-06-10 15:41:04 -04:00
Matthew Brown
58f16f0d58 Add changes from Phan 2018-06-10 11:31:59 -04:00
Matthew Brown
94ecbc113a Convert mixed return types to empty string for compactness 2018-06-10 11:30:31 -04:00
Matthew Brown
04758a48c6 Remove never-used function 2018-06-10 10:49:51 -04:00