]> Repositorios git - classgraph.git/commit
Mark external families and synthesise unresolved-fam-instance nodes
authorJavier Sagredo <[email protected]>
Wed, 6 May 2026 22:53:50 +0000 (00:53 +0200)
committerJavier Sagredo <[email protected]>
Wed, 6 May 2026 23:51:06 +0000 (01:51 +0200)
commit8e2a96e0443dcdad43bec5902453d5b9e0bf09bd
tree34e952df5f5e519e514729ca045e809a9b5f64c7
parent8a8d349224b861a48c350b5304692b228b965006
Mark external families and synthesise unresolved-fam-instance nodes

External families (referenced via FamilyApp but absent from
pdTypeFamilies) now render as grey dashed diamonds, matching the
external-class styling.

When a context predicate or unmatched superclass mentions a
FamilyApp that no real fam-instance can resolve — typically because
the family is external — synthesise a placeholder fam-instance node
"Family args = ?" for each distinct use site. The chain then reads:

    SigDSIGN ──► SigDSIGN Ed448DSIGN = ?  ╶╶►  NoThunks (SigDSIGN Ed448DSIGN)

(the dashed leg is the fam-resolves edge to the originating predicate
node). Side panel for these placeholders explains they're use sites,
not equations. Help legend grows two new rows: external family +
unresolved fam-instance.

addFamilyLinksFromArgs gained two parameters (boundTvs, originPredId)
to render the placeholder labels in the right tyvar context and to
chain placeholders back to the predicate that needed them. The
superclass call site reorders so the unmatched-pred node id is
available before the call.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
data/viewer.css
data/viewer.html
data/viewer.js