Skip to content

Version 1.0.46

Latest

Choose a tag to compare

@XzaR90 XzaR90 released this 12 Aug 08:57
· 15 commits to main since this release

CodeMeridian v1.0.46

This release improves relationship resolution for C# and TypeScript by using compiler-backed semantic information where it is available and retaining conservative fallbacks when it is not. It resolves more valid local calls while preventing unresolved member calls and external declarations from being linked or classified as local incorrectly.

Highlights

C# Semantic-Model Relationship Enrichment

  • Added a bounded Roslyn compilation over the C# resolution catalog so files participating in full and incremental resolution share semantic type information.
  • Enriched invocation evidence with semantic receiver types and target declaring types before applying the existing syntax-based fallback.
  • Resolved calls involving inferred local variables, factory-return chains, and members declared in other partial-class files.
  • Preserved conservative handling for incomplete compilations, dynamic values, error symbols, and other cases where Roslyn cannot provide trustworthy semantic evidence.
  • Persisted the semantic evidence source and target declaring-type hint on call candidates for explainable relationship diagnostics.

Safer C# Relationship Classification

  • Distinguished possible external extension-method calls from incompatible local targets when an instance receiver has trustworthy type evidence.
  • Kept arity mismatches local when the receiver and candidate declaring type are related.
  • Avoided treating unrelated same-name methods as local call targets.

TypeScript Relationship Resolution

  • Continued to use ts-morph compiler symbols and semantic receiver types as the primary source for call targets, including factory-return chains.
  • Restricted name-based fallback to unqualified calls and explicit this or super member calls.
  • Prevented an unresolved member call from linking to the only same-named local method when the receiver's semantic target is external or unindexed.
  • Classified declarations found under excluded dependency or build-output paths as external or unindexed instead of unresolved local relationships.

Regression Coverage

  • Added C# integration coverage for cross-file partial members, inferred locals, factory-return calls, emitted semantic evidence, and resolved relationship targets.
  • Added TypeScript coverage for semantic receiver resolution, unsafe unique-name fallback prevention, and declarations under excluded paths.
  • Rebuilt the tracked TypeScript indexer output after the source changes.

Upgrade Notes

  • No configuration changes are required.
  • C# indexing now creates one in-memory Roslyn compilation for the active resolution catalog. Syntax-only behavior remains available as a fallback when semantic information cannot be resolved.
  • Relationship totals may change after re-indexing because previously indeterminate C# calls can resolve locally and previously misclassified TypeScript relationships can move to external or unindexed outcomes.
  • Run a full index to refresh existing relationship edges and relationship-health diagnostics with the enriched resolution behavior.

Verification

  • The Roslyn indexer suite passes all 78 tests.
  • The unified .NET indexer suite passes all 266 tests.
  • The TypeScript/JavaScript indexer suite passes all 78 tests.
  • The TypeScript workspace build passes.
  • The changed-subgraph architecture check reports no violations.
  • git diff --check passes.

Full Changelog

Compare v1.0.45 through v1.0.46