Brown
40a7a1156f
Fix #2930
2020-03-09 09:45:35 -04:00
Brown
7d99a15072
Fix #2805 - forbid passing in mutable class to mutation-free context
2020-02-21 18:25:35 -05:00
Matthew Brown
653353709a
Use MethodIdentifier object instead of string
2020-02-14 20:54:26 -05:00
Brown
210d65d0d6
Add a few lowercase-string types
2020-02-13 17:52:23 -05:00
Brown
1c42875179
Support lowercase-string and warn about unnecessary calls to strtolower
2020-02-13 16:38:58 -05:00
Brown
0bcb7863f3
Use better system for storing inferred types and assertions
2019-11-25 11:44:54 -05:00
Brown
2fa0e05802
Fix #2169 - always use most immediate function storage when analysing
2019-09-25 18:48:41 -04:00
Matthew Brown
ae46c9e132
Fix #2114 - make builtin constructors mutation free
2019-09-21 21:07:27 -04:00
Brown
c5ef2516b5
Fix #2150 - add detection for unnecessary @var annotations
...
And also remove them from codebase
2019-09-19 11:59:43 -04:00
Brown
de5df1e36a
Warn about unnecessary use of DateTimeImmutable
2019-09-03 13:49:15 -04:00
Matthew Brown
d5b026839c
Add support for different taint types ref #1990
2019-08-12 23:16:05 -04:00
Brown
955899ade0
Builtin functions are assumed to be pure
2019-08-07 15:21:15 -04:00
Matthew Brown
b2c0993cdc
Add framework for taint analysis to Psalm
...
Ref #611
2019-08-04 10:37:36 -04:00
Bruce Weirdan
e0a59ce117
Fixed PHP 7.4 related issues ( #1957 )
...
- s/fn/f/g (fn is a reserved keyword in 7.4)
- ReflectionType::__toString() warning (this method is deprecated in 7.4)
Note that some issues are caused by `phpspec/propecy` code and will be
fixed when phpspec/propecy#432 lands. Most were caused by
`ReflectionType::__toString()` usage in
`Psalm\Internal\Codebase\Reflection` though.
2019-07-18 23:36:39 -04:00
Matthew Brown
da42be175f
Apply PHPCS fixes
...
Fixes #1880
2019-07-05 16:27:53 -04:00
Tyson Andre
791b30a6d8
Fix redundant casts/conditions in psalm ( #1874 )
...
This includes a check for array_map that was accidentally an assignment
2019-06-29 12:32:44 -04:00
LeSuisse
f29826b958
Fully qualify constants and function calls ( #1849 )
...
This should give a small performance boost.
Part of #1837 .
The change is enforced via phpcs and can be autofixed
with phpcbf.
2019-06-26 16:52:29 -04:00
Matthew Brown
2d5f332ebf
Fix #1781 by improving handling of callmap options
2019-06-15 16:10:48 -04:00
Brown
9c4599a0f0
Add better support for inheriting docblocks
2019-06-11 11:19:57 -04:00
Brown
0bd4dbcbc4
Bump to PHP 7.1
...
Fixes #1650
2019-05-16 18:36:36 -04:00
Brown
30cbcb6c36
Add ImplementedParamTypeMismatch issue
...
Fixes #1633
2019-05-14 15:44:46 -04:00
Brown
7f8b47c5cf
Fix buggy behaviour around callable tests
2019-04-09 18:09:57 -04:00
Brown
808522c36f
Add workaround SoapFault::__construct, fixing #1535
2019-04-09 15:06:10 -04:00
Brown
f34a99c0cc
Fix #1515 - process inheritance in non-user classes
2019-03-28 17:44:31 -04:00
Brown
b9ba24929d
Refactor storage of template names to prevent clashes
2019-03-22 15:59:10 -04:00
Bruce Weirdan
51460e6078
Codebase::classExtends() now rejects unpopulated classes
...
This is done to prevent false negatives, when class storage hasn't been
populated yet.
Fixes vimeo/psalm#1387
2019-03-17 13:51:00 -04:00
Brown
e5f7a5a4bc
Coerce class string types together
2019-03-08 17:35:09 -05:00
Brown
b3a59d2638
Fix #1435 - prevent classes extending interfaces
2019-03-07 11:16:40 -05:00
Matthew Brown
f9b1a63146
Fix #1421 - variadic params are extra
2019-03-02 15:26:18 -05:00
Bruce Weirdan
8408effe57
Dropped unused uses
2019-02-17 13:17:45 -05:00
Matthew Brown
081ba4b204
Fix #1072 - add support for @use SomeTrait<T>
2019-01-27 23:12:40 -05:00
Matthew Brown
2d32e4b92a
Remove 7.0-incompatible type
2019-01-27 18:43:36 -05:00
Matthew Brown
d8783c277f
Add support for getPsalmTypeFromReflectionType
2019-01-27 17:16:22 -05:00
Matthew Brown
590bea305d
Fix #1218 - find issues with bad callables
2019-01-19 19:49:58 -05:00
Brown
b8d822cd26
Prohibit leaking of template params across class boundaries
2019-01-10 12:13:49 -05:00
Brown
0254322bed
Migrate Codebase-namespaced and FileManipulation-namespaced classes to internals
2018-11-12 11:20:59 -05:00