From 780227a2290214758cc9c12c24fe44fbc487ff9c Mon Sep 17 00:00:00 2001 From: sergeych Date: Mon, 9 Feb 2026 09:49:04 +0300 Subject: [PATCH] Complete bytecode module declaration step --- bytecode_migration_plan.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bytecode_migration_plan.md b/bytecode_migration_plan.md index b2f9170..a74abab 100644 --- a/bytecode_migration_plan.md +++ b/bytecode_migration_plan.md @@ -32,9 +32,9 @@ Goal: migrate the compiler so all values live in frames/bytecode, keeping JVM te - [x] Step 9: Module-level bytecode execution. - [x] Compile `Script` bodies to bytecode instead of interpreting at module scope. - [x] Keep import/module slot seeding in frame-only flow. -- [ ] Step 10: Bytecode for declaration statements in module scripts. - - [ ] Support `ClassDeclStatement`, `FunctionDeclStatement`, `EnumDeclStatement` in bytecode compilation. - - [ ] Decide whether to compile declarations into module bytecode or keep a mixed execution path. +- [x] Step 10: Bytecode for declaration statements in module scripts. + - [x] Support `ClassDeclStatement`, `FunctionDeclStatement`, `EnumDeclStatement` in bytecode compilation. + - [x] Keep a mixed execution path for declarations (module bytecode calls statement bodies via `CALL_SLOT`). - [x] Ensure module object member refs compile as instance access (not class-scope). - [ ] Step 11: Destructuring assignment bytecode. - [ ] Handle `[a, b] = expr` (AssignRef target `ListLiteralRef`) without interpreter fallback.