Skip to main content

Module resolve

Module resolve 

Source
Expand description

Type-Resolution + Recursion-Guards (XTypes §7.3.4.5, §7.3.4.9).

Cross-references zwischen TypeObjects passieren ueber EquivalenceHash- TypeIdentifier (EK_MINIMAL / EK_COMPLETE). Ein TypeRegistry-Map cached bekannte Objekte; Resolver-Funktionen folgen Alias-Ketten und erkennen Rekursion/Cycles/DoS-Versuche via Depth-Cap.

Structs§

TypeRegistry
In-Memory-Registry von bekannten TypeObjects, indiziert nach EquivalenceHash. Wird typischerweise durch TypeLookup-Replies befuellt.

Enums§

ResolveError
Fehler bei Type-Resolution.

Constants§

DEFAULT_MAX_RESOLVE_DEPTH
Maximum-Depth fuer rekursives Aufloesen von Alias-Ketten und TypeIdentifier-Referenzen. Verhindert DoS durch boese Type-Graphen mit Zyklen.
DEFAULT_MAX_RESOLVE_NODES
Maximum-Knotenzahl waehrend collect_referenced_hashes. Zusaetzlich zum Depth-Cap begrenzt das auch breite/fan-out-lastige Graphen (ein Struct mit 10_000 Member-Eintraegen, die alle auf Hashes verweisen).

Functions§

collect_referenced_hashes
Sammelt transitiv alle EquivalenceHash-TypeIdentifiers, die von root direkt oder indirekt (durch Collections, Struct-Members, Union-Cases, Alias-Targets) referenziert werden. Nuetzlich fuer TypeLookup-Dependency-Resolution (T14).
resolve_alias_chain
Folgt Alias-Ketten: wenn ti auf einen Alias verweist (und der Alias in der Registry bekannt ist), resolve zum related_type. Primitive / Plain / Hash-direkt werden ohne Aenderung zurueckgegeben.