Hugo Thunnissen
3a0ce3ac2d
Fix another infinite recursion bug
...
Bug occured in scenario's where array-members were self-referentially assigned
in a foreach loop.
like so:
foreach($things as $thing) {
$thing = $this->something;
}
1 month ago
Hugo Thunnissen
2d93ec7f79
Fix infinite recursion bug in `phpinspect--get-pattern-type-in-block'
1 month ago
Hugo Thunnissen
93b815d71a
Index used traits (juste use of type, no actual functionality outside of that)
1 month ago
Hugo Thunnissen
130e2c06c5
Index types used in arrays
1 month ago
Hugo Thunnissen
f1dc699560
Detect types used with "instanceoff"
1 month ago
Hugo Thunnissen
f2f1ac9b84
Add property types and anonymous function argument types to used-types index
1 month ago
Hugo Thunnissen
3fff772d8a
Fix phpinspect-buffer-index-functions test
1 month ago
Hugo Thunnissen
2520c89680
Account for tokens after @method annotation when indexing
...
- Add :rest keyword to `phpinspect--match-sequence'
- Use :rest keyword in `phpinspect--index-method-annotations'
1 month ago
Hugo Thunnissen
dfdef3e382
Implement support for PHP8.1 property typehints
2 months ago
Hugo Thunnissen
2aac7a273e
Support @method annotations for static methods
2 months ago
Hugo Thunnissen
712268e4ec
Fix bug in autoloader that caused registration of only one FQN per type
ci/woodpecker/push/woodpecker Pipeline failed
Details
6 months ago
Hugo Thunnissen
ea133c2044
Fix bug in `phpinspect-splayt-find-all-between' that impacted import indexation
ci/woodpecker/push/woodpecker Pipeline failed
Details
6 months ago
Hugo Thunnissen
7f2baf2c68
Make phpinspect--match-sequence return nil unless entire sequence matches
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
6b832b521b
Prefix unused lexical variable in test with _
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
3e28231d03
Remove unnecessary macros + use `let' to set PLACE in iterative macros
1 year ago
Hugo Thunnissen
81919175ca
Implement stub index for builtin functions and types
...
Misc:
- Removed Cask in favor of dependency install script
- Rework makefile to provide simple build/install process
1 year ago
Hugo Thunnissen
2d29bce498
Apply overall code quality improvements
...
ci/woodpecker/push/woodpecker Pipeline failed
Details
Even benchmarks and tests now compile without warnings or errors :)
This includes patches from Stefan Monnier:
- https://lists.gnu.org/archive/html/emacs-devel/2023-08/msg00548.html
1 year ago
Hugo Thunnissen
20ec37481a
Fix compilation of benchmarks and tests
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
a99f73b83d
Use rear pointer instead of nconc to append to end of list
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
8cfc48348f
Run relint and fix detected regexp issues
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
ad4b1f25a6
Update copyright statements and apply some code style improvements
...
ci/woodpecker/push/woodpecker Pipeline failed
Details
As suggested by Stefan Monniers patch:
- https://mail.gnu.org/archive/html/emacs-devel/2023-08/msg00367.html
1 year ago
Hugo Thunnissen
84ddaf1dc2
Fix all byte compilation warnings and errors (for real this time (probably))
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
68c826243c
Keep index synchronized with buffer state
1 year ago
Hugo Thunnissen
04606a4756
Fix test
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
55413ea9fb
Implement basic support for function indexation and include dirs
...
ci/woodpecker/push/woodpecker Pipeline failed
Details
Does not yet include support for imported namespaced functions
1 year ago
Hugo Thunnissen
d86ef5756b
Remove `phpinspect-define-pipeline-step' in favor of direct fun call
1 year ago
Hugo Thunnissen
f5cc681105
Fix let parenthesis in test-buffer.el
1 year ago
Hugo Thunnissen
d51137e58e
Remove faulty edit tracker code based on wrong deduction
1 year ago
Hugo Thunnissen
9b82c0d0f6
Reimplement `phpinspect-fix-imports' using metadata objects
1 year ago
Hugo Thunnissen
135263c533
Add tests for incremental parsing + fix parser bugs that came to light
1 year ago
Hugo Thunnissen
db370623da
Implement "files" autoload strategy
1 year ago
Hugo Thunnissen
f003b6a279
Make project indexation asynchronous using `phpinspect-pipeline'
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
2fd91898a3
Add tests for pipeline and make API more ergonomic
...
- Added `phpinspect-pipeline-emit-all' to emit multiple values at once
- Added :async parameter to `phpinspect-pipeline'
- Improved error handling
- Only execute seed form once and require it to return a list
1 year ago
Hugo Thunnissen
2d2f9912c1
Wrap queue items in a queue object
ci/woodpecker/push/woodpecker Pipeline failed
Details
1 year ago
Hugo Thunnissen
9a25959aad
Use metadata tree instead of hash table for token lookup
1 year ago
Hugo Thunnissen
b68baaec83
Make parse context cancellable and restore state after interrupt
1 year ago
Hugo Thunnissen
111fa2f4b5
Fix bugs in splay tree "find" functions
1 year ago
Hugo Thunnissen
389e77eb8b
Expand existing overlay when possible
1 year ago
Hugo Thunnissen
0596bc52bf
Optimize splay tree and use it to store token's children
ci/woodpecker/push/woodpecker Pipeline was successful
Details
1 year ago
Hugo Thunnissen
e270729e14
Implement splay tree for overlay storage/lookup
...
ci/woodpecker/push/woodpecker Pipeline was successful
Details
This makes repeated overlay lookups during incremental parsing or buffer
analysis more efficient.
1 year ago
Hugo Thunnissen
75562aab35
Add some tests for edit tracker + patch newly discovered bugs
1 year ago
Hugo Thunnissen
5fab07b426
Keep track of multi-call edits of the same region
1 year ago
Hugo Thunnissen
bb04e9a0f8
Implement strategy pattern for phpinspect-eldoc-function
1 year ago
Hugo Thunnissen
9d6ce5726d
Use `phpinspect-edtrack-original-position-at-point' for edit end determination
1 year ago
Hugo Thunnissen
91e24b97d4
Make bmap-token-meta error on unexpected input
...
Searching for an object that doesn't exist as a token can be really expensive,
so it's better to error on unexpected input and fix code on the calling side.
1 year ago
Hugo Thunnissen
7f76ba4c11
Fix some bugs introduced by the incremental parsing feature
...
ci/woodpecker/push/woodpecker Pipeline was successful
Details
Among other things:
- use-keyword parser handler result being registered for two positions due to
wrong use of "root" parser parameter.
- phpinspect-fix-imports was broken
1 year ago
Hugo Thunnissen
ad5ede01ad
Implement Incremental Parsing
ci/woodpecker/push/woodpecker Pipeline was successful
Details
1 year ago
Hugo Thunnissen
47335f3450
Refactor phpinspect--project to phpinspect-project
ci/woodpecker/push/woodpecker Pipeline was successful
Details
1 year ago
Hugo Thunnissen
9882ed2c60
Test/fix type inference of objects in nested arrays
continuous-integration/drone/push Build was killed
Details
2 years ago
Hugo Thunnissen
f030a685d2
Alter interpret-expression-type to interpret array-member assignment
...
continuous-integration/drone/push Build was killed
Details
interpret-expression-type now interprets assignment values provided through
array access as derived statements. This makes type inference work for cases
like `[$foo[0]]`, where it did not before.
2 years ago