SumReprProxy
Mutable proxy for self-referential sum representations. Like TypeProxy for SIRType — allows circular references in recursive types (e.g., List tail field references the parent List's SumUplcConstr). Set ref after constructing the real representation.
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
Members list
Value members
Concrete methods
The UPLC DefaultUni type for values in this representation.
The UPLC DefaultUni type for values in this representation.
Used to generate correctly-typed nil constants for builtin lists.
Value parameters
- semanticType
-
the high-level SIR type (e.g.,
Integer,List[BigInt])
Attributes
- Returns
-
the DefaultUni type (e.g.,
DefaultUni.Integerfor Constant,DefaultUni.Datafor PackedData) - Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Cycle-detecting delegation to ref. seen tracks proxy instances (identity-keyed via default equals/hashCode) already being rendered on this call stack; on revisit, emit SumProxy(cycle) as the stable placeholder — the common case for self-recursive types like List's tail field.
Cycle-detecting delegation to ref. seen tracks proxy instances (identity-keyed via default equals/hashCode) already being rendered on this call stack; on revisit, emit SumProxy(cycle) as the stable placeholder — the common case for self-recursive types like List's tail field.
Attributes
- Definition Classes
Inherited methods
Attributes
- Inherited from:
- LoweredValueRepresentation
Stable structural key for use as cache-key / identifier-suffix. Two structurally-equal representations return equal stableKey strings.
Stable structural key for use as cache-key / identifier-suffix. Two structurally-equal representations return equal stableKey strings.
Distinct from toString: for SumReprProxy the default Object.toString returns ClassName@HEX (identity-based), leaking proxy-instance identity into any key that embeds the repr rendering (e.g. LoweringEq's sumEq helper cache, UPLC var-name derivation). Use stableKey there instead.
Implemented in terms of stableKeyInternal which threads a seen set through the recursion so self-referential SumReprProxy produces SumProxy(cycle) as a stable placeholder. Override stableKeyInternal in every subclass that recursively contains a LoweredValueRepresentation field so the seen set is propagated.
Attributes
- Inherited from:
- LoweredValueRepresentation
The SIR type that values actually have at the UPLC level for this representation.
The SIR type that values actually have at the UPLC level for this representation.
Value parameters
- semanticType
-
the high-level SIR type (e.g.,
Integer,List[BigInt])
Attributes
- Returns
-
the UPLC-level SIR type (e.g.,
Integerfor Constant,Datafor PackedData) - Inherited from:
- LoweredValueRepresentation
Concrete fields
Inherited fields
Attributes
- Inherited from:
- SumCaseClassRepresentation
Attributes
- Inherited from:
- SumCaseClassRepresentation