Sara Itani
76c8536e91
first pass at completion provider (work in progress)
2017-04-25 17:09:52 -07:00
Stephan Unverwerth
08cf1a3fd7
Allow getting type from define() node ( #363 )
...
* Allow getting type from define() node
- fixes #364
* Add test case for DefinitionResolver
2017-04-24 11:11:40 +02:00
Sara Itani
ed6469219a
fix trait use and scoped call expressions
2017-04-20 01:33:45 -07:00
Sara Itani
223a2eac6c
fix return type resolution issue
2017-04-20 00:58:26 -07:00
Sara Itani
347a5a12ae
Update + clarify type resolution logic
2017-04-20 00:20:47 -07:00
Sara Itani
bfbad095ee
Fix and start cleaning up type resolution issues
2017-04-19 17:52:37 -07:00
Sara Itani
f5a93a2e09
refactor definition resolver, fix misc. issues
2017-04-18 22:48:26 -07:00
Jens Hausdorf
b1cc7bf6b0
Support constants with define() ( #347 )
2017-04-17 17:03:08 +02:00
Sara Itani
65686c6d4c
Fix namespace name, use variable issues
2017-04-16 16:32:38 -07:00
Sara Itani
54f385f9ec
Fix misc. issues, add more test cases, update validation test
2017-04-16 15:11:14 -07:00
Sara Itani
4382821b8c
Update logger to better handle errors
2017-04-16 15:09:05 -07:00
Sara Itani
6d39d87278
Fix class inheritance issue, fix parenthesized expression type resolution
2017-04-13 11:51:10 -07:00
Sara Itani
26152b1de6
Temporary change to expose index to validation tests
2017-04-13 09:13:03 -07:00
Sara Itani
05bccec84d
Ensure duplicate ScopedPropertyAccess expressions don't appear
2017-04-13 09:12:30 -07:00
Sara Itani
d6d9712134
clarify logic around scoped and member access expressions
2017-04-12 16:53:03 -07:00
Sara Itani
35ce3af324
fix issue where call expression references weren't being properly indexed
2017-04-12 12:51:24 -07:00
Sara Itani
39fe9dc7bc
fix issue where vars not being resolved to corresponding parameter definitions, update logging and validation tests
2017-04-11 16:24:35 -07:00
Sara Itani
57ebd58b6c
Update validation tests to verify more definition properties, references
2017-04-11 12:54:20 -07:00
Sara Itani
981b74a6db
don't get docblock comment for namespace definition nodes
2017-04-11 12:52:24 -07:00
Sara Itani
219c018ab2
Disclude anonymous class members from definitions
2017-04-10 21:58:08 -07:00
Sara Itani
3d5d46d4e7
don't use generator during iteration
2017-04-10 14:18:19 -07:00
Sara Itani
b02c164c2b
fix property / constant ancestor check
2017-04-10 13:13:47 -07:00
Sara Itani
21cee77624
include traits and interfaces when retrieving fqn
2017-04-10 12:42:49 -07:00
Sara Itani
fa52aef28a
revert isClass -> canBeInstantiated
...
- ensures consistency w/ old parser
2017-04-10 12:29:58 -07:00
Jens Hausdorf
de6aed608c
Show constructors and destructors with right symbol ( #346 )
2017-04-09 19:44:28 +02:00
Talv
14a6d65832
Fix missing '()' for function definition ( #340 )
2017-04-02 00:30:10 +02:00
Sara Itani
7d68e3acc3
Only traverse tree 1x for definitions + references
2017-03-29 10:48:53 -07:00
Sara Itani
d62bdeac82
revert earlier change to fix tests
2017-03-29 10:45:38 -07:00
Sara Itani
a5fec9452b
Fix misc. issues in language server
2017-03-28 14:02:26 -07:00
Sara Itani
42dc2c966d
Update validation tests
...
- assert non-null ASTs
- additional submodules
2017-03-28 13:59:24 -07:00
Sara Itani
a69c93b28b
Print null docs in language server perf log
2017-03-28 13:55:10 -07:00
Sara Itani
4ac56d83a4
Update logging
...
- add diagnostics for old parser
- include maxRecursion levels
- include option to run functions multiple times to help profile
2017-03-28 13:53:53 -07:00
Sara Itani
946b5b1cdb
Fix exception during diagnostics parsing
2017-03-24 10:31:23 -07:00
Sara Itani
c84b91de2b
Fix exception during definition resolution
2017-03-24 10:30:34 -07:00
Sara Itani
7b633f5e07
minor perf improvements
2017-03-21 15:25:49 -07:00
Jens Hausdorf
4d0a0a2a10
show anything from a doc comment block ( #315 )
2017-03-19 12:15:39 +01:00
Sara Itani
81ba7df91c
fix some crashes, perf issues
2017-03-15 14:10:52 -07:00
Sara Itani
0824e6d9b8
start adding validation tests
2017-03-15 14:10:29 -07:00
Sara Itani
4324530389
Find all references support
2017-03-09 15:57:57 -08:00
Sara Itani
167b6ac6f2
Update getDocBlock to use context information. All Definition tests pass!
2017-03-06 21:31:13 -08:00
Sara Itani
e45648daab
fix global constant fallback
2017-03-06 16:12:26 -08:00
Sara Itani
afca7ea7e0
fix definitions namespaced function calls
2017-03-06 16:08:06 -08:00
Sara Itani
d02253c9f6
fix base class logic
2017-03-06 15:34:43 -08:00
Sara Itani
1ff1b38ec2
fix subscript expression resolution
2017-03-06 14:21:36 -08:00
Sara Itani
4653f100a7
fix variableName symbol info, offsets in tests
2017-03-06 13:59:12 -08:00
Sara Itani
d21e7e7008
Fix qualified name resolution
2017-03-06 11:07:05 -08:00
Sara Itani
1316761e5e
fix scoped expression definition resolution
2017-03-06 11:01:10 -08:00
Sara Itani
c18bec0d50
small fixes, add diagnostic mode
2017-03-05 23:23:33 -08:00
Sara Itani
d3f2bebb40
Hover and Go-To definition (in progress)
2017-03-05 20:22:13 -08:00
Sara Itani
cdf8fc36e1
add getNodeAtPosition, fix definition collector tests
2017-03-05 16:34:01 -08:00
Sara Itani
15eed55158
Symbol support for Microsoft/tolerant-php-parser
2017-03-04 20:56:01 -08:00
Sara Itani
722898f74d
refactor
2017-03-04 18:36:17 -08:00
Sara Itani
2280e7889b
extract to tree analyzer interface
2017-03-04 17:44:04 -08:00
Sara Itani
e7b04f7518
extract symbol information
2017-03-01 16:51:52 -08:00
Sara Itani
b1eb43516d
update definition resolver interfaces
2017-03-01 16:51:46 -08:00
Sara Itani
591ecbd7d3
Extract static FQN methods to FqnUtilities
2017-03-01 16:51:45 -08:00
Sara Itani
df315df04b
start refactoring definition resolver
2017-03-01 16:51:43 -08:00
Sara Itani
13241a7be9
initialize tolerant-php-parser
2017-03-01 16:51:16 -08:00
Sara Itani
0de7ba8335
Ensure diagnostics are cleared on file deletion ( #319 )
...
* Ensure diagnostics are cleared on file deletion
Previously, error diagnostics would not be cleared when a file was deleted while it was closed. This would result in lingering errors in the problems view that could only be cleared by reloading the language server. This fix addresses the issue by adding support for workspace/didChangeWatchedFiles and automatically clearing diagnostics for deleted files.
* add FileEvent constructor
2017-03-01 11:18:37 +01:00
Matthew Brown
56bd465bf8
DefinitionResolver fixes ( #307 )
...
* Fix class references
* Fix return types
2017-02-20 10:28:49 +01:00
Matthew Brown
cbfd70d398
Abort traversal in NodeAtPositionFinder ( #305 )
2017-02-18 00:28:10 +01:00
Trevor Bortins
d5c54ac30f
Read vendor directory from project's composer.json, if set. ( #281 )
2017-02-07 23:20:12 +01:00
Felix Becker
571b26a0c3
Use php_uname() instead of PHP_OS ( #283 )
2017-02-06 16:42:45 +01:00
Felix Becker
3c11cde9fb
Include packages-dev ( #282 )
2017-02-06 16:35:16 +01:00
Felix Becker
5100d89617
Make resolveExpressionNodeToType() handle null ( #277 )
2017-02-04 12:52:04 +01:00
Felix Becker
bedd157636
Caching ( #260 )
2017-02-04 00:20:38 +01:00
Felix Becker
d8823bc7dc
Use JetBrains PHPStorm stubs from packagist ( #264 )
...
* Use JetBrains PHPStorm stubs from packagist
* Fix path
2017-01-30 11:55:13 +01:00
Felix Becker
96aa998486
Make Index an EventEmitter ( #255 )
2017-01-25 01:38:11 +01:00
Ivan Bozhanov
43a91b0d09
Handle hover for $this ( #249 )
2017-01-19 15:47:11 +01:00
Felix Becker
d080c161a9
Don't crash if indexing fails
2017-01-13 12:06:58 -08:00
Felix Becker
106aa24b5d
Implement global references protocol extension ( #236 )
2017-01-10 17:08:52 -08:00
Felix Becker
49245fd4d3
Allow overriding ( #229 )
...
* Add missing documentLoader property
* Make PhpDocumentLoader->contentRetriever public
2017-01-04 19:18:14 -08:00
Felix Becker
662143abad
Fix wrong function call in DefinitionResolver
2016-12-24 16:35:20 +01:00
Felix Becker
b93d4f33cb
Fix stubs location
2016-12-20 13:53:15 +01:00
Felix Becker
710d2a7ff7
Fix autoloading in ComposerScripts
2016-12-20 13:44:01 +01:00
Felix Becker
2005518dfe
Support find-all-references for namespaces ( #221 )
2016-12-17 03:46:08 +01:00
Felix Becker
83618fee2e
Avoid multiple references with function calls ( #220 )
2016-12-16 23:42:47 +01:00
Felix Becker
2242a35678
Reset definitions and references on content update ( #219 )
2016-12-16 23:33:55 +01:00
Felix Becker
a4a13e6528
Add support for inherited members ( #218 )
...
in completion, definition, references, hover etc
2016-12-16 01:40:17 +01:00
Felix Becker
cc9d5e987b
Fix wrong class name
2016-12-15 18:01:44 +01:00
Felix Becker
0b61951a9c
Support hover for definitions
...
#201
2016-12-13 03:18:07 +01:00
Felix Becker
96ea8608d7
Support getting references from a reference
...
Closes #201
2016-12-13 02:53:01 +01:00
Felix Becker
b8a113ddd0
Correct reference collection for New_ nodes
...
Closes #202
2016-12-13 02:40:51 +01:00
Felix Becker
d90a88e625
Add missing property declaration
2016-12-13 02:13:57 +01:00
Felix Becker
d7fc9e0425
Index twice to collect dynamic references ( #206 )
2016-12-13 02:11:29 +01:00
Felix Becker
a7d77d844e
Add Index classes and stubs ( #214 )
2016-12-13 01:51:02 +01:00
Felix Becker
b9f9871156
Files finder ( #209 )
2016-12-08 02:33:48 +01:00
Felix Becker
ebd1cc6133
Refactor content retrieval ( #208 )
2016-12-08 01:51:32 +01:00
Michal Niewrzal
db6f4f7e5d
Don't filter properties on typed prefix ( #207 )
2016-12-07 21:17:55 +01:00
Felix Becker
10fb3c92e0
Completion ( #165 )
...
* Add support for method/property completion
* Move completion fixtures into directory
* Add support for variable suggestions
Refactor logic into CompletionProvider class
* Allow getTypeFromNode() to take Variable nodes
* Use property and constant values
* Fix using @var tag for variables
* Improve completion
* classes
* variables with prefix filtering
* Make FQNs more distinct
* use -> for instance methods/properties
* use ::$ for static properties
* Add tests for static access
* Properly filter completion on empty property
* Fix existing tests
* Add support for static access without prefix
* Fix testFullyQualifiedClass
* Add missing fixtures
* Correct file number in init test
* Only insert backslash if not typed yet
* Completion for keywords and bug fixes
* Correct variable insertion
* Support completion for namespaces
* Use CompletionList
* Always set isIncomplete to true
* Update PHPCodeSniffer
* Remove unused method
* And the call
* Handle case where FQN could not be resolved
2016-11-30 22:23:51 +01:00
Felix Becker
f56b14438b
Shutdown when the socket is closed ( #191 )
2016-11-30 21:10:05 +01:00
Michal Niewrzal
ea92b224cd
Symbols throws error for empty php file ( #187 )
...
Closes #186
2016-11-29 13:10:02 +01:00
Michal Niewrzal
e8ab8aa2b8
Make processId optional for initialization ( #178 )
2016-11-23 18:38:57 +01:00
Felix Becker
429114ff97
Handle group use declarations in DocBlockParser ( #166 )
2016-11-19 13:04:13 +01:00
Felix Becker
5213940064
Don't encode spaces to +
2016-11-19 12:25:52 +01:00
Felix Becker
8f6ee8dd02
Handle null return from getClosestNode()
2016-11-19 12:03:43 +01:00
Felix Becker
00bc8537a6
Support compound types when resolving FQNs
2016-11-19 11:45:25 +01:00
Felix Becker
fb84741d55
Add missing property
2016-11-19 06:37:07 +01:00
Felix Becker
c2ae7cd022
FIx crashes when tag doesn't have a type
2016-11-19 06:36:57 +01:00
Felix Becker
33211c68ca
Resolve expressions recursively ( #155 )
...
* Add Definition class
* Add recursive DefinitionResolver
* Cache hover
2016-11-18 15:22:24 +01:00