Uses of Interface
org.ek9lang.compiler.phase5.flow.AbstractValue
Packages that use AbstractValue
-
Uses of AbstractValue in org.ek9lang.compiler.phase5.flow
Classes in org.ek9lang.compiler.phase5.flow that implement AbstractValueModifier and TypeClassDescriptionfinal recordRepresents an unreachable program point — a contradiction in constraints.final recordRepresents a variable known to hold a specific constant value.final recordRepresents a variable known to hold any value except a specific constant.final recordRepresents a variable known to be within a numeric range [lo, hi].final recordRepresents a variable known to be either SET (has a meaningful value) or UNSET (declared but no value).final recordRepresents an unknown value — no information available about the variable.Methods in org.ek9lang.compiler.phase5.flow that return AbstractValueModifier and TypeMethodDescriptionGet the abstract value for a symbol.Get the current abstract value for a variable.AbstractValue.join(AbstractValue other) Join this value with another at a branch convergence point.BottomValue.join(AbstractValue other) ConstantValue.join(AbstractValue other) ExcludesConstantValue.join(AbstractValue other) RangeValue.join(AbstractValue other) SetStateValue.join(AbstractValue other) TopValue.join(AbstractValue other) Methods in org.ek9lang.compiler.phase5.flow with parameters of type AbstractValueModifier and TypeMethodDescriptionAbstractValue.evaluateCondition(String operator, AbstractValue operand) Evaluate whether this abstract value satisfies a comparison condition.BottomValue.evaluateCondition(String operator, AbstractValue operand) ConstantValue.evaluateCondition(String operator, AbstractValue operand) ConstraintState.evaluateCondition(AbstractValue left, String operator, AbstractValue right) Evaluate a condition given the current state of two symbols/values.ExcludesConstantValue.evaluateCondition(String operator, AbstractValue operand) RangeValue.evaluateCondition(String operator, AbstractValue operand) SetStateValue.evaluateCondition(String operator, AbstractValue operand) TopValue.evaluateCondition(String operator, AbstractValue operand) ValueTrackingAnalyzer.evaluateCondition(AbstractValue left, String operator, AbstractValue right) Evaluate a condition between two abstract values.AbstractValue.join(AbstractValue other) Join this value with another at a branch convergence point.BottomValue.join(AbstractValue other) ConstantValue.join(AbstractValue other) ExcludesConstantValue.join(AbstractValue other) RangeValue.join(AbstractValue other) SetStateValue.join(AbstractValue other) TopValue.join(AbstractValue other) voidValueTrackingAnalyzer.recordAssignment(ISymbol symbol, AbstractValue abstractValue) Record a variable assignment with a known constant value.voidValueTrackingAnalyzer.registerModuleConstant(ISymbol symbol, AbstractValue abstractValue) Register a module-level constant (from defines constant blocks).voidConstraintState.set(ISymbol symbol, AbstractValue abstractValue) Set the abstract value for a symbol (mutates this state).