diff --git a/lang/src/compiler/entry/compiler_stageb.hako b/lang/src/compiler/entry/compiler_stageb.hako index 6db09b4a..cd4a595b 100644 --- a/lang/src/compiler/entry/compiler_stageb.hako +++ b/lang/src/compiler/entry/compiler_stageb.hako @@ -1183,6 +1183,19 @@ static box StageBDriverBox { local mn = methods.length() loop(mi < mn) { local def = methods.get(mi) + + // Defensive check: skip if def is null or StringBox + if def == null { + mi = mi + 1 + continue + } + // Check if def is a StringBox by converting to string and comparing + local def_str = "" + def + if def_str == def { + mi = mi + 1 + continue + } + local mname = "" + def.get("name") local mparams = def.get("params") local mbody = "" + def.get("body_json") @@ -1397,6 +1410,19 @@ static box StageBDriverBox { local mn = methods.length() loop(mi < mn) { local def = methods.get(mi) + + // Defensive check: skip if def is null or StringBox + if def == null { + mi = mi + 1 + continue + } + // Check if def is a StringBox by converting to string and comparing + local def_str = "" + def + if def_str == def { + mi = mi + 1 + continue + } + local mname = "" + def.get("name") local mparams = def.get("params") local mbody = "" + def.get("body_json")