refactor: Phase 2-A match_expr.rsのskip_newlines削除完了

♻️ skip_newlines()の段階的削除を継続
- match式内の6箇所を削除(41→35箇所、15%削減)
- brace_depth > 0により自動改行処理が有効
- 削減計画ドキュメントを作成

📊 進捗状況
- Phase 1: 48→40箇所 
- Phase 2-A: 40→35箇所 
- 次: Phase 2-B(fields.rs等のBox宣言系)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Selfhosting Dev
2025-09-23 11:03:25 +09:00
parent 5eb23f9b4c
commit 536e64441a
2 changed files with 112 additions and 6 deletions

View File

@ -24,10 +24,10 @@ impl NyashParser {
let mut default_expr: Option<ASTNode> = None;
while !self.match_token(&TokenType::RBRACE) && !self.is_at_end() {
self.skip_newlines();
// skip_newlines削除: brace_depth > 0なので自動スキップ
while self.match_token(&TokenType::COMMA) || self.match_token(&TokenType::NEWLINE) {
self.advance();
self.skip_newlines();
// skip_newlines削除: brace_depth > 0なので自動スキップ
}
if self.match_token(&TokenType::RBRACE) {
break;
@ -56,7 +56,7 @@ impl NyashParser {
self.advance(); // consume '{'
let mut stmts: Vec<ASTNode> = Vec::new();
while !self.match_token(&TokenType::RBRACE) && !self.is_at_end() {
self.skip_newlines();
// skip_newlines削除: brace_depth > 0なので自動スキップ
if !self.match_token(&TokenType::RBRACE) {
stmts.push(self.parse_statement()?);
}
@ -116,7 +116,7 @@ impl NyashParser {
self.advance(); // consume '{'
let mut stmts: Vec<ASTNode> = Vec::new();
while !self.match_token(&TokenType::RBRACE) && !self.is_at_end() {
self.skip_newlines();
// skip_newlines削除: brace_depth > 0なので自動スキップ
if !self.match_token(&TokenType::RBRACE) {
let st = self.parse_statement()?;
stmts.push(st);
@ -161,7 +161,7 @@ impl NyashParser {
self.advance(); // consume '{'
let mut stmts: Vec<ASTNode> = Vec::new();
while !self.match_token(&TokenType::RBRACE) && !self.is_at_end() {
self.skip_newlines();
// skip_newlines削除: brace_depth > 0なので自動スキップ
if !self.match_token(&TokenType::RBRACE) {
let st = self.parse_statement()?;
stmts.push(st);
@ -182,7 +182,7 @@ impl NyashParser {
while self.match_token(&TokenType::COMMA) || self.match_token(&TokenType::NEWLINE) {
self.advance();
}
self.skip_newlines();
// skip_newlines削除: brace_depth > 0なので自動スキップ
}
self.consume(TokenType::RBRACE)?;