-
Notifications
You must be signed in to change notification settings - Fork 5
Add Dart parser support (.dart) #138
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
Ix does not currently parse .dart files. Dart files are treated as unrecognized and excluded from analysis, meaning application logic, UI definitions, and business rules written in Dart are invisible to the system.
Proposed solution
Add a Dart parser that can identify and extract:
- Class, mixin, and extension definitions
- Function and method definitions
- Import and export statements (e.g.
import 'package:flutter/material.dart') - Variable and constant declarations (
var,final,const) - Async/await patterns and
Future/Streamusage - Annotations (e.g.
@override,@required) - Null safety operators (e.g.
?,!,??)
Support the following file patterns: *.dart
Why it matters
Dart is the language behind Flutter, which is increasingly used for cross-platform mobile, web, and desktop development. Without parsing Dart, Ix cannot reason about Flutter app structure, trace widget hierarchies, or understand how business logic is organized across a mobile codebase.
Merge requirements
Before this can be merged to main, the following must pass:
- Tested on 3 repos
- No regressions on existing parsers (
ix mapon a known TS/JS repo, verify counts unchanged) - Unit + smoke tests pass (
npm testinix-cli) - Class, mixin, and extension definitions ingested as entities
- Functions and methods ingested and linked to their parent class
-
importandexportstatements resolved -
var,final, andconstdeclarations ingested - Annotations (
@override,@required, etc.) preserved on their target entities - Async patterns (
Future,Stream) visible on function signatures - CONTAINS chains correctly: class/mixin → method/field
-
ix textreturns results withlanguage: dart -
ix containsreturns members for a known Dart class
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request