Brown
edf3307f84
Fix Psalm errors
2019-06-14 15:55:23 -04:00
Brown
1bc1af140f
Move method calls outside classes and __CLASS__ constants
2019-06-14 15:54:15 -04:00
Brown
58b6ce3483
Fix bugs when moving methods that reference each other
2019-06-14 14:41:44 -04:00
Brown
7a6395490c
Allow @property to contain union types
2019-06-14 10:45:00 -04:00
Josh Di Fabio
bbe5773fa1
LS Completion: Improve filtering
...
Set `filterText` to member name so that visibility
and 'function' are not used by the IDE when filtering
completion items as the user types.
2019-06-13 21:06:08 -04:00
Josh Di Fabio
cb864206a2
LS Completion: Sort items by visibility first
2019-06-13 21:06:08 -04:00
Josh Di Fabio
ca19353645
Fix bad array_merge logic
2019-06-13 21:06:08 -04:00
Josh Di Fabio
eab4adc6e1
LS Completion: Do not suggest static members when gap is ->
2019-06-13 21:06:08 -04:00
Matthew Brown
389c196566
Fix #1779 - non-zero exit code when config not found
2019-06-13 19:34:57 -04:00
Brown
2fba2e42a9
Fix #1771 - allow psalm-refactor to manipulate namespaces
2019-06-13 18:28:46 -04:00
Brown
a341e867da
Add explanation for return
2019-06-13 16:28:21 -04:00
Brown
24eadc865f
Get out if method already analysed and not diffing methods
2019-06-13 16:15:29 -04:00
Brown
844442e039
Fix #1780 - set open file contents on save
2019-06-13 15:25:55 -04:00
Brown
e3c9dbf2c0
Fix #1617 and fix #1773 - properly filter out info in reports
2019-06-13 11:06:01 -04:00
Josh Di Fabio
78a9d1aa9b
Ensure any queued file analyses are done before completion
...
Language Server
---------------
When typing quickly, the LSP client can send multiple messages
in a group, including didChange messages followed by completion
messages. Currently, LanguageServer::doAnalysis() is only called
after a message group is processed. This can result in completion
being done with outdated file contents for example:
Message group with two messages is received
1. `didChange`: file analysis is queued for modified file
2. `completion`: completion attempted on stale file contents
3. `messageGroupRead`: analysis is done, but too late for completion
This commit ensures that any queued file analyses are done prior
to serving completion requests.
2019-06-13 09:04:52 -04:00
Matthew Brown
42bafc1e64
Fix #1775 - allow true|false to be accepted as bool
2019-06-13 08:55:36 -04:00
Brown
0ba535d179
Fix problem locating end of completion area
2019-06-12 13:43:35 -04:00
Josh Di Fabio
3db32f2274
Enable LS completion when whitespace follows known type
...
This change enables completion when there is whitespace following
a known type and an object access operator, e.g.:
$foo
->bar()
->baz();
2019-06-12 09:17:50 -04:00
Matthew Brown
53506fb879
Fix #1770 - fix notice that should not be
2019-06-12 09:13:59 -04:00
Brown
9c4599a0f0
Add better support for inheriting docblocks
2019-06-11 11:19:57 -04:00
Brown
7cf8c362f0
Fix #1766 - interpret interface parent extends properly
2019-06-11 10:49:39 -04:00
Brown
010f911d22
Fix replacement of local types
2019-06-11 10:33:52 -04:00
Brown
45f2d986e6
Allow multiple class renames at once
2019-06-10 17:09:34 -04:00
Brown
c21e9917fa
Add config flag to prevent inferring property types from constructor
2019-06-10 14:41:21 -04:00
Brown
aa2fde521a
Fix #1703 - infer properties from class params
2019-06-10 12:00:32 -04:00
Matthew Brown
e1255db32a
Prevent if checking unless we’re in a top-level if
2019-06-10 00:02:36 -04:00
Matthew Brown
158a2150a7
Fix #1752 - don’t enter if/else when class/interfaces/functions don’t exist
2019-06-09 23:50:28 -04:00
Matthew Brown
04b3bb23a4
Add non-empty-countable to Psalm reserved words
2019-06-09 17:54:23 -04:00
Matthew Brown
c0a9ccb385
Fix handling of unused params in threaded mode
2019-06-09 17:02:21 -04:00
Matthew Brown
348ed24881
Remove unused things
2019-06-09 13:12:08 -04:00
Matthew Brown
0145e60e6a
Allow property default to include value-of option
2019-06-09 12:47:27 -04:00
Matthew Brown
b5cbc84351
Fix #1617 - add option to only show errors in reports
2019-06-09 12:37:28 -04:00
Matthew Brown
3a5a347b0b
Fix #1747 - be tolerant of slash differences in baseline
2019-06-09 10:30:14 -04:00
Matthew Brown
93f81f599e
Fix #1764 - prevent UndefinedInterfaceMethod error when checking initialisation
2019-06-09 09:18:05 -04:00
Matthew Brown
537fbf059a
Allow moving instance method into subclass
2019-06-08 16:59:19 -04:00
Matthew Brown
395057c6df
Fix #1738 - constrain template type when class-string<T> is a param
2019-06-08 11:08:08 -04:00
Matthew Brown
c38108f95d
Fix byref array assignment
...
Fixes #1702
2019-06-08 10:32:46 -04:00
Matthew Brown
42cc201e9e
Fix #1698 - better understand inherited docblock return types
2019-06-08 09:44:22 -04:00
Matthew Brown
b0678bdc74
Improve treatment of key-of
...
Ref #1698
2019-06-07 21:27:50 -04:00
Matthew Brown
2fa0f27872
Prevent LessSpecificImplementedReturnType with extended template
2019-06-07 18:42:26 -04:00
Brown
c81a9a8737
Fix #1742 - allow is_countable assertion to mean something
2019-06-07 15:49:10 -04:00
Brown
4660beb28e
Still look at param defaults even without param types
2019-06-07 14:24:15 -04:00
Brown
3c3c8cd3b9
Always analyse class constants
2019-06-07 13:23:52 -04:00
Brown
b00d51b7db
Allow misplaced required params so Psalm still inspects the code
2019-06-07 09:25:12 -04:00
Matthew Brown
20c66f693e
Fix handling of class const types
2019-06-06 18:46:40 -04:00
Matthew Brown
36ac342496
Fix handling of property type with default
2019-06-06 17:42:23 -04:00
Matthew Brown
4a954acf84
Improve printing of literal types
2019-06-06 17:39:14 -04:00
Matthew Brown
b091ceaa9a
Fix union of literal class string
2019-06-06 17:18:24 -04:00
Brown
9aeaf1a4ed
Fix #1746 - allow DeprecatedInterface to be suppressed with referencedClass
2019-06-06 14:48:33 -04:00
Brown
b1d1ab974c
Preserve formatting of callable type
2019-06-06 14:27:49 -04:00