feat(phase72): Phase 72-C Step 2: JoinIR dev flags SSOT completion

Extended joinir_dev.rs with 11 remaining flag helpers (total 20 flags):
- NYASH_JOINIR_LOWER_FROM_MIR, NYASH_JOINIR_LLVM_EXPERIMENT (2 NYASH flags)
- HAKO_JOINIR_IF_TOPLEVEL, IF_TOPLEVEL_TRACE, IF_IN_LOOP_TRACE (3 if-related)
- HAKO_JOINIR_NESTED_IF, PRINT_TOKENS_MAIN, ARRAY_FILTER_MAIN (3 ast_lowerer)
- HAKO_JOINIR_READ_QUOTED, READ_QUOTED_IFMERGE (2 read_quoted)

Updated src/mir/join_ir/mod.rs env_flag_is_1() dispatcher:
- Routes all 16 known JoinIR dev flags to config::env::joinir_dev helpers
- Maintains fallback for backward compatibility
- Centralizes all body code ENV reads through SSOT layer

Achievement: Complete SSOT consolidation for JoinIR development flags
- Test side: joinir_env.rs (is_experiment_enabled, set_if_select_*)
- Body code: config::env::joinir_dev.rs (20 flag helpers)
- Dispatcher: env_flag_is_1() routes all reads to centralized layer

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-02 12:52:38 +09:00
parent 6842a72df1
commit 6b9cef9ee5
2 changed files with 75 additions and 1 deletions

View File

@ -48,3 +48,53 @@ pub fn snapshot_test_enabled() -> bool {
pub fn input_mode() -> Option<String> {
std::env::var("NYASH_JOINIR_INPUT").ok()
}
/// NYASH_JOINIR_LOWER_FROM_MIR=1 - Enable lowering from MIR mode
pub fn lower_from_mir_enabled() -> bool {
env_bool("NYASH_JOINIR_LOWER_FROM_MIR")
}
/// NYASH_JOINIR_LLVM_EXPERIMENT=1 - LLVM experimental mode
pub fn llvm_experiment_enabled() -> bool {
env_bool("NYASH_JOINIR_LLVM_EXPERIMENT")
}
/// HAKO_JOINIR_IF_TOPLEVEL=1 - Enable If-select for top-level if statements
pub fn if_toplevel_enabled() -> bool {
env_bool("HAKO_JOINIR_IF_TOPLEVEL")
}
/// HAKO_JOINIR_IF_TOPLEVEL_TRACE=1 - Debug trace for top-level if
pub fn if_toplevel_trace_enabled() -> bool {
env_bool("HAKO_JOINIR_IF_TOPLEVEL_TRACE")
}
/// HAKO_JOINIR_IF_IN_LOOP_TRACE=1 - Debug trace for if in loop
pub fn if_in_loop_trace_enabled() -> bool {
env_bool("HAKO_JOINIR_IF_IN_LOOP_TRACE")
}
/// HAKO_JOINIR_NESTED_IF=1 - Enable nested if lowering
pub fn nested_if_enabled() -> bool {
env_bool("HAKO_JOINIR_NESTED_IF")
}
/// HAKO_JOINIR_PRINT_TOKENS_MAIN=1 - Print tokens for main
pub fn print_tokens_main_enabled() -> bool {
env_bool("HAKO_JOINIR_PRINT_TOKENS_MAIN")
}
/// HAKO_JOINIR_ARRAY_FILTER_MAIN=1 - Array filter main mode
pub fn array_filter_main_enabled() -> bool {
env_bool("HAKO_JOINIR_ARRAY_FILTER_MAIN")
}
/// HAKO_JOINIR_READ_QUOTED=1 - Read quoted mode
pub fn read_quoted_enabled() -> bool {
env_bool("HAKO_JOINIR_READ_QUOTED")
}
/// HAKO_JOINIR_READ_QUOTED_IFMERGE=1 - Read quoted with if-merge
pub fn read_quoted_ifmerge_enabled() -> bool {
env_bool("HAKO_JOINIR_READ_QUOTED_IFMERGE")
}