Conversation
…declaration filtering and call hierarchy improvements, and introduce a new test engine facade.
…ta serialization, asset routing, and external dependency resolution.
…ce asset routing to support multiple paths per symbol.
- Added GradleCacheDiscoverer for discovering Gradle assets. - Introduced JdkDiscoverer for locating JDK standard library assets. - Updated GradleResolver to utilize the new GradleCacheDiscoverer. - Refactored JavaPlugin to include global asset discovery via JdkDiscoverer. - Enhanced asset indexing and routing capabilities in the plugin architecture. - Removed legacy asset discovery methods from GradleResolver. - Added tests for JdkDiscoverer and asset discovery functionalities.
… source assets and integrate it into the asset service and language plugins.
…initial Java LSP capabilities with type inference planning documents.
…n`, and enable dynamic registration of naming conventions on `CodeGraph`.
…into the plugin architecture and core discovery features, and rename `lsp_parser` to `lsp_service`.
…ew tests in `implementation_behavior.rs` to verify that the Java plugin correctly identifies all implementors of an interface and method overrides. - Removed outdated tests from `logic_goto_def.rs`, `logic_goto_impl.rs`, `logic_goto_ref.rs`, `logic_goto_type.rs`, and `logic_hierarchy.rs` to streamline the test suite. - Added comprehensive reference tests in `references_behavior.rs` to ensure correct handling of method references, local shadowing, and overloaded methods. - Implemented type definition tests in `type_definition_behavior.rs` to validate that the plugin resolves variable and method return types accurately. - Enhanced the engine facade tests in `test_engine_facade.rs` to cover overload scenarios and ensure proper resolution of method declarations.
… integration tests
…watch functionality - Deleted the `stub_worker.rs` file and its associated stubbing logic. - Added `storage.rs` to handle project index clearing and disk operations for code graphs. - Introduced `watch.rs` for filesystem change detection, allowing the engine to update incrementally. - Removed the old `watcher.rs` file and replaced it with a new implementation in `watch.rs`. - Updated tests to reflect changes in the stubbing workflow and engine structure. - Adjusted dependencies and versioning in `Cargo.toml` files across crates. - Introduced a new integration plan for a type system architecture, emphasizing semantic decoupling.
- Introduced new methods to extract parameter types from method declarations. - Updated method resolution to include parameter types in fully qualified names (FQNs). - Improved handling of method signatures in naming utilities, allowing for better formatting and parsing of method names with parameters. - Adjusted tests to validate changes in method resolution and signature handling, ensuring accurate representation of method calls with parameters. - Refactored existing code to streamline method parameter extraction and signature parsing.
- Introduced `EpochTracker` to manage submission and commitment of messages in epochs. - Added methods for recording submissions, marking commitments, sealing epochs, and waiting for epoch completion. - Updated `IntakeHandle` to utilize `EpochTracker` for managing message submissions and rollbacks. - Removed the `Scheduler` trait from the ingest runtime, simplifying the execution flow. - Refactored tests to accommodate changes in the runtime and executor handling. - Updated Java plugin to support new artifact structures for source collection and analysis. - Enhanced project context to maintain a symbol table for type and method symbols.
- Introduced `SourceCompilerRuntime` to manage the lifecycle of source compilation. - Added `BatchCompiler` to handle batch processing of source files and stub requests. - Implemented `CommitGraphSink` for committing graph operations. - Created `InMemoryDeferredQueue` for managing deferred messages. - Developed `IngestExecutor` to execute source compilation work items. - Added metrics handling with `NoopRuntimeMetrics`. - Refactored `NaviscopeEngine` to utilize the new source runtime and batch compiler. - Updated tests to reflect changes in stub request handling and batch compilation.
…d reorganize source handling - Introduced BuildCompiler in place of BatchCompiler for build file compilation. - Removed compiler.rs and reorganized source-related functionality into new modules: commit_sink, deferred_queue, executor, metrics, and stub_ops. - Updated NaviscopeEngine to utilize the new SourceCompiler for source compilation tasks. - Adjusted async stubbing tests to align with the new source compilation structure.
- Introduced a new test file `incremental_consistency.rs` to validate the consistency between incremental and full symbol resolution in Java. - Implemented functions to observe symbol resolutions, definitions, and references in the context of Java files. - Created a test case that compares observations from both incremental and full indexing processes. refactor: enhance Java external resolver with class byte loading - Added `load_class_bytes_for_fqn` and `generate_related_for_class` methods to `JavaExternalResolver` for improved handling of class files. - Updated the `generate_stubs` method to return multiple stubs, including related nodes for richer symbol resolution. fix: improve error handling and logging in LSP operations - Enhanced error handling in LSP functions such as `definition`, `type_definition`, `references`, and `implementation` to log errors with context. - Refactored location conversion logic to handle potential failures gracefully. feat: implement call hierarchy features in LSP - Added functions to build call hierarchy items and parse hierarchy FQN data. - Improved handling of incoming and outgoing calls with better error logging and data serialization. test: add unit tests for LSP call hierarchy functions - Implemented tests for `parse_hierarchy_fqn` and `build_call_hierarchy_item` to ensure correct functionality and error handling. refactor: update document symbol handling in LSP - Modified `document_symbol` and `convert_api_symbol` functions to skip entries without locations, improving robustness. - Added tests to verify the behavior of symbol conversion. chore: update stub generator trait for better extensibility - Changed the `generate` method in the `StubGenerator` trait to `generate_stubs`, allowing for the generation of multiple stubs from a single asset.
- Renamed `IngestExecutor` to `SourcePhaseExecutor` for clarity. - Introduced `SourceFlowControl` struct to manage parallelism and cache limits. - Reorganized source execution logic into distinct methods: `collect_file`, `analyze_file`, and `lower_file`. - Implemented a new `resolve_stub_requests` function to handle stub request resolution. - Removed unused `metrics` module and related code. - Updated `NaviscopeEngine` to streamline source phase execution and improve performance. - Added regression tests to ensure stability with external imports and cross-file type resolution.
- Deleted the error handling module and its associated types. - Removed the runtime module, including flow control and kernel logic. - Eliminated traits related to execution, deferred storage, and metrics. - Cleared out types related to messages, dependencies, and execution results. - Removed tests associated with the ingest runtime and its components.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.