Skip to content

feat: 문자열 연결 레시피 불일치 — 상세를 StringConcatException cause 로 [rustjava-java-lang-invoke-package-and-linkage-error-cause] - #104

Merged
Jun025 merged 1 commit into
mainfrom
feat/java-lang-invoke-string-concat-exception
Sep 28, 2026
Merged

Jun025 merged 1 commit into
mainfrom
feat/java-lang-invoke-string-concat-exception

Conversation

@Jun025

@Jun025 Jun025 commented Sep 28, 2026

Copy link
Copy Markdown
Owner

무엇을

  • java.lang.invoke 패키지 신설 — StringConcatException 한 클래스만(<init>(String) · loader.rs 등재). 사용처 = jvm-bytecode/src/interpreter.rs concat_with_constants 한 곳.
  • 레시피·호출지점·부트스트랩 계수 불일치 시 BootstrapMethodError: bootstrap method initialization exception + initCause(StringConcatException: Mismatched number of concat arguments|constants: …). OpenJDK 26 과 같은 모양.
  • 시험: test_a_recipe_that_contradicts_its_call_site_is_a_bootstrap_method_error 가 머리줄(바깥 오류 · Caused by: 줄)을 정확히 단언.

실측

  • OpenJDK 26.0.2.1 과 문구·cause 타입 일치. 숫자는 두 픽스처에서 다르다(OpenJDK 는 파서가 멈춘 시점 계수를 찍음) — worklog 표 참고.
  • 수정 전 런타임 → red · 변이(initCause 제거) → red.
  • 로컬 DoD 10줄 전부 rc=0 (cargo test --all 598 passed).

채택: 2026-09-17-string-concat-recipe-arity#p1 · 선행 사슬 닫힘(docs/next.md).

🤖 Generated with Claude Code

… 불일치 상세를 StringConcatException cause 로

java.lang.invoke 패키지에 StringConcatException 하나만 둔다. concat_with_constants 는
BootstrapMethodError("bootstrap method initialization exception") 를 던지고 상세는 initCause 로
단 StringConcatException 에 싣는다 — OpenJDK 26 과 같은 모양. 시험은 Caused by 줄을 정확히 단언한다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Jun025
Jun025 merged commit 9c1f942 into main Sep 28, 2026
12 checks passed
@Jun025
Jun025 deleted the feat/java-lang-invoke-string-concat-exception branch September 28, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant