API Reference Metastatic v#0.22.2
View SourceModules
Metastatic - Cross-language code analysis via unified MetaAST.
M2: Meta-Model for Programming Language Abstract Syntax.
Behaviour for language adapters (M1 <-> M2 transformations).
Registry for language adapters.
Metastatic adapter for the Cure programming language.
Transform MetaAST (M2) back to Cure source code.
Transform Cure source / Cure AST (M1) into MetaAST (M2).
Elixir language adapter for MetaAST transformations.
Transform MetaAST (M2) back to Elixir AST (M1).
Full macro expansion for the Elixir adapter using ExPanda.
Transform Elixir AST (M1) to MetaAST (M2).
Erlang language adapter for MetaAST transformations.
Transform MetaAST (M2) back to Erlang AST (M1).
Transform Erlang AST (M1) to MetaAST (M2).
Haskell language adapter for Metastatic.
Transform MetaAST (M2) back to Haskell AST (M1).
Manages subprocess communication with the Haskell parser.
Transform Haskell AST (M1) to MetaAST (M2).
Python language adapter for MetaAST transformations.
Transform MetaAST (M2) back to Python AST (M1).
Subprocess management for Python parser and unparser.
Transform Python AST (M1) to MetaAST (M2).
Ruby language adapter for MetaAST transformations.
Transform MetaAST (M2) back to Ruby AST (M1).
Subprocess management for Ruby parser and unparser.
Transform Ruby AST (M1) to MetaAST (M2).
High-level API for building MetaAST documents from source code.
Shared utilities for Metastatic CLI commands.
Output formatting utilities for Metastatic CLI.
AST inspection and analysis logic for Metastatic CLI.
Cross-language translation orchestration for Metastatic CLI.
A MetaAST Document wraps an M2 AST with metadata and language information.
Single source of truth for supported languages and their adapters.
Registry of known behaviour/base-class callbacks per language.
Discovers behaviour callbacks from compiled BEAM modules.
Resolves Elixir use macros to discover which behaviours they inject.
Resolves Python callbacks via decorator patterns and class inheritance.
Authentication and authorization operation patterns for semantic enrichment.
Cache operation patterns for semantic enrichment.
Database operation patterns for semantic enrichment.
External API operation patterns for semantic enrichment.
File I/O operation patterns for semantic enrichment.
HTTP client operation patterns for semantic enrichment.
Message queue operation patterns for semantic enrichment.
AST enricher for semantic metadata injection.
Semantic operation kind metadata for MetaAST nodes.
Language-aware pattern registry for semantic enrichment.
Behaviour for supplemental modules that extend language adapter capabilities.
Provides a compatibility matrix showing which supplemental modules support which constructs for each language.
Error types for supplemental module system.
Raised when multiple supplementals attempt to handle the same construct.
Raised when a supplemental module's dependencies are incompatible.
Raised when a required supplemental module is not registered.
Raised when a MetaAST construct has no transformation path.
Metadata structure for supplemental modules.
Supplemental module for Python's asyncio library.
Pykka actor library supplemental for Python.
Registry for supplemental modules.
Helper module for transforming MetaAST using registered supplementals.
Validates supplemental module availability and compatibility.
Testing utilities for language adapters (M1 ↔ M2 transformations).
Helper utilities for loading and managing test fixtures.
Conformance validation for MetaAST.
Mix Tasks
Generates a new supplemental module scaffold.
Inspect the MetaAST structure of source code files.
Analyzes code to detect required supplemental modules.
Translate source code from one programming language to another using MetaAST.
Validate that two source files have semantically equivalent MetaAST representations.