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

4560 Commits

Author SHA1 Message Date
Matthew Brown
1e853800a3 Fix #1657 - allow interface_exists to generate class-string assertion 2019-05-19 15:56:04 -04:00
Brown
4035823d51 Fix #1652 - allow totally-templated intersections 2019-05-17 15:40:52 -04:00
Brown
963d5bb901 Fix #1656 - allow chained call completion 2019-05-17 12:38:29 -04:00
Brown
a1c9ad501b Fix #1654 - understand templated completions 2019-05-17 12:11:27 -04:00
Josh Di Fabio
92ef851b9c LanguageServer: Handle late completion requests
Currently, Psalm Language Server is only able to handle completion
requests where the gap between a recent known type and the current
cursor position is exactly '->' or '::'. However, VS code often doesn't
send a completion request until an additional, third character has
been typed. This change allows Psalm to successfully serve
completion requests where an additional character has been typed.
2019-05-17 11:28:20 -04:00
Josh Di Fabio
d37cddea27 FileProvider: Consider file open if temp changes
The VS Code LSP client does not always send didOpen messages when a file
is being edited. This causes code completion requests to fail because the
completion request refers to files which are not 'open' according to
FileProvider.

This commit changes FileProvider so that a file is considered 'open' if it is
being modified, even if no didOpen message was received from the LSP
client.
2019-05-17 11:27:45 -04:00
Brown
0f3385ce95 Use sebastian/diff 2019-05-17 11:26:44 -04:00
Brown
ebe97c871e Make tests much faster 2019-05-17 11:22:34 -04:00
Matthew Brown
0d2fc4e774
Bump minimum PHPUnit version 2019-05-16 19:05:27 -04:00
Brown
0bd4dbcbc4 Bump to PHP 7.1
Fixes #1650
2019-05-16 18:36:36 -04:00
Brown
9a93525d33 Emit undefined docblock class error where appropriate on property fetcthes 2019-05-16 15:07:07 -04:00
Matthew Brown
ee3dfba8ab
Add documentation for all 19 hooks
Fixes #1582
2019-05-16 14:32:44 -04:00
Matthew Brown
e75ee77938
Added default name 2019-05-16 14:17:40 -04:00
Brown
66bbe5bb74 Allow space in intersection type
Ref #1645
2019-05-16 13:52:58 -04:00
Brown
6b04503cc4 Fix #1646 - reload functions from cache when not already stubbed 2019-05-16 13:32:31 -04:00
Matthew Brown
3599c20316 Fix #1641 - crawl intersection types 2019-05-15 22:30:35 -04:00
Barney Laurance
8f129f828b Document intersection and no-return types in docblock syntax
Also removed spaces from union type example.
2019-05-15 19:16:15 -04:00
Brown
4a434d9a2f Add separate issue for undefined classes in docblocks 2019-05-15 18:41:26 -04:00
Brown
02498a3d74 Fix #1639 - don’t escape unnecessary characters 2019-05-15 11:03:10 -04:00
Matthew Brown
cfff66efb7 Fix #1634 - don’t remove existing return types when preventing bc breaks 2019-05-15 00:34:56 -04:00
Matthew Brown
a34692fca0 Prevent crash when a class definition cannot be located 2019-05-14 23:49:15 -04:00
Matthew Brown
1c10ae11bf Fix #1580 - look for no-returns in try/catch statements 2019-05-14 21:22:29 -04:00
Barney Laurance
7f4173efc5 Fix typo in docs 2019-05-14 19:30:39 -04:00
Matthew Brown
cfde83775d
Fix Psalm errors 2019-05-14 19:30:10 -04:00
Barney Laurance
f4c754737f psalm-internal: Prevent use of @psalm-internal without @internal 2019-05-14 18:54:16 -04:00
Barney Laurance
6fbe2b0837 Extract function NamespaceAnalyzer::nameSpaceRootsMatch 2019-05-14 18:54:16 -04:00
Barney Laurance
14843ed58a psalm-internal - extract function NamespaceAnalyzer::isWithin
Also adjust behaviour so things can be internal to classes, not just to
namespace, and namespace comparision is case insensitive
2019-05-14 18:54:16 -04:00
Barney Laurance
cd673538f1 psalm-internal - refactor - use snake_case not camelCase 2019-05-14 18:54:16 -04:00
Barney Laurance
ade7815f0c Fix misleading docblocs 2019-05-14 18:54:16 -04:00
Barney Laurance
c35d21580f psalm-return - remove unusued variable 2019-05-14 18:54:16 -04:00
Barney Laurance
cd16dc7ac3 psalm-internal - PHPBCBF fixes 2019-05-14 18:54:16 -04:00
Barney Laurance
31ae10fb00 psalm-internal - document usage of @internal and @psalm-internal tags 2019-05-14 18:54:16 -04:00
Barney Laurance
fcf893d2e8 psalm-internal - disalow use of @psalm-internal property without setting namespace 2019-05-14 18:54:16 -04:00
Barney Laurance
7b7683bdaf psalm-internal - prevent setting internal property from other namespace 2019-05-14 18:54:16 -04:00
Barney Laurance
ce5d307f83 psalm-internal - present fetching internal property from other namespace 2019-05-14 18:54:16 -04:00
Barney Laurance
0ebcba3e02 psalm-internal - prevent instantiation of class from other namespace 2019-05-14 18:54:16 -04:00
Barney Laurance
b29e041d3c psalm-internal - prevent call to method marked psalm-internal from other namespace 2019-05-14 18:54:16 -04:00
Barney Laurance
059d1ef177 psalm-internal - prevent static call to psalm-internal class from other namespace 2019-05-14 18:54:16 -04:00
Barney Laurance
4415ef0dbd psalm-internal - prevent invalid extention of class internal to other namespace 2019-05-14 18:54:16 -04:00
Brown
f1d8b1e6e7 Prevent extending covariant template params
Fixes #1610
2019-05-14 18:51:30 -04:00
Brown
7fbbe964cb Fix #1609 - warn when using covariant template type as input 2019-05-14 18:17:38 -04:00
Brown
6f90e65733 Remove unnecessary newline 2019-05-14 17:47:40 -04:00
Brown
10272c2da1 Fix #1636 - don’t allow invalid phpdoc to be outputted 2019-05-14 17:41:22 -04:00
Brown
e7f4a52d2b Use better metric for a properly mismatching type 2019-05-14 16:15:38 -04:00
Ilija Tovilo
91fbb976ab Remove unused properties 2019-05-14 15:50:08 -04:00
Brown
30cbcb6c36 Add ImplementedParamTypeMismatch issue
Fixes #1633
2019-05-14 15:44:46 -04:00
Ilija Tovilo
2c36a10ac8 Fix #1622 - add allow-backwards-incompatible-changes flag to psalter
The flag prevents psalter from adding native return types
2019-05-13 17:59:31 -04:00
Matthew Brown
f33745ad25 Fix parameter offset for error 2019-05-13 16:01:41 -04:00
Matthew Brown
fe0f352132 Fix #1628 - improve behaviour of unset in loops 2019-05-13 11:00:17 -04:00
Matthew Brown
f8b4b12ec2 Fix #1622 - don’t update return types in docblocks when overridden elsewhere 2019-05-13 09:04:26 -04:00