rajatnagda45
2d30c413d3
fix(objc): extract C-style enum declarations
...
Objective-C is an object-oriented extractor that already emits @interface,
@implementation and @protocol type nodes, but plain `enum` and
`typedef enum` definitions were dropped entirely: both the enum type and all
of its enumerators were invisible in the graph.
Handle `enum_specifier` (and the `typedef enum { ... } Name;` form, where the
name is the typedef alias), emitting a type node plus a node and `case_of` edge
per enumerator — the same shape every other language with enums uses (Java
#1719 , C++ #3939 , Swift). A nameless enum and a bodyless `enum X y;` reference
are skipped so no phantom node is minted.
NS_ENUM/NS_OPTIONS is deliberately out of scope: it is a macro call that
tree-sitter-objc parses into an ERROR subtree, so there is no clean AST to
read. Documented in the test.
Add regression tests for the plain, typedef, and skip cases.
2026-10-05 09:11:47 +05:30
..
2026-09-21 19:19:26 +01:00
2026-10-04 20:40:34 +01:00
2026-09-30 20:41:10 +01:00
2026-09-29 13:49:39 +01:00
2026-10-02 17:10:08 +01:00
2026-09-21 19:44:17 +01:00
2026-10-04 20:40:34 +01:00
2026-09-22 15:00:07 +01:00
2026-09-22 14:58:22 +01:00
2026-10-04 01:52:03 +01:00
2026-09-30 20:41:10 +01:00
2026-09-14 18:55:31 +01:00
2026-09-25 15:44:08 +01:00
2026-10-02 17:10:07 +01:00
2026-10-04 20:23:13 +01:00
2026-10-02 17:10:07 +01:00
2026-09-27 18:56:31 +01:00
2026-09-13 17:47:56 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-10-02 16:50:45 +01:00
2026-10-04 20:23:44 +01:00
2026-10-02 16:50:45 +01:00
2026-10-04 02:07:00 +01:00
2026-09-27 18:39:52 +01:00
2026-09-25 16:01:47 +01:00
2026-10-04 02:07:23 +01:00
2026-10-04 02:09:34 +01:00
2026-09-25 16:01:47 +01:00
2026-10-04 20:23:14 +01:00
2026-10-04 20:23:14 +01:00
2026-09-28 10:15:38 +01:00
2026-09-16 15:37:30 +01:00
2026-10-04 20:23:14 +01:00
2026-10-02 16:50:45 +01:00
2026-09-23 16:54:04 +01:00
2026-09-29 13:49:39 +01:00
2026-09-16 16:20:01 +01:00
2026-09-23 19:45:40 +01:00
2026-10-04 20:40:34 +01:00
2026-09-30 20:10:34 +01:00
2026-09-22 14:58:12 +01:00
2026-09-22 14:58:12 +01:00
2026-09-30 20:41:10 +01:00
2026-10-04 02:08:29 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 02:08:29 +01:00
2026-09-25 16:15:15 +01:00
2026-09-20 13:59:26 +01:00
2026-10-04 20:23:44 +01:00
2026-09-28 09:13:29 +01:00
2026-09-30 20:41:10 +01:00
2026-09-20 13:59:25 +01:00
2026-09-30 20:10:34 +01:00
2026-09-14 18:49:19 +01:00
2026-10-02 17:10:08 +01:00
2026-09-13 17:47:55 +01:00
2026-10-04 20:23:14 +01:00
2026-09-27 18:39:52 +01:00
2026-10-02 16:50:45 +01:00
2026-09-30 20:41:10 +01:00
2026-09-22 17:30:28 +01:00
2026-10-04 20:23:13 +01:00
2026-10-04 01:43:04 +01:00
2026-10-04 20:40:34 +01:00
2026-09-13 17:47:57 +01:00
2026-10-02 16:50:45 +01:00
2026-09-30 20:41:10 +01:00
2026-09-16 14:50:54 +01:00
2026-10-04 01:52:03 +01:00
2026-09-17 11:01:37 +01:00
2026-10-02 17:10:07 +01:00
2026-10-05 09:11:47 +05:30
2026-09-26 13:45:58 +01:00
2026-10-04 02:11:27 +01:00
2026-10-04 20:23:14 +01:00
2026-10-04 20:40:34 +01:00
2026-09-28 10:18:13 +01:00
2026-09-17 11:01:38 +01:00
2026-10-04 20:40:34 +01:00
2026-09-25 15:44:21 +01:00
2026-10-04 20:40:34 +01:00
2026-09-28 09:14:38 +01:00
2026-09-21 18:04:04 +01:00
2026-09-28 10:15:38 +01:00
2026-10-02 17:10:07 +01:00
2026-09-16 14:43:05 +01:00
2026-10-02 17:10:07 +01:00
2026-10-04 01:43:04 +01:00
2026-09-18 15:16:09 +01:00
2026-10-02 17:10:07 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 02:07:00 +01:00
2026-09-14 18:52:06 +01:00
2026-10-04 01:44:11 +01:00
2026-09-29 14:37:10 +01:00
2026-09-27 18:39:51 +01:00
2026-09-30 20:41:10 +01:00
2026-10-02 17:10:07 +01:00
2026-09-23 17:01:39 +01:00
2026-10-04 01:43:04 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-09-20 13:59:25 +01:00
2026-09-15 18:01:35 +01:00
2026-09-27 18:39:51 +01:00
2026-10-02 17:10:07 +01:00
2026-09-20 18:53:35 +01:00
2026-09-30 20:41:10 +01:00
2026-10-04 20:23:14 +01:00
2026-10-02 17:10:08 +01:00
2026-09-28 10:15:38 +01:00