gitnexus 1.6.6-rc.131 → 1.6.6-rc.133
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/ingestion/utils/ast-helpers.js +40 -9
- package/package.json +1 -1
- package/web/assets/{agent-Dn6FYhTz.js → agent-EkX7webX.js} +86 -86
- package/web/assets/{architectureDiagram-UL44E2DR-PLLrYbn8.js → architectureDiagram-UL44E2DR-BoczH8cv.js} +1 -1
- package/web/assets/{chunk-LCXTWHL2-92caKtfH.js → chunk-LCXTWHL2-By5HB3b-.js} +1 -1
- package/web/assets/{chunk-RG4AUYOV-C-sakyh5.js → chunk-RG4AUYOV-BQE_DkpL.js} +1 -1
- package/web/assets/{classDiagram-KGZ6W3CR-CCPRO_fZ.js → classDiagram-KGZ6W3CR-Dj_02GUH.js} +1 -1
- package/web/assets/{classDiagram-v2-72OJOZXJ-DjwcwGwL.js → classDiagram-v2-72OJOZXJ-D-NArMpf.js} +1 -1
- package/web/assets/{diagram-3NCE3AQN-qacGQhYr.js → diagram-3NCE3AQN-VXtXDO95.js} +1 -1
- package/web/assets/{diagram-GF46GFSD-Cow1NWUQ.js → diagram-GF46GFSD-B1qab2Ah.js} +1 -1
- package/web/assets/{diagram-QXG6HAR7-CdoHgN9O.js → diagram-QXG6HAR7-BSCHGzzT.js} +1 -1
- package/web/assets/{diagram-WEQXMOUZ-CeTAe_78.js → diagram-WEQXMOUZ-DHtknmNT.js} +1 -1
- package/web/assets/{erDiagram-L5TCEMPS-C7Md4B_p.js → erDiagram-L5TCEMPS-Db-IYTmm.js} +1 -1
- package/web/assets/{flowDiagram-H6V6AXG4-B4i2kRp5.js → flowDiagram-H6V6AXG4-BHDoyVoW.js} +1 -1
- package/web/assets/{index-CTE-KR7b.js → index-BR0IhgbR.js} +9 -9
- package/web/assets/{infoDiagram-3YFTVSEB-DiiwWjLx.js → infoDiagram-3YFTVSEB-6h8wbWEe.js} +1 -1
- package/web/assets/{ishikawaDiagram-BNXS4ZKH-Bjdu0R5v.js → ishikawaDiagram-BNXS4ZKH-Dx2OkPk1.js} +1 -1
- package/web/assets/{kanban-definition-75IXJCU3-BwzP88gz.js → kanban-definition-75IXJCU3-CIIEZfqV.js} +1 -1
- package/web/assets/{mindmap-definition-2TDM6QVE-CqDUnYoO.js → mindmap-definition-2TDM6QVE-DUAqydRq.js} +1 -1
- package/web/assets/{pieDiagram-CU6KROY3-BBRqBgKU.js → pieDiagram-CU6KROY3-BntYuYZa.js} +1 -1
- package/web/assets/{requirementDiagram-JXO7QTGE-PwMFxMKU.js → requirementDiagram-JXO7QTGE-QCD6I29n.js} +1 -1
- package/web/assets/{sequenceDiagram-VS2MUI6T-rpwpZdlM.js → sequenceDiagram-VS2MUI6T-DScFwLz2.js} +1 -1
- package/web/assets/{stateDiagram-7D4R322I-BxV0xf0i.js → stateDiagram-7D4R322I-AkRAm6Hl.js} +1 -1
- package/web/assets/{stateDiagram-v2-36443NZ5-DPtqNTSt.js → stateDiagram-v2-36443NZ5-BCK1vigR.js} +1 -1
- package/web/assets/{timeline-definition-O6YCAMPW-Dr74bGqt.js → timeline-definition-O6YCAMPW-BvpIVXjX.js} +1 -1
- package/web/assets/{vennDiagram-MWXL3ELB-DgoJI9UE.js → vennDiagram-MWXL3ELB-BYGWk6dK.js} +1 -1
- package/web/assets/{wardleyDiagram-CUQ6CDDI-fpDdFdbe.js → wardleyDiagram-CUQ6CDDI-Dk1z7H2T.js} +1 -1
- package/web/assets/{xychartDiagram-N2JHSOCM-DyarviyC.js → xychartDiagram-N2JHSOCM-2N6NCSWN.js} +1 -1
- package/web/index.html +1 -1
|
@@ -452,15 +452,46 @@ getQualifiedOwnerName) => {
|
|
|
452
452
|
// different mods own through DISTINCT nodes. The Impl-node
|
|
453
453
|
// materialization (parsing-processor / parse-worker) mirrors this, so
|
|
454
454
|
// the owner id == the Impl node id byte-for-byte (#1982).
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
455
|
+
// - GENERIC (`impl<T> Inner<T>`, generic_type): the @definition.impl
|
|
456
|
+
// node is materialized only when the generic base is a bare
|
|
457
|
+
// `type_identifier` (tree-sitter-queries.ts), qualified the same way —
|
|
458
|
+
// so drill into the base and mirror that gate, keeping the owner id ==
|
|
459
|
+
// the node id byte-for-byte (#1992). A generic over a SCOPED base
|
|
460
|
+
// (`impl<T> a::Inner<T>`) materializes NO node, so it must produce NO
|
|
461
|
+
// owner (the method orphans — scoped-generic deferred, #1992).
|
|
462
|
+
const implTarget = children.find((c) => c.type === 'type_identifier' ||
|
|
463
|
+
c.type === 'scoped_type_identifier' ||
|
|
464
|
+
c.type === 'generic_type');
|
|
465
|
+
if (implTarget) {
|
|
466
|
+
const baseType = implTarget.type === 'generic_type'
|
|
467
|
+
? (implTarget.childForFieldName?.('type') ?? null)
|
|
468
|
+
: implTarget;
|
|
469
|
+
if (baseType?.type === 'type_identifier') {
|
|
470
|
+
// Bare target (`impl Inner` or `impl<T> Inner<T>`): qualify by mod scope.
|
|
471
|
+
// #1992 follow-up: qualify `className` too (not just `classId`). The
|
|
472
|
+
// method node id is keyed `${className}.${name}`, so a bare tail collapses
|
|
473
|
+
// two same-tail bare impls that ALSO share a method name (`a::Inner::m` +
|
|
474
|
+
// `b::Inner::m` both → `Inner.m`) onto one Method node (graph addNode is
|
|
475
|
+
// first-write-wins). Qualifying className → `a.Inner.m` / `b.Inner.m` keeps
|
|
476
|
+
// them distinct. Symmetric: the call-resolution fallback rebuilds the same
|
|
477
|
+
// `${className}.${name}` from the same enclosing-impl walk, so def and call
|
|
478
|
+
// ids still agree. Owner edge anchors on `classId` (already qualified).
|
|
479
|
+
const qualified = qualifyRustImplTargetByModScope(current, baseType.text);
|
|
480
|
+
return {
|
|
481
|
+
classId: generateId('Impl', `${filePath}:${qualified}`),
|
|
482
|
+
className: qualified,
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
if (baseType?.type === 'scoped_type_identifier' && implTarget.type !== 'generic_type') {
|
|
486
|
+
// Top-level scoped `impl a::Inner`: key by full raw text (#1975).
|
|
487
|
+
return {
|
|
488
|
+
classId: generateId('Impl', `${filePath}:${baseType.text}`),
|
|
489
|
+
className: baseType.text,
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
// generic-over-scoped (`impl<T> a::Inner<T>`) and any other base: fall
|
|
493
|
+
// through with no owner — no @definition.impl node exists, so attributing
|
|
494
|
+
// a method to a synthesized id would orphan it against a phantom owner.
|
|
464
495
|
}
|
|
465
496
|
}
|
|
466
497
|
const nameNode = current.childForFieldName?.('name') ??
|
package/package.json
CHANGED