1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-12 09:19:40 +01:00
Commit Graph

5123 Commits

Author SHA1 Message Date
Brown
c283f0877d Analyse binary ops always 2019-07-22 18:04:52 -04:00
2e3s
f15cc7dd5b Mark private properties unused when referenced only in constructor (#1962)
* Mark private properties unused when referenced only in constructor

If a private property is used only in constructor then most likely
it's a dead code since there is no need to have the class property.
But such static properties can be accessed between the calls.

* Ignore the private property issue on alter

* Fix the related dead code psalm

* Add a missing condition into the test
2019-07-21 23:29:16 -04:00
Matthew Brown
d13d37b75d Prefix constant 2019-07-21 16:38:39 -04:00
Matthew Brown
c5d1c9aa54 Add slash 2019-07-21 16:22:04 -04:00
Matthew Brown
272ab3519d Normalise plugin path 2019-07-21 11:56:33 -04:00
Matthew Brown
3f098bafbc Also convert \\ to / when scanning windows configs on macs 2019-07-21 11:34:32 -04:00
Matthew Brown
39c437a54a Fix file path weirdness when scanning config files 2019-07-21 11:32:49 -04:00
Matthew Brown
3d4adee6b3 Reduce with / before converting back 2019-07-21 11:03:02 -04:00
Matthew Brown
76508e6d64 Improve behaviour of templated template assertions
Fixes #1956
2019-07-21 01:40:19 -04:00
Matthew Brown
3516b48173 Break out templated assertion tests 2019-07-21 01:10:33 -04:00
Tyson Andre
de51178178 Restore gitignore for .*.swp in sub-directories (#1958)
The `/.*.swp` will only ignore swp files in the root of this project.
(not sub-folders)
It won't ignore swp files in src/, etc.
2019-07-19 16:49:10 -04:00
Andrey Bolonin
cb34810cdd add php 7.4snapshot (#1948)
* add php 7.4snapshot

* Allow 7.4snapshot to fail
2019-07-19 08:20:54 -04:00
Tyson Andre
5d5a9c6eac Remove redundant casts and unused use statements (#1955)
* Remove redundant casts

(not sure about older versions of php-parser)

* Remove unused use statements
2019-07-18 23: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
8d63d5dc4e Add lookup for builtin functions 2019-07-18 23:30:44 -04:00
Matthew Brown
5583ae842e Refactor signature selection a little 2019-07-18 23:08:54 -04:00
Matthew Brown
0e6bd79a09 Allow completion from functions to work without namespacing cc @iluuu1994 2019-07-18 21:50:59 -04:00
Matthew Brown
3df248eea2 Add concept of purity to functions and methods 2019-07-18 01:31:48 -04:00
Roland Franssen
e58660f38b Add docs for optional ObjectLike (#1942)
* Add docs for optional ObjectLike

ref #634

* Update plugins_type_system.md

* Use better letters
2019-07-17 22:54:01 -04:00
Matthew Brown
74e1b521a5 Add support for completing builtin class names
Fixes #1863
2019-07-17 22:50:57 -04:00
Matthew Brown
ab50c6ce2e Fix #1949 - check that aliased name doesn’t exist before transforming 2019-07-17 20:33:44 -04:00
Brown
59dd6393f5 Fix #1953 - support third arg for explode 2019-07-17 14:13:34 -04:00
Matthew Brown
210a0fc98d Fix #1950 - improve class_parents return 2019-07-17 08:52:05 -04:00
Brown
eb1cd2ed46 Separate out error message producer 2019-07-16 15:34:02 -04:00
Brown
28fbafa207 Break out tests for algebra 2019-07-15 16:08:38 -04:00
Matthew Brown
0163f92bfa Fix typo 2019-07-15 01:31:43 -04:00
Matthew Brown
18da84c713 Fix #1937 - allow proper reconciliation on templated values 2019-07-15 01:26:08 -04:00
Sergey Melesh
af875439e7 Inherit throws docblock from parent class by default (#1947) 2019-07-14 17:29:04 -04:00
SignpostMarv
96429ff94f apply pretty formatting when there are no issues (#1946) 2019-07-13 13:44:15 -04:00
Sergey Melesh
ee1387473f Fix throws docblock inheritance (#1945) 2019-07-13 10:10:51 -04:00
Brown
7f0dcae0b2 Always evaluate property calls on mixed methods 2019-07-12 14:39:06 -04:00
Brown
1208437b4c Fix #1940 - allow proper evaluation of /a/b/../../ 2019-07-12 14:28:21 -04:00
SignpostMarv
9ac78b5d10 add psalm config attribute re: #1804 (#1936)
* add psalm config attribute for controlling the default inclusion of php & php extension version info in the error baseline

* using method recommended by @bdsl in https://github.com/vimeo/psalm/pull/1936#discussion_r302727993
2019-07-12 10:31:12 -04:00
Brown
12eeb8b320 Fix #1935 - clear stub grandchildren 2019-07-11 18:23:02 -04:00
Brown
7d05568e22 Add skipped test for broken stubbing behaviour
Ref #1935
2019-07-11 12:51:43 -04:00
Brown
7268558aa7 Prevent unnecessary warnings 2019-07-11 11:07:39 -04:00
Brown
976d3bf787 Create cache directory if it doesn’t exist 2019-07-11 10:46:12 -04:00
Brown
73b1571bd7 Remove php version from default baseline generation 2019-07-11 10:41:44 -04:00
Brown
96ba4ad7d3 Fix #1925 - prevent LogicException when scanning files 2019-07-10 18:59:02 -04:00
Barney Laurance
ff6eae3d59 Show link to coverage & phar circle CI artifacts (fixes #1919 ) (#1928)
* Show link to coverage

* Simplify outputing coverage report link

* Display link to PHAR download
2019-07-10 15:43:17 -04:00
Brown
9aa0fd022c Fix potential coercion gotcha 2019-07-10 14:48:15 -04:00
Brown
8e149461f0 Remove unnecessary references to had_template 2019-07-10 14:03:13 -04:00
Brown
2cb7625515 Fix #1932 - coerce empty array passed as template param to general 2019-07-10 13:54:06 -04:00
Brown
e7aadee88f Fix #1931 - narrow down property assignment 2019-07-10 13:49:11 -04:00
Brown
2c6854f403 Massage arg type after coerced param
Ref #1927
2019-07-10 12:12:51 -04:00
Matthew Brown
1ae9ea5fed Use object instead of by-ref params 2019-07-10 01:35:57 -04:00
Tim van Dijen
d424cb3ccd Change signature on setcookie / setrawcookie (#1924)
Version 	Description
7.3.0 	An alternative signature supporting an options array has been added. This signature supports also setting of the SameSite cookie attribute.
2019-07-09 15:36:41 -04:00
Brown
884a03078b Fix #1886 - derived types from templates in new calls should be coercable 2019-07-09 14:48:26 -04:00
Matthew Brown
aa0efcf026 Add PHPUnit static analysis tests to real project settings 2019-07-09 07:39:03 -04:00
Matthew Brown
6cbf499f14 Fix #1922 - ignore iterable/array when transforming assertions 2019-07-09 07:38:37 -04:00