public final class ShadowSummaryApplier extends Object
routine-summary-scc-design.md §2.3/§2.6): SHADOW-mode
summary composition into an ISOLATED observation model. Nothing here touches the
LEGACY analysis — the applier runs its own per-definition extractions,
binds call sites through the CatalogRoutineCallBinder, and emits
the composed cross-routine edges as a standalone edge set tagged
origin=SUMMARY_COMPOSED. The ShadowLeafEdgeComparator
classifies that set against the LEGACY run's leaf projection.
Composition rules (the G1 capability):
formal_p → B composes with the caller's
boundary sources feeding the actual bound to p — the fan-in of
the actual expression's leaves, resolved through the caller's OWN
closure (locals are quotiented out of summaries; the per-call-site
reach on CallSiteRef is exactly what composition needs).X → formal_p(OUT) composes onto the
caller boundary endpoints reachable FROM the bound writable lvalue.
When X is itself an IN formal of the callee, it chains through
the caller sources of ITS actual (IN→OUT pass-through).X → resultset column maps
positionally onto INSERT…EXEC target columns (§2.3 rule 3), using the
callee summary's recorded result-set shape.fdd
only when every leg is; any fdr leg makes it fdr.| Modifier and Type | Class and Description |
|---|---|
static class |
ShadowSummaryApplier.ApplicationGate
Publication gate attached to every composed edge.
|
static class |
ShadowSummaryApplier.ComposedEdge
One composed cross-routine edge of the isolated SHADOW side model.
|
static class |
ShadowSummaryApplier.EdgeOrigin |
static class |
ShadowSummaryApplier.ShadowResult
The isolated SHADOW observation output.
|
| Modifier and Type | Field and Description |
|---|---|
static String |
APPLICATION_DEFERRED_CALL_VALIDITY_NOT_PROVEN
Stable reason attached to every composed observation until call
validity, type compatibility, actual mutability, and execution context
are exhaustively proven.
|
| Constructor and Description |
|---|
ShadowSummaryApplier(EDbVendor vendor) |
ShadowSummaryApplier(EDbVendor vendor,
ProceduralLineageOptions options) |
| Modifier and Type | Method and Description |
|---|---|
ShadowSummaryApplier.ShadowResult |
apply(List<String> unitTexts)
Run the full SHADOW pipeline over a multi-file unit: catalog, base
summaries, call-site binding (identity-first: the resolved
RoutineIdentity is the summary lookup key), composition. |
public static final String APPLICATION_DEFERRED_CALL_VALIDITY_NOT_PROVEN
public ShadowSummaryApplier(EDbVendor vendor)
public ShadowSummaryApplier(EDbVendor vendor, ProceduralLineageOptions options)
public ShadowSummaryApplier.ShadowResult apply(List<String> unitTexts)
RoutineIdentity is the summary lookup key), composition.