You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
…erands to Object node (#32)
unlaxer-dsl 3.0.7 infers transparent-choice assoc operands as Object and
resolves them to real AST nodes via mapTransparentValue (parser PR #46), so
StringConcatExpr.right and BooleanEqualityExpr.left/right are now Object.
- evalStringConcatExpr: node.right() is List<Object>.
- BooleanEqualityExpr: add Object overload of resolveBooleanSourceOperand /
renderBooleanOperandSource that evals a real node directly and falls back to
the existing source-snippet path for text (if-source shadow unchanged).
String concatenation and boolean-equality operands now evaluate faithfully on
the AST instead of via a source re-parse. mvn verify green (check-test-baseline
gate OK; only known #38 ternary failure remains).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
unlaxer-dsl 3.0.7(parser PR #46)を採用。透過 mapped choice を operand に持つ assoc fold が operand を
Objectと推論し、mapTransparentValueで実 AST ノードへ解決するようになった。これによりStringConcatExpr.rightがList<Object>、BooleanEqualityExpr.left/rightがObjectになる。変更点
pom.xml: unlaxer-common / unlaxer-dsl を 3.0.7 に。P4TypedAstEvaluator/P4TypedJavaCodeEmitter/P4DefaultJavaCodeEmitter:evalStringConcatExpr:node.right()をList<Object>で受ける(resolveStringLeaf(Object)/renderStringLeaf(Object)は既存)。BooleanEqualityExpr:resolveBooleanSourceOperand/renderBooleanOperandSourceにObjectオーバーロードを追加。実 AST ノードは直接 eval、それ以外(source テキスト)は従来の source-snippet 経路へフォールバック。if-source shadow は外していない。string concat / boolean-equality の operand が source 再パースでなく AST 経路で忠実に評価される。
検証
mvn verify: 630 tests、新規失敗ゼロ(既知の perf: 生成パーサの指数バックトラック — 二重カッコ三項/ソース再パース経路で秒〜分単位の遅延 #38 ternary 二重カッコのみ)。check-test-baseline.shゲート OK。mvn compile成功。注: Central→repo1 同期ラグ(~15-60分)で CI が一時赤になる場合あり。同期後に rerun。
🤖 Generated with Claude Code