Matthew Brown
f7907eb43f
Fix #2987 - ignore MixedReturnTypeCoercion for generator send param
2020-03-18 21:25:25 -04:00
Matthew Brown
9e29f6107a
Add extra vendor check
2020-03-18 20:21:02 -04:00
Matthew Brown
afe25257da
Don’t cache files not in project directories
2020-03-18 19:54:48 -04:00
Matthew Brown
311bd19a6a
Fix #2983 - inherited lists should have their template types localised
2020-03-18 16:23:09 -04:00
Pavel Batečko
48af534270
Improve parse_url() return type ( #2955 )
2020-03-18 15:17:24 -04:00
Ben Davies
47f43fdcd7
use file contents intead of filemtime to detect changed files ( #2991 )
...
* use file contents intead of filemtime to detect changed files
* Add as extra filter step
Co-authored-by: Matthew Brown <github@muglug.com>
2020-03-18 13:36:11 -04:00
Matthew Brown
474b9dc01b
Fix too-long line
2020-03-17 17:44:31 -04:00
Matthew Brown
9cd817077e
Improve fix
2020-03-17 17:34:45 -04:00
Matthew Brown
4166e5a4ef
Fix tests
2020-03-17 16:30:03 -04:00
Matthew Brown
da170efb65
Don’t coerce literal values
...
Fixes #2982
2020-03-17 16:16:58 -04:00
Matthew Brown
951b943c38
Fix #2981 - check that class exists before making it a phantom
2020-03-17 15:04:50 -04:00
Matthew Brown
309a229db1
Add codes to all issues
2020-03-17 09:19:47 -04:00
Matthew Brown
a4add37293
Check for variadic functions
2020-03-16 11:46:44 -04:00
Matthew Brown
9556e9ad69
Disable enclosing method/function return type inference
...
cc @ragboyjr – this makes Psalm unstable, as method return types cannot change midway through analysis (as it means results would be dependent on file analysis order)
2020-03-16 11:45:49 -04:00
Matthew Brown
4232bfb6e6
Fix location
2020-03-15 23:29:52 -04:00
Matthew Brown
6c3ff8f245
Remove unused variable
2020-03-15 23:21:48 -04:00
Matthew Brown
a8a1142889
Fix #2977 - make MixedAssignment message a bit more clear, hopefully
2020-03-15 23:20:12 -04:00
Matthew Brown
c85fa9083d
Fix #2915 - prevent "if (true)" and similar
2020-03-15 22:23:31 -04:00
Matthew Brown
50eb12e562
Fix implementation kink
2020-03-15 16:14:09 -04:00
Matthew Brown
3339c12179
Temp, slightly hacky fix
2020-03-15 16:00:15 -04:00
Matthew Brown
532ce576cc
Fix #2974 - interpret interfaces a little better
2020-03-15 15:49:13 -04:00
Matthew Brown
b6380ae595
Fix false-positives around unevaluated code
2020-03-15 14:43:05 -04:00
Matthew Brown
6c7f89b0ab
Fix #2920 - track unevaluated code after nested returns
2020-03-15 14:31:41 -04:00
Matthew Brown
af9e362c80
Fix indentation
2020-03-15 14:14:53 -04:00
Matthew Brown
73badf59d1
Fix #2925 - ignore null return type for array_replace_recursive
2020-03-15 14:07:55 -04:00
Matthew Brown
3ebb5a1142
Fix #1843 - ignore intersection TooManyArguments issues
2020-03-15 14:01:33 -04:00
Matthew Brown
0022de1f13
Fix #946 - allow too many arguments when one of union agrees
2020-03-15 13:44:00 -04:00
Matthew Brown
0af2eba4b9
Fix #2973 - don’t allow template type through
2020-03-15 11:14:06 -04:00
Matthew Brown
2c0cf4030f
Detect assigning collections of mutable objects in immutable
...
Fixes #2946
2020-03-15 00:21:20 -04:00
Matthew Brown
43189b3d55
Allow types to be traversed
2020-03-14 23:54:51 -04:00
RJ Garcia
a220d08d9f
Refactor Codebase.php to use MethodIdentifier::wrap ( #2972 )
...
Signed-off-by: RJ Garcia <rj@bighead.net>
2020-03-14 19:10:20 -04:00
RJ Garcia
2de3e27f10
Initial inferred Closure Returns ( #2945 )
...
- Added detection for when we can infer
closure types from parent fn return types
- Implemented functionality for infering types of
returned closures
- Added ability to infer type of return from typed
closures
- Added a new getFunctionLikeStorage method in
Codebase to support easily getting a function
despite being a method, closure, or function
- Added some utilities to the MethodIdentifier
to facilitate creating MethodIdentifier's from
string method references
Closes #2896
Signed-off-by: RJ Garcia <rj@bighead.net>
2020-03-14 14:51:43 -04:00
Matthew Brown
acac77b3f0
Improve message
2020-03-14 01:19:50 -04:00
Matthew Brown
0aca01faea
Improve fix to #2805
2020-03-14 01:09:12 -04:00
Matthew Brown
aba29f0cbf
Add slash
2020-03-13 20:28:32 -04:00
Matthew Brown
aaf74f084a
Fix #2954 - filter out used vars before checking params
2020-03-13 20:21:49 -04:00
Kolja Zuelsdorf
08855c806f
Dont add newline before return ( #2969 )
...
* Added method to not add newline before return in docblock.
* Made setting of newline before return statically setable on docblock.
* Created psalter parameter for setting of newline before return in doc block annotation.
* Added tests to cover adding new line or not before return annotation in doc block via psalter.
* Psalm and style fixes.
* Changed flag for new lines between annotations to be considered for all annotations.
* Extended tests to reflect changed behavior for new lines between annotations in psalter.
2020-03-13 12:40:08 -04:00
Matthew Brown
54d38e562f
Fix #2970 - use correct unreferenced vars when analysing do
2020-03-13 11:41:17 -04:00
Matthew Brown
92e3d61663
Fix differ
2020-03-12 21:40:45 -04:00
ArSn
cb4242e745
Removed unused function use since we are not in a namespace here.
2020-03-12 18:59:34 -04:00
Matthew Brown
5210f9b69b
Fix #2966 - register constructor use for new $templated_class
2020-03-12 11:42:01 -04:00
Matthew Brown
c6a5781e78
Break apart FunctionCallAnalyzer::analyze method
2020-03-12 11:05:50 -04:00
Matthew Brown
99ca359f8b
Break apart large methods
2020-03-12 01:19:11 -04:00
Matthew Brown
96fbcd5a64
Break out more methods
2020-03-11 23:38:49 -04:00
Matthew Brown
329c9afdf5
Actually remove method
2020-03-11 23:20:19 -04:00
Matthew Brown
973703e396
Break out template param collection
2020-03-11 23:15:15 -04:00
Matthew Brown
9732697e45
Break out method call purity checks
2020-03-11 23:09:09 -04:00
Matthew Brown
bfb919d26a
Break out methods into their own classes
2020-03-11 23:04:52 -04:00
Matthew Brown
321f1a5e2f
Cache trait nodes
2020-03-11 22:14:21 -04:00
Matthew Brown
8f28f41399
Improve magic checks
2020-03-11 18:42:41 -04:00
Matthew Brown
950260a041
No erroneous UndefinedMethod when accessing sealed class
2020-03-11 18:27:07 -04:00
Matthew Brown
f128c8ffda
Fix overriding of mapped property type visibility
2020-03-11 17:41:05 -04:00
Matthew Brown
a5cf4dbaaa
Make exception properties protected
2020-03-11 15:43:15 -04:00
Matthew Brown
43d9361395
Break out more methods
2020-03-11 13:35:33 -04:00
Matthew Brown
89f6866893
Fix magic property test
2020-03-11 12:45:30 -04:00
Matthew Brown
50cddb5350
Break out purity checks
2020-03-11 12:24:25 -04:00
Matthew Brown
c5fa07920c
Fix improper property var calculation
...
Ref #1332
2020-03-11 11:03:27 -04:00
Matthew Brown
ef64e6e8eb
Improve abstract call handling
2020-03-11 10:36:39 -04:00
Matthew Brown
27598f508e
Fix too-long line
2020-03-11 10:18:53 -04:00
Matthew Brown
0d62fbdf98
Detect erroneous abstract static method calls
2020-03-11 10:18:40 -04:00
Matthew Brown
d2950af636
Break apart MethodCallAnalyzer a bit
2020-03-11 09:38:09 -04:00
Matthew Brown
1dc26afb27
Fix #2958 - prevent overriding final methods
2020-03-10 21:26:02 -04:00
Brown
d1fcbf38ae
Fix #2956 - treat Exception::getMessage as final and mutation-free
2020-03-10 15:12:55 -04:00
Brown
8527bb9861
Remove line in block
2020-03-10 13:29:39 -04:00
Brown
3cf562125e
Fix #2953 - ignore carriage returns when when parsing docblocks
2020-03-10 13:28:42 -04:00
Brown
0cfe565d0a
Fix #2952 - always be cloning
2020-03-09 18:59:56 -04:00
Brown
2a72990d62
Add back support for unused method checks
2020-03-09 18:55:35 -04:00
Brown
a5672db9f9
Avoid issue where caches haven’t caught up
2020-03-09 16:59:21 -04:00
Brown
1399b139fc
Fix #2951 - use reflection to identify trait when there’s more than one per file
2020-03-09 16:41:46 -04:00
leightonthomas
60fb3924bc
Fix #2914 - falsable functions who only expect true now produce errors
2020-03-09 14:25:18 -04:00
Brown
2c8688dd97
Don’t crash when conditionally defining classes with properties
2020-03-09 14:24:19 -04:00
Brown
04bcc32efb
Fix #2940 - fix array offset assignment under ??=
2020-03-09 14:09:41 -04:00
Brown
aa8d7be6e2
Add implements DateTimeInterface
...
Fixes #2948
2020-03-09 10:58:32 -04:00
Brown
3c416482ec
Fix #2932 - don’t crash when trying to expand callable object-like array
2020-03-09 10:56:37 -04:00
Brown
a0da7356e9
Fix #2935 - make handling of templated properties much less hacky
2020-03-09 09:59:02 -04:00
Brown
40a7a1156f
Fix #2930
2020-03-09 09:45:35 -04:00
Matthew Brown
5b7ab6a542
Fix coercion
2020-03-09 01:32:27 -04:00
Matthew Brown
3243819f1b
Fix #2941 - allow class-string<self> to be fleshed out
2020-03-09 01:29:16 -04:00
Matthew Brown
5b4ed6b516
Fix #2942 - support array_splice properly for numeric-keyed arrays
2020-03-09 01:15:52 -04:00
Matthew Brown
17afeae851
Fix support for bitwise or in constant expressions
2020-03-09 00:54:26 -04:00
Sergey Melesh
a5da866d97
Ignore exceptions already caught by previous catch
2020-03-08 20:19:56 -05:00
Ben Dusinberre
6d21520628
Remove --show-snippet support
2020-03-08 20:18:35 -05:00
Ben Dusinberre
ca2716878b
Remove unused use statement
2020-03-08 20:18:35 -05:00
Ben Dusinberre
c6dfa2b5b0
Add XML encoding, fix up info level
2020-03-08 20:18:35 -05:00
Ben Dusinberre
9ca05fbfa8
Don't trim ints
2020-03-08 20:18:35 -05:00
Ben Dusinberre
605342119e
Fix up element contents
2020-03-08 20:18:35 -05:00
Ben Dusinberre
3a5bc7d9c3
Keep incoming data structure
2020-03-08 20:18:35 -05:00
Ben Dusinberre
d5cd295e47
Honor show-snippet flag
2020-03-08 20:18:35 -05:00
Ben Dusinberre
2b17e8c39c
Honor report-show-info flag
2020-03-08 20:18:35 -05:00
Ben Dusinberre
15ea7bf357
Remove the rest of the invalid attributes
2020-03-08 20:18:35 -05:00
Ben Dusinberre
783dbfae9c
Remove duplicate testsuite element
2020-03-08 20:18:35 -05:00
Matthew Brown
0e60a1a223
Revert erroneous line
2020-03-06 19:31:39 -05:00
Matthew Brown
b999037263
Fix #2928 - properly expand out skipped template inheritance
2020-03-06 19:24:47 -05:00
Matthew Brown
352bd3f5c5
Remove redundant condition
2020-03-06 15:23:11 -05:00
Matthew Brown
766effb0db
Improve accuracy of diff generation
2020-03-06 13:48:59 -05:00
Matthew Brown
f3d7ed6de7
Remove var_dump
2020-03-06 13:15:52 -05:00
Matthew Brown
7f9e6b893e
Increase processor consumption
2020-03-06 13:13:18 -05:00
Matthew Brown
dc74f2b4de
Add specific cast
2020-03-06 13:05:55 -05:00
Matthew Brown
10b807b4f6
Fix reference generation from methods in --diff mode
2020-03-06 13:02:34 -05:00
Matthew Brown
a2a507166d
Fix #2923 - remove hack to fix a template issue
2020-03-06 09:42:23 -05:00