AnalysisJsonLoader
Loads a v5 or compact v6 analysis.json (see AnalysisResult) into a Vista.
v5/v6 differences from the old v4 loader
Walks per-sink DAGs:
parsed.sinks[i].dataFlowDAGinstead of the v4 flatdataFlowDAGtable. The Vista still merges everything into one rendering model (so per-sink P7 diagrams continue to work on one Vista per JSON file), but the source is now a list of per-sink slices.Reads
sourceRepo+sourceFile(repo-relative) instead of v4'ssourceDir+sourceFile. Caller can supplyanalysisJsonDirso the loader can resolve StigRepoFile.file back to an absolute path on disk for SourceLineLabeler to read.Data-flow edges come from inter-segment edges in the raw per-sink DAG.
feasibleFacts[].paths[]remains optional metadata in AnalysisResult, but it is not a diagram input. Segment membership is stored as instruction metadata; member instructions inside one segment are not converted to synthetic data-flow arrows.
ASIL stamping
Unchanged from v4. asilBySymbol maps mangled symbol names → ASIL. For each instruction: prefer callee-derived ASIL; fall back to the enclosing-function ASIL. The synthesized CodeFunction inherits only the function-derived ASIL.
Scoping
Each load runs in its own ModelScope so newly-created entities don't leak into the process-global registry.
Functions
Loads the shared ICFG plus direct configured source-to-sink relations. The supplied summary is derived without expanding schema-v7 component topology and is sufficient for aggregate summarized P7 views.
Loads one logical sink as a browser-sized code-topology quotient.