mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-10-11 03:38:07 +00:00
`const R = struct {…}` declared inside a fn (Lightpanda's reflection.zig
has ~20, one per builder) all collapsed onto one `Struct:<file>:R` with one
`R.get`; anonymous containers (`std.sort.pdq(…, struct { fn lessThan … }
.lessThan)`, `const byte_size = struct { fn it … }.it;`, `?struct { min,
max }` field types) had no identity at all, so their fns were OWNERLESS
Methods (`Method:<file>:lessThan#3`) that collided across a file.
`zigContainerName` now yields the graph IDENTITY on both phases:
- function-local named: `<enclosing callable>$<name>` — `Reflect.string$R`
(Java local-class `$` chain; `populateClassOwnedMembers` leaves it whole);
- anonymous: `<host>$<ordinal>` — `build$1`, `Outer$1`, `Page$1`
(javac's `Outer$1` numbering per host, in source order);
- a `test` host is keyed `test@L<line>` (its string does not survive the
class extractor's qualified-name normalization).
`zigContainerBindingName` keeps the spelling code writes (`R`) for scope
bindings and `@This()` alias rewrites (`@declaration.binding-name`).
Structure phase: bare `(struct|enum|union|opaque_declaration)` rules mint the
local/anonymous nodes via the class extractor; `shouldSkipDefinitionCapture`
keeps exactly one rule per container (`zigContainerAnchor`); a new
grammar-neutral `resolveContainerTypeOwner` provider hook lets the shared
owner walk name a container from context, so `Method:<file>:Reflect.string$R
.get#0` and its HAS_METHOD source agree by construction. Scope phase: the
wrapper group splits name/binding-name for locals and anonymous containers
get synthesized `@declaration.<kind>` defs (`is-synthetic`).
Lightpanda: ownerless Methods 14 → 0, fns without a node 55 → 0, ownerless
Properties 276 → 5, HAS_METHOD 8003 → 8074, HAS_PROPERTY 7275 → 7403,
CALLS 15838 → 15857, Struct 1905 → 2199; no resolution bucket dropped.
|
||
|---|---|---|
| .. | ||
| cobol | ||
| cross-file-binding | ||
| csharp-captures-golden | ||
| data-route-table-app | ||
| dispatch-guard-app/src/server | ||
| 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-non-http-handler-app/src/main | ||
| spring-route-app/src/main/java/com/example/controller | ||
| swift-captures-golden | ||
| vue-scope | ||
| api-impact-seed.ts | ||
| index-lock-child.mjs | ||
| local-backend-seed.ts | ||
| search-seed.ts | ||