Package org.ek9lang.compiler.phase5.flow


package org.ek9lang.compiler.phase5.flow
  • Class
    Description
    Represents an abstract value in the value-tracking lattice for flow analysis.
    Represents an unreachable program point — a contradiction in constraints.
    Represents a variable known to be a collection or container type with both SET/UNSET and EMPTY/NON-EMPTY state tracked.
    Result of evaluating a condition against abstract values.
    Represents a variable known to hold a specific constant value.
    Immutable constraint state mapping variables to their abstract values.
    Extracts collection/container state information from constructor calls and literal expressions.
    Represents a variable known to hold any value except a specific constant.
    Extracts constant values from EK9 AST literal nodes.
    Primitives layer for slice-2 lock-identity tracking — mints opaque Object tokens for MutexLock allocation sites, returns the ISymbol reference as token for field/parameter/capture-rooted identities, and produces stable string IDs for cross-record / wire-format use.
    Tracks which physical MutexLock object(s) a variable may currently refer to at a given program point.
    The relational path condition accumulated along a control-flow path — an orthogonal structure that sits beside ConstraintState and records facts between symbolic term names (e.g.
    A single relational fact between two term names, e.g.
    Symbolic identity for a MutexLock parameter whose underlying object is unknown until resolved at a specific call site.
    Represents a variable known to be within a numeric range [lo, hi].
    Represents a variable known to be either SET (has a meaningful value) or UNSET (declared but no value).
    The M3 symbolic dead-branch analyzer: seeds a function's parameters as SymbolicTermValue terms, reads the relational facts off its require/if nodes into a PathCondition, and reports a branch dead when its accumulated facts are unsatisfiable.
    The base (pre-branch) path condition and the verdict for the function's if branch.
    Whether a branch is dead (unreachable for every input), and why.
    A symbolic (named) term in the flow lattice — a fresh, unconstrained parameter or local carried as itself instead of collapsing to TopValue.
    Represents an unknown value — no information available about the variable.
    Tracks variable values through control flow for tautological condition detection.