Expand description
Dart language plugin for sqry
Implements the LanguagePlugin trait for Dart, providing:
- Graph-native node/edge extraction via
DartGraphBuilder - AST parsing with tree-sitter
- Scope extraction for Dart constructs
§Supported Features
- Classes (
class,abstract class) - Functions (
void, typed functions) - Methods (instance and static)
- Variables (
var,final,const) - Async/await support
- Visibility modifiers (public via no underscore, private via underscore)
§Node Attributes
All modifiers are detected via AST node walking, avoiding false positives from comments, strings, or identifiers containing modifier keywords:
is_async: Detected viaasyncorasync*tokens in function bodyis_static: Detected viastatickeyword node- visibility: Determined by identifier name prefix (
_= private)
§Example
use sqry_lang_dart::DartPlugin;
use sqry_core::plugin::LanguagePlugin;
let plugin = DartPlugin::default();
let metadata = plugin.metadata();
assert_eq!(metadata.id, "dart");
assert_eq!(metadata.name, "Dart");Re-exports§
pub use relations::DartGraphBuilder;
Modules§
- relations
- Dart relation extraction and graph building Relation extraction for Dart - implements GraphBuilder for code graph construction.
Structs§
- Dart
Plugin - Dart language plugin