Matthew Brown
2439a9f6a0
Allow instance method renaming, too
2019-06-02 12:02:39 -04:00
Matthew Brown
cc89b9254d
Add initial ideas for moving static methods
...
Ref #1595
2019-06-01 00:56:54 -04:00
Ilija Tovilo
5a14e4b1cf
Progress bar ( #1709 )
...
* Revert "Revert "Implement better progress""
This reverts commit 4302596654
.
* Revert "Revert "Implement dots progress bar""
This reverts commit e41733d789
.
* Revert "Revert "Switch to VoidProgress by default""
This reverts commit 304ffeb0a3
.
* Revert "Revert "Pass success flag to progress""
This reverts commit 62a690ee4e
.
* Improve socket communication
* Use an underscore
* Add means to disable progress
* Add extra newline before progress bar
2019-05-30 10:30:41 -04:00
Matthew Brown
4302596654
Revert "Implement better progress"
...
This reverts commit 042070d0fd
.
2019-05-27 13:07:02 -04:00
Matthew Brown
304ffeb0a3
Revert "Switch to VoidProgress by default"
...
This reverts commit 63b46be361
.
2019-05-27 13:04:38 -04:00
Ilija Tovilo
63b46be361
Switch to VoidProgress by default
2019-05-26 23:18:48 -04:00
Ilija Tovilo
042070d0fd
Implement better progress
2019-05-26 23:18:48 -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
Matthew Brown
a34692fca0
Prevent crash when a class definition cannot be located
2019-05-14 23:49:15 -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
Brown
fea9faaec5
Allow psalter to be used in multithreaded mode
2019-04-17 13:15:06 -04:00
Matthew Brown
01f005290e
Allow file path to be passed into methodExists
2019-04-17 00:17:49 -04:00
Brown
ff14f671b1
Add hopefully-more-portable method for evaluating method/property usage
2019-04-16 16:07:48 -04:00
Matthew Brown
21fd385eb4
Fix brackets
2019-04-12 20:30:28 -04:00
Brown
26e2de93c7
Prepare to enable paralellised use of --find-dead-code
...
References #1548
2019-04-12 18:28:07 -04:00
Matthew Brown
0da3623372
Prevent internal consumers of classExists from being penalised
2019-03-17 17:11:04 -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
bd372e93af
Add config flags for findUnusedVariables and findUnusedCode
2019-03-05 15:45:09 -05:00
Matthew Brown
92cba71a06
Add extra arg to return type call
2019-03-03 22:57:40 -05:00
Matthew Brown
3ad1abece4
Add generation of json artifacts
2019-02-24 01:33:25 -05:00
Matthew Brown
cdae79b9fe
Fix unnecessary params in Psalm codebase
2019-02-23 11:31:33 -05:00
Bruce Weirdan
991fd90a12
Added tests for exposed methods
2019-02-21 08:43:57 -05:00
Matthew Brown
0e5ee1a811
Fix typo
2019-02-21 08:43:57 -05:00
Bruce Weirdan
adc5d24399
Added documentation for several exposed methods
...
Documented:
- isTypeContainedByType
- canTypeBeContainedByType
- getKeyValueParamsForTraversableObject
2019-02-21 08:43:57 -05:00
Bruce Weirdan
a0e040a462
Expose more internal methods through Codebase
...
- `bool Codebase::canTypeBeContainedByType(Union $input, Union $container)`
- `array{Union,Union} Codebase::getKeyValueParamsForTraversableObject(Atomic $type)`
For usage, see psalm/phpunit-psalm-plugin#15
2019-02-21 08:43:57 -05:00
Matthew Brown
81a5a24e15
Suppress PossiblyUnusedMethod
2019-02-18 15:56:31 -05:00
Bruce Weirdan
e87f500458
Added Psalm\Codebase::isTypeContainedByType()
2019-02-18 15:56:31 -05:00
Bruce Weirdan
8408effe57
Dropped unused uses
2019-02-17 13:17:45 -05:00
Matthew Brown
17541b415f
Fix #1191 - allow Psalm to check against different versions of PHP
2019-02-07 12:25:57 -05:00
Matthew Brown
0574e06a42
Remove 7.0-incompatible type
2019-01-27 18:31:40 -05:00
Matthew Brown
45cf35350c
Add non-internal endpoint for parsing types
2019-01-27 17:26:32 -05:00
Brown
51c6621925
Add property lookup
2019-01-22 11:10:37 -05:00
Brown
2d22db4cb7
Clear up use of reloadFiles
2019-01-02 12:10:52 -05:00
Matthew Brown
947e3bf0f1
Fix crashes when analysing aliased class instances
2018-12-21 11:32:44 -05:00
Tyson Andre
6ab59209d6
Fix usage of substr_count($haystack, $needle)
...
Detected via a check that literals and variables occur in the most
typical order for a global function.
2018-11-21 13:59:22 -05:00
Brown
b5f0159cdf
Add backup hover analysis when file isn’t analysed
2018-11-20 16:32:40 -05:00
Brown
ca602f8e17
Fix language server crash after editing trait method names
2018-11-20 15:51:47 -05:00
Brown
0254322bed
Migrate Codebase-namespaced and FileManipulation-namespaced classes to internals
2018-11-12 11:20:59 -05:00
Matthew Brown
9709263b8d
Make many PropertyAnalyzer properties private
2018-11-12 11:20:59 -05:00
Matthew Brown
4d79b61e93
Change _checker to _analyzer
2018-11-12 11:20:59 -05:00
Matthew Brown
4688b25fd9
Move internal classes to own namespace
2018-11-12 11:20:59 -05:00
Matthew Brown
9f2fe748e8
Improve handling of vars set in always-entered for/foreach/while loops
2018-11-10 16:10:59 -05:00
Brown
f2c013e45f
Improve API for setting temporary file contents
2018-11-09 10:42:55 -05:00
Matthew Brown
7d12bfd2d1
Cache errors as well as info issues
2018-11-01 21:52:39 -04:00
Brown
e286089eaa
Add onchange events and symbol lookup with disabled completion
2018-10-26 16:17:15 -04:00
Matthew Brown
addaea2c1c
Improve performance when parsing large files with few changes
2018-10-26 00:59:14 -04:00
Brown
a41c5c8a39
Fix code quality issues
2018-10-18 09:57:13 -04:00
Brown
b7c438bf97
Fix slowness when invalidating heavily-used files
2018-10-17 18:11:02 -04:00
Brown
54fdda651b
Add server mode support with error reporting only
2018-10-17 15:54:31 -04:00
Brown
5a484901cd
Improve the way that files are reloaded (server only)
2018-10-16 15:59:11 -04:00
Brown
f9cca5e597
Add support for forking at the scanning step
2018-10-15 09:16:11 -04:00
Brown
55bb896868
Fix bugs Psalm found
2018-10-08 20:04:05 -04:00
Matthew Brown
7e01576653
Fix #1011 - don’t re-analyse constructors if we can help it
2018-10-06 22:58:21 -04:00
Matthew Brown
92e11fd51b
Port over cleanup from server branch
2018-10-06 20:11:19 -04:00
Brown
f2cea0325f
Slightly improve trait handling
2018-10-03 17:11:08 -04:00
Brown
d0bd10d143
Improve provider architecture, upping test coverage
2018-09-30 11:34:51 -04:00
Brown
05a0bdc93b
Remove PHP7 types
2018-09-30 11:34:51 -04:00
Brown
67c90edadf
Don’t check methods we’ve already checked
2018-09-30 11:34:51 -04:00
Matthew Brown
16e270f0ee
Improve loading of stub file and autoload file information
...
Ref #849
2018-06-30 15:29:37 -04:00
Matthew Brown
ce1fda46a6
Fix hard-to-resolve constant values
2018-06-27 21:53:25 -04:00
Matthew Brown
6bfde90db4
Improve Psalm type inference summary to include required files
2018-06-03 18:31:43 -04:00
Matt Brown
5c0f4a999c
Move a bunch of classes to better places
2018-05-11 18:35:02 -04:00
Matthew Brown
1c7568e612
Fix #642 - allow @method to override existing methods
...
behind usePhpDocMethodsWithoutMagicCall="true"
2018-04-21 23:08:08 -04:00
Matt Brown
81f167df65
Remove bad semicolon
2018-04-05 14:40:41 -04:00
Matthew Brown
a0ce8791d3
Detect fatal issues where property access is overridden
...
Fixes #547
2018-03-04 12:24:50 -05:00
Matthew Brown
724e72af58
Don’t get statements from cache if file hasn’t changed
2018-02-19 11:53:30 -05:00
Matthew Brown
81fd016120
Fix #193 - allow caching of storages
2018-02-19 00:27:39 -05:00
Tyson Andre
aea3779c96
Fix unused imports in psalm, wrong param order doc comments ( #523 )
...
(Some of the imports appear as strings elsewhere in the same file)
2018-02-18 17:55:11 -05:00
Matthew Brown
108ca54867
Fix #516 - make sure --find-references-to doesn’t output missing references
2018-02-17 17:45:30 -05:00
Matthew Brown
e862e4ddb1
Make all plugin methods static
...
cc @TysonAndre
2018-02-11 20:56:34 -05:00
Matt Brown
6f7903716d
Move property lookup api into codebase class
2018-02-08 18:14:28 -05:00
Matthew Brown
8e0998e081
Break apart the Codebase class
2018-02-03 18:56:54 -05:00
Matthew Brown
8d2baf584e
Fix #479 - allow PhpStorm generic syntax behind a config flag
2018-02-01 01:10:27 -05:00
Matthew Brown
fb300baa6d
Move a bunch of code into Codebase
2018-02-01 00:50:01 -05:00
Matthew Brown
cf8734a480
Add support for generic classes
2018-01-31 23:27:25 -05:00
Matt Brown
3d6bb23e28
Add stats breakdown for files
2018-01-31 17:09:09 -05:00
Matt Brown
fc805a926e
Add code coverage message at the end of a scan
2018-01-31 16:08:52 -05:00
Matthew Brown
7ce053bd8a
Make docblocks sligtly more phpdoc-compatible
2018-01-28 16:52:57 -05:00
Matthew Brown
f628187de9
Remove dead code found by improved Psalm checks
2018-01-28 12:01:51 -05:00
Matt Brown
1320b6dd54
Fix #472 - inherit interface method docblocks if defined just once
2018-01-26 11:50:29 -05:00
Matt Brown
0018dee5e3
Fix single file checks
2018-01-24 12:00:10 -05:00
Matthew Brown
2994d1e339
Add tests for reference checks
2018-01-21 23:42:57 -05:00
Matthew Brown
0fcba8547c
Make the ordering for file manipulations strict as possible
2018-01-21 22:01:02 -05:00
Matthew Brown
dea1d58b2a
Fix #461 - allow multiple replacements at the same location
2018-01-21 21:24:22 -05:00
Matthew Brown
bc9761f6c9
Create Codebase out from ProjectChecker
2018-01-21 13:45:33 -05:00