- Extended Pattern2/4 whitelist to accept StringLiteral updates - CarrierUpdateEmitter now emits JoinIR for string append - Selective Fail-Fast: accept safe patterns, reject complex Changes: - pattern2_with_break.rs: StringLiteral whitelist - pattern4_with_continue.rs: StringLiteral whitelist - carrier_update_emitter.rs: StringLiteral JoinIR emission Tests: - phase188_string_append_char.hako - phase188_string_append_literal.hako - 10/10 carrier_update_emitter tests PASS 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
20 lines
371 B
Plaintext
20 lines
371 B
Plaintext
// Phase 188: String append with character variable
|
|
// Pattern: s = s + ch (StringAppendChar)
|
|
// Pattern 2: Loop with conditional break
|
|
|
|
static box SAppendChar {
|
|
method main() {
|
|
local s = ""
|
|
local i = 0
|
|
loop(i < 10) {
|
|
if i == 3 {
|
|
break
|
|
}
|
|
local ch = "x"
|
|
s = s + ch
|
|
i = i + 1
|
|
}
|
|
print(s) // Expected: "xxx"
|
|
}
|
|
}
|