1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-05 13:10:49 +01:00
Commit Graph

7854 Commits

Author SHA1 Message Date
Matt Brown
1f8e80e820
Add some documentation for template_types 2021-01-29 11:47:06 +01:00
Matt Brown
8c33bedfca
Fix #4733 - don’t replace template types when they’re defined on the same class 2021-01-29 11:47:06 +01:00
Matt Brown
fb474c2e07
Expand out constants in param types earlier 2021-01-29 11:47:06 +01:00
Matt Brown
82f1fe61e5
Fix check 2021-01-29 11:47:06 +01:00
Matt Brown
ad5ec9501d
Ensure class template types are mapped to static methods where necessary
Ref #4733
2021-01-29 11:47:06 +01:00
Matt Brown
2840faa519
Improve param name 2021-01-29 11:47:06 +01:00
Matt Brown
2b152d5d97
Simplify calling of replacer methods 2021-01-29 11:47:05 +01:00
Matt Brown
67d319657a
Break out replacement of templated types with their inferred result 2021-01-29 11:47:05 +01:00
Matt Brown
e9ec1b28a2
Simplify storage and retrieval of extended template params 2021-01-29 11:47:05 +01:00
Matthew Brown
cbd8150fde
Add RedundantPropertyInitializationCheck (#4732)
* Add RedundantPropertyInitializationCheck

* add documentation for RedundantPropertyInitializationCheck (#4734)

Co-authored-by: orklah <orklah@users.noreply.github.com>
2021-01-29 11:47:05 +01:00
Matt Brown
a3cf052314
Remove unset thing 2021-01-29 11:47:05 +01:00
Matt Brown
27c303ee39
Detect some erroneous issets 2021-01-29 11:47:05 +01:00
Matthew Brown
0a575b217a
Fix redundant mappings 2021-01-29 11:47:05 +01:00
Jeremiasz Major
13d8f4f3e1
Fix broken links in documentation (#4730)
* Fix links in documentation

* Fix more links
2021-01-29 11:47:04 +01:00
Matt Brown
119ac8bbdf
Fix the bug 2021-01-29 11:47:04 +01:00
Matt Brown
9fdc56ff75
Fix template type selection 2021-01-29 11:47:04 +01:00
orklah
17ea7784dd
fix #3282 (#4724) 2021-01-29 11:47:04 +01:00
Matt Brown
c0a0497d1a
Simplify ArrayFetchAnalyzer::getArrayAccessTypeGivenOffset
Ref #4714
2021-01-29 11:47:04 +01:00
Bruce Weirdan
d13f0b6a7c
Added test to enforce that all supported annotations are documented (#4723)
* Added test to enforce that all supported annotations are documented

Well, at least mentioned.

Refs vimeo/psalm#3816

* Type things

* Make things pretty

* Only check @psalm- annotations, group

* Add documentation for `@psalm-require-extends` and `@psalm-require-implements`

* Dropped logicalOr that has become redundant

* Add explicit tag

* Document @psalm-template

* Add @psalm-template-covariant

* Document `@psalm-method`

* Add list of undocumented docblock annotations

Co-authored-by: Matthew Brown <github@muglug.com>
2021-01-29 11:47:04 +01:00
Matt Brown
1c48258fe2
Fix range return type to always non-empty lists 2021-01-29 11:47:04 +01:00
Matt Brown
5cf5aecb2f
Fix #3017 - use correct keys when converting list to array 2021-01-29 11:47:04 +01:00
Matt Brown
3005d2e1d7
Simplify more things 2021-01-29 11:47:04 +01:00
Matt Brown
65947e5808
Show complex methods in info 2021-01-29 11:47:03 +01:00
Matt Brown
5b0e8bd1be
Only show possibly unused params on methods that don’t extend others 2021-01-29 11:47:03 +01:00
orklah
0df867cdff
fix array_column with possibly_undefined keys (#4719) 2021-01-29 11:47:03 +01:00
orklah
b084e2c4bd
add annotation @psalm-param-out (#4717)
* add annotation @psalm-param-out

* add tag in documentation
2021-01-29 11:47:02 +01:00
Matt Brown
3be31563d6
Add complex issue error 2021-01-29 11:46:28 +01:00
Matt Brown
0b292a55c1
Simplify FunctionCallAnalyzer
Ref #4714
2021-01-29 11:46:28 +01:00
Matt Brown
ce38868871
Simplify call analysers a bit
Ref #4714
2021-01-29 11:46:28 +01:00
Matt Brown
8e372d30ac
Simplify ArrayAnalyzer
Ref #4714
2021-01-29 11:46:28 +01:00
Matt Brown
ccccee289c
Don’t alter behaviour 2021-01-29 11:46:28 +01:00
Matt Brown
9089f77176
Turn template bound tuples into object
Ref #4714
2021-01-29 11:46:27 +01:00
orklah
45d058c2dd
better fix for reconciling iterable and object (#4712) 2021-01-29 11:46:27 +01:00
Matt Brown
0b605d6b3c
Add complexity function name echoing 2021-01-29 11:46:27 +01:00
orklah
3636a9e361
Allow <false|T as object> to be falsy (#4711) 2021-01-29 11:46:27 +01:00
gdejong
45c51eb121
Migrate PHPUnit configuration (#4710)
Co-authored-by: Gijs de Jong <gijs.de.jong@munisense.com>
2021-01-29 11:46:27 +01:00
Matt Brown
7e486565d1
Skip missing function params in taint analysis 2021-01-29 11:46:27 +01:00
Matt Brown
9539c0f27f
Fix generic ArrayAccess creation cc @orklah 2021-01-29 11:46:27 +01:00
orklah
1966766a79
Allow reconciling between object and iterable (#4706)
* Allow reconciling between object and iterable

* add tests
2021-01-29 11:46:27 +01:00
orklah
1511989521
Fix PHPMAXINT offset (#4707) 2021-01-29 11:46:27 +01:00
Matt Brown
33d2561c1c
Fix style issues 2021-01-29 11:46:26 +01:00
Matt Brown
ecbb5c77b2
Fix test failures 2021-01-29 11:46:26 +01:00
Markus Staab
86af28aa31
Document more taint types (#4704)
* Document more taint types

Taken from the TaintKind enum

* Add more of a description

Co-authored-by: Matthew Brown <github@muglug.com>
2021-01-29 11:46:26 +01:00
LeSuisse
2a56a3a0c9
Fix incorrect taint sink map for \rmdir (#4703)
Closes #4690
2021-01-29 11:46:26 +01:00
Markus Staab
6474d7ee6c
Declare PdoStatement->fetchObject($class_name) a taint sink (#4701)
* Declare PdoStatement

* Change to a callable sink

Co-authored-by: Matthew Brown <github@muglug.com>
2021-01-29 11:46:26 +01:00
orklah
3593a41060
fix wrong cast to int when string offset is a number > MAX INT (#4702) 2021-01-29 11:46:26 +01:00
Matt Brown
033a209950
Treat $a ?? $b identically to isset($a) ? $a : $b 2021-01-29 11:46:26 +01:00
Matt Brown
5228ff6369
Fix #4699 - treat isset like !== null when variable is defined 2021-01-29 11:46:26 +01:00
Matt Brown
31249d7c85
Pass correct flags when referencing from finally 2021-01-29 11:46:26 +01:00
Markus Staab
4206a4f59e
Added PDOStatement->fetchObject() stub (#4693)
* Added PDOStatement->fetchObject() stub

* fix stub param

* fix Xdebug spelling

* Use extension_loaded check instead

Co-authored-by: Matthew Brown <github@muglug.com>
2021-01-29 11:46:25 +01:00