Commit 61f8a9d
committed
feat(native): port Objective-C extractor to Rust
Mirrors `src/extractors/objc.ts` in `crates/codegraph-core/src/extractors/objc.rs`.
Adds the `tree-sitter-objc` dependency, wires `LanguageKind::ObjC` (`.m`) in
the Rust `parser_registry` and `file_collector`, adds `.m` to
`NATIVE_SUPPORTED_EXTENSIONS` on the JS side, and registers
`OBJC_AST_TYPES` / `OBJC_AST_CONFIG` so the native and WASM engines extract
identical `ast_nodes` for Objective-C source.
Handles class interfaces / implementations (with `: Superclass`), protocols,
instance and class method declarations/definitions with multi-part selectors
assembled from leading identifiers and `method_parameter` children, C-level
function declarations/definitions, `#import`/`@import` imports, and message
expression call extraction.1 parent 6ef7dc6 commit 61f8a9d
11 files changed
Lines changed: 825 additions & 5 deletions
File tree
- crates/codegraph-core
- src
- extractors
- src
- ast-analysis/rules
- domain
- tests/parsers
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
363 | 376 | | |
364 | 377 | | |
365 | 378 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
126 | 127 | | |
127 | 128 | | |
128 | 129 | | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
129 | 133 | | |
130 | 134 | | |
0 commit comments