Skip to main content

Crate sqry_lang_dart

Crate sqry_lang_dart 

Source
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 via async or async* tokens in function body
  • is_static: Detected via static keyword 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§

DartPlugin
Dart language plugin