fix(objc): a doc comment inside an @implementation documents the method below it (#2696)

Inside an Objective-C @implementation, tree-sitter-objc wraps each
method, function and declaration in an implementation_definition of its
own, and the comment above it is the wrapper's sibling, not the method's.
getPrecedingDocstring looked only at the method's own siblings, so no
method, function or static written in an @implementation had its doc
comment, while the same comment above an @interface property was read.

- tree-sitter-helpers.ts: implementation_definition joins
  DOCSTRING_WRAPPER_TYPES. Each wraps exactly one item, so the climb
  cannot hand a comment to a neighbour: a comment above an @synthesize
  stays its own.
- codegraph-kernel docstring.rs: the faithful port's wrapper list gains
  it too. The kernel does not walk Objective-C, so the entry only keeps
  the two lists alike.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Colby Mchenry
2026-10-20 01:16:23 +00:00
committed by GitHub
parent 036832d3a7
commit 3273f20f47
4 changed files with 83 additions and 2 deletions
+2
View File
@@ -15,6 +15,8 @@ fn is_wrapper(kind: &str) -> bool {
| "variable_declaration"
| "variable_declarator"
| "ambient_declaration"
// Objective-C, which the kernel does not walk: kept for parity.
| "implementation_definition"
)
}