CodeConstructView

data class CodeConstructView(val construct: CodeConstruct, val ownerElementId: String? = null, val parentConstructId: String? = null, val visible: Boolean = true, val name: String? = null, val iconKey: String? = null, val hotspots: List<Hotspot> = emptyList(), val position: Position? = null, val asilOverride: ASIL? = null, val propagatedAsil: ASIL? = null, val cascadingFault: Boolean? = null, val symbolicallyReachable: Boolean? = null, val metrics: CodeMetrics? = null, val description: String? = null, val isDiagramSourceEndpoint: Boolean = false, val isDiagramSinkEndpoint: Boolean = false, val sourceUrl: String? = null, val sourceLineText: String? = null, val segmentIds: List<String> = emptyList(), val sourceInstructionIds: List<String> = emptyList(), val sourceEndpointSymbols: List<String> = emptyList(), val sinkInstructionIds: List<String> = emptyList(), val factIds: List<String> = emptyList(), val evidenceComponentIds: List<String> = emptyList(), val solverExecutionIds: List<String> = emptyList(), val segmentInstructionOrdinals: Map<String, Int> = emptyMap(), val instructionLabels: List<String> = emptyList(), val instructionBlocks: List<InstructionTooltipBlock> = emptyList(), val endpointSymbol: String? = null, val endpointDemangled: String? = null)

The view of a single CodeConstruct inside a Vista.

Used for analyzer-level entities (functions, instructions, files, namespaces, classes) that are not tied to a spec-level Element but still appear in the diagram. Detailed instruction-level views use these heavily; summarized views typically don't.

If the construct corresponds to a code site of a user-defined Element, ownerElementId carries that link — the diagram can then visually group (parent-of-compound-node) the constructs under their owning element.

metrics holds McCabe complexity / nesting / lines when this view wraps a function; for other kinds it stays null.

Constructors

Link copied to clipboard
constructor(construct: CodeConstruct, ownerElementId: String? = null, parentConstructId: String? = null, visible: Boolean = true, name: String? = null, iconKey: String? = null, hotspots: List<Hotspot> = emptyList(), position: Position? = null, asilOverride: ASIL? = null, propagatedAsil: ASIL? = null, cascadingFault: Boolean? = null, symbolicallyReachable: Boolean? = null, metrics: CodeMetrics? = null, description: String? = null, isDiagramSourceEndpoint: Boolean = false, isDiagramSinkEndpoint: Boolean = false, sourceUrl: String? = null, sourceLineText: String? = null, segmentIds: List<String> = emptyList(), sourceInstructionIds: List<String> = emptyList(), sourceEndpointSymbols: List<String> = emptyList(), sinkInstructionIds: List<String> = emptyList(), factIds: List<String> = emptyList(), evidenceComponentIds: List<String> = emptyList(), solverExecutionIds: List<String> = emptyList(), segmentInstructionOrdinals: Map<String, Int> = emptyMap(), instructionLabels: List<String> = emptyList(), instructionBlocks: List<InstructionTooltipBlock> = emptyList(), endpointSymbol: String? = null, endpointDemangled: String? = null)

Properties

Link copied to clipboard

Diagram-specific ASIL override. Set by the data-flow propagator on non-boundary nodes that inherit (the min of) their predecessors' ASILs. The wrapped construct's own asil stays unchanged; the exporters use this as the propagated ASIL for legacy/summary views.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Logical analyzer endpoint identity for an IR call instruction. The analyzer can emit many physical call sites for one configured source or sink symbol; summarized diagrams use this identity to project those call sites to one role-specific endpoint node. Detailed diagrams continue to render the physical construct unchanged.

Link copied to clipboard

Native evidence origins retained through presentation-only graph compaction.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Structured version of instructionLabels for rich tooltips. Segment diagrams use this to list each member IR with source location, source URL, function, and segment membership instead of flattening everything into one string.

Link copied to clipboard

For a grouped source-line / segment view: the display labels of the IR instructions represented by this node. Empty for normal IR-level views.

Link copied to clipboard
Link copied to clipboard

Diagram-scoped endpoint projection. These flags mean "source/sink in this generated diagram", not "some harness source/sink exists at this code site". Grouped views such as data-flow segments set them only when a represented instruction is part of the diagram's selected endpoint set.

Link copied to clipboard
Link copied to clipboard
val name: String?
Link copied to clipboard
Link copied to clipboard

Construct-side compound-node parent for renderers that support compound nodes (cytoscape's data.parent). Set by the loader on CodeInstruction views to the id of their enclosing CodeFunction view's construct, so instructions render as children of the function box. SVG / sigma renderers ignore this field — they don't support compound nodes natively.

Link copied to clipboard
Link copied to clipboard

Weakest ASIL taint that reaches this view in the current data-flow diagram. Unlike asilOverride, this is also set on source/sink boundaries, where the wrapped construct's own ASIL remains the nominal endpoint classification. Renderers use nominal ASIL for fill and propagated ASIL for border.

Link copied to clipboard

Per-sink data-flow DAG segment IDs that contain this instruction. A single IR instruction can appear in many segments, so segments are metadata rather than strict parent nodes in the IR-level diagram.

Link copied to clipboard

Per-segment position of this instruction inside the analyzer segment payload. This preserves segment tooltip ordering without inventing IR-level data-flow edges between member instructions.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Source/sink/fact provenance for a compacted data-flow presentation node. Empty for ordinary code-construct views. Segment aliases remain in segmentIds; these fields preserve which configured analysis endpoints and analyzer facts contributed to the compacted node.

Link copied to clipboard

Source text read from the construct's source file/line. This is tooltip metadata for IR nodes; it must not replace the IR node label.

Link copied to clipboard

URL into the configured code-browser (GitHub / GitLab) for the construct's source location — <remote>/blob/<commit>/<path>#L<line>. Computed by Enrichment.applySourceUrls when the diagrams task has git provenance available; null otherwise (renderers degrade to a non-clickable node).

Link copied to clipboard
Link copied to clipboard
Generated with STIG