feat(joinir): Phase 30.x jsonir v0 - JoinIR JSON serialization
Implement JSON serialization for JoinIR module. Implementation: - src/mir/join_ir/json.rs: JSON serializer (~250 lines, no external deps) - src/tests/joinir_json_min.rs: Integration tests (8 unit + 2 integration) - 10 tests total, all passing Features: - JoinModule → JSON serialization - All instruction types: Call, Jump, Ret, Compute - All MirLikeInst types: Const, BinOp, Compare, BoxCall - Full ConstValue support: Integer, Bool, String, Null - Full operator coverage: Add/Sub/Mul/Div/Or/And, Lt/Le/Gt/Ge/Eq/Ne - JSON string escaping for special characters Usage: use crate::mir::join_ir::json::join_module_to_json_string; let json = join_module_to_json_string(&module); Non-goals (this phase): - CLI flag (--emit-joinir-json) - JSON → JoinIR reverse conversion 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -30,6 +30,9 @@ pub mod lowering;
|
||||
// Phase 29 L-5.2: Progress verification
|
||||
pub mod verify;
|
||||
|
||||
// Phase 30.x: JSON serialization (jsonir v0)
|
||||
pub mod json;
|
||||
|
||||
// Re-export lowering functions for backward compatibility
|
||||
pub use lowering::{
|
||||
lower_funcscanner_trim_to_joinir, lower_min_loop_to_joinir, lower_skip_ws_to_joinir,
|
||||
|
||||
Reference in New Issue
Block a user