Analyzer安定化完了: NYASH_DISABLE_PLUGINS=1復元 + plugin無効化根治
## 修正内容 1. **hako_check.sh/run_tests.sh**: NYASH_DISABLE_PLUGINS=1 + NYASH_BOX_FACTORY_POLICY=builtin_first追加 2. **src/box_factory/plugin.rs**: NYASH_DISABLE_PLUGINS=1チェック追加 3. **src/box_factory/mod.rs**: plugin shortcut pathでNYASH_DISABLE_PLUGINS尊重 4. **tools/hako_check/render/graphviz.hako**: smart quotes修正(parse error解消) ## 根本原因 - NYASH_USE_PLUGIN_BUILTINS=1が自動設定され、ArrayBox/MapBoxがplugin経由で生成を試行 - bid/registry.rsで"Plugin loading temporarily disabled"の状態でも試行されエラー - mod.rs:272のshortcut pathがNYASH_DISABLE_PLUGINSを無視していた ## テスト結果 - 10/11 PASS(HC011,13-18,21-22,31) - HC012: 既存issue(JSON安定化未完) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
// tools/hako_check/cli.hako — HakoAnalyzerBox (MVP)
|
||||
// tools/hako_check/cli.hako - HakoAnalyzerBox (MVP)
|
||||
using selfhost.shared.common.string_helpers as Str
|
||||
using tools.hako_check.analysis_consumer as HakoAnalysisBuilderBox
|
||||
using tools.hako_check.rules.rule_include_forbidden as RuleIncludeForbiddenBox
|
||||
@ -65,7 +65,7 @@ static box HakoAnalyzerBox {
|
||||
}
|
||||
// keep a copy before sanitize for rules that must see original bytes (HC017, etc.)
|
||||
local text_raw = text
|
||||
// pre-sanitize (ASCII quotes, normalize newlines) — minimal & reversible
|
||||
// pre-sanitize (ASCII quotes, normalize newlines) - minimal & reversible
|
||||
text = me._sanitize(text)
|
||||
// analysis - only build IR if needed by active rules
|
||||
local ir = null
|
||||
@ -80,7 +80,7 @@ static box HakoAnalyzerBox {
|
||||
ir.set("boxes", new ArrayBox())
|
||||
ir.set("entrypoints", new ArrayBox())
|
||||
}
|
||||
// parse AST only when explicitly needed by active rules(include_forbiddenはfallback可)
|
||||
// parse AST only when explicitly needed by active rules (include_forbidden fallback allowed)
|
||||
local ast = null
|
||||
if no_ast == 0 && me._needs_ast(rules_only, rules_skip) == 1 { ast = HakoParserCoreBox.parse(text) }
|
||||
if debug == 1 {
|
||||
@ -287,7 +287,7 @@ static box HakoAnalyzerBox {
|
||||
if me._is_hc011(s) == 1 {
|
||||
local qual = me._extract_method_from_hc011(s)
|
||||
if qual != null {
|
||||
// method qual: Box.method/arity → Box
|
||||
// method qual: Box.method/arity -> Box
|
||||
local dot = qual.lastIndexOf(".")
|
||||
if dot > 0 {
|
||||
local box_name = qual.substring(0, dot)
|
||||
|
||||
Reference in New Issue
Block a user