[pull] v8 from safishamsi:v8#96
Merged
Merged
Conversation
…c/init refs (#1475) Three residual ObjC extractor bugs from the #1475 thread, each reproduced against the real tree-sitter-objc grammar: 1. NS_ASSUME_NONNULL_BEGIN before @interface made the parser fail to emit a class_interface node at all (the whole interface was swallowed into ERROR nodes), so headers using the macro produced no class node. Blank the two argument-less annotation macros to equal-length spaces before parsing (offset-preserving; macro-free files are byte-identical). The reporter's "@Class breaks it" hypothesis was wrong — only the macro does. 2. Quoted `#import "X.h"` edges dangled once a `.h`/`.m` pair existed: the target used the bare stem, which the post-pass canonicalizes and then _disambiguate_colliding_node_ids salts apart by path, so the import target no longer matched. Resolve the include to a real file (mirroring _import_c), and repoint imports/imports_from edges to the header variant in _disambiguate_colliding_node_ids — taking precedence over the same-source-file salt so a `.m` importing its own `.h` resolves to the header instead of self-looping. Also repairs the equivalent latent C-include dangling bug. 3. `[[Foo alloc] init]` produced no edge — walk_calls only reconstructed selectors and skipped the receiver. Emit a `references` edge from the allocating method to the class, resolved via the unique-class stub guard (ensure_named_node + _rewire_unique_stub_nodes) so unknown/ambiguous names produce no false edge. The calls-to-init edge is deliberately deferred (init selectors are ambiguous across classes). Reported by JabberYQ with a precise repro and test repo. Adds regression tests incl. a self-loop guard on the import edges. Still open on #1475: dot-syntax property accesses (Bug 5) and @selector target-action (Bug 6b). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ERRED (#1533) A type-qualified Swift call (`Type.staticMethod()`, `Singleton.shared.method()`) names the receiver type explicitly in source, so the resolved edge is an exact reference — now emitted as EXTRACTED (1.0), matching the Python qualified-class-method pass (_resolve_python_member_calls). Instance calls whose receiver type comes from local inference (`obj.method()`) stay INFERRED (0.8). Resolution and the single-definition god-node guard are unchanged. This addresses the actionable part of #1533's "static calls" report: the edge was always produced (graphify models calls as method->method), it was just under-confident. Updated the confidence test to assert the instance/type-qualified split. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Covers #1499 (Ruby type-aware resolution), #1308/#1541 (workspace exports map), #1529 (alias/workspace import-edge regression), #1531 (tsconfig paths fallbacks), #1527 (semantic cache pruning), #1475 (three ObjC fixes), #1533 (Swift static-call confidence), #1442 (secondary LLM timeout), #1502 (GraphML null coercion + save-result --answer-file), #1530 (host-generic skill wording), and the Dependabot dep bumps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Ruby type-aware member-call resolution and workspace exports-map resolution, the #1529 alias/workspace import-edge regression fix, tsconfig paths fallbacks, semantic-cache pruning, three ObjC extractor fixes, Swift static-call confidence, the secondary LLM timeout, GraphML null coercion, host-generic install wording, and Dependabot dep bumps. See CHANGELOG. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )