Commit Graph

73 Commits (3a0ce3ac2dad7fbee01010fa8a4464dfef39dbfa)

Author SHA1 Message Date
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