mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-20 00:11:37 +00:00
Calling a method on an enum-constant receiver (E.CONST.method()) emitted no CALLS edge. The receiver "E.CONST" is a two-segment compound receiver; resolveCompoundReceiverClass walks each dotted segment via the owning class scope's typeBindings map, but enum constants had no typeBinding, so the constant segment dead-ended and no target was ever resolved. #2555/#2558 gave bodied constants a first-class synthesized E$N class with an MRO that includes the host enum; this is the receiver-side follow-up. synthesizeJavaAnonymousClassDeclarations now emits a class-scope typeBinding for every enum constant's simple name -> its E$N class (bodied) or the host enum itself (body-less), reusing the exact mechanism a field declaration uses. The generic compound-receiver chain walk then resolves E.CONST.method() with no change to any shared scope-resolution code. Bodied dispatch (EnumConst.A.hook() -> EnumConst$1.hook#0) and body-less inherited dispatch (Plain.A.m() -> Plain.m#0) are covered by new tests in the existing java-enum-constant-body fixture; both were verified to fail against the pre-fix tree. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cobol | ||
| cross-file-binding | ||
| csharp-captures-golden | ||
| django-subdir-app/backend | ||
| expo-app | ||
| fastapi-composed-app | ||
| fastapi-prefix-app | ||
| go-captures-golden | ||
| group | ||
| lang-resolution | ||
| mini-repo/src | ||
| multi-verb-route-app | ||
| orm-repo/src | ||
| php-captures-golden | ||
| pipeline-golden/mini-repo | ||
| python-captures-golden | ||
| python-scope-integration | ||
| ruby-captures-golden | ||
| rust-captures-golden | ||
| sample-code | ||
| spring-bean-app/src/main | ||
| spring-config-app/src/main | ||
| spring-config-shadow-app/src/main | ||
| spring-route-app/src/main/java/com/example/controller | ||
| swift-captures-golden | ||
| vue-scope | ||
| api-impact-seed.ts | ||
| local-backend-seed.ts | ||
| search-seed.ts | ||