Data Components is one of the interactive graphs Understand can draw of your code — call trees, dependencies, control flow, and more.
Data Components
Languages: AdaTargets: Record Types
Variants: Classic, Cluster, Compare, Relationship, Simplified
Show the record and array types nested inside a selected record type, down to their primitive fields.
For a selected record type, this shows an edge to each of its components (fields), then an edge from that component to its own type — another record type or an array type — and recurses into that type's components in turn. An array component's node shows its bounds and element type, and if that element type is itself a record or array, the graph continues into its components too. A component whose type has no further components of its own, like a Float, is a leaf.
Rooted at Route below, the graph shows its components Path (a Navigation.Segment) and Stops (a Navigation.Waypoint_Array). Segment continues into its own components From, To, and Speeds; Waypoint_Array continues into its element type, Coordinate, which is shown again with its own X and Y components.
See the following code and corresponding graph
package Primitives is
type Coordinate is record
X, Y : Float;
end record;
type Speed_Array is array (1 .. 4) of Float;
end Primitives;
package Navigation is
type Segment is record
From : Primitives.Coordinate;
To : Primitives.Coordinate;
Speeds : Primitives.Speed_Array;
end record;
type Waypoint_Array is array (1 .. 10) of Primitives.Coordinate;
end Navigation;
package Routes is
type Route is record
Path : Navigation.Segment;
Stops : Navigation.Waypoint_Array;
end record;
end Routes;
Data Components - Classic
The Classic variant is similar to the Simplified variant, showing all relationships in a simple tree, but it uses a custom layout algorithm instead of Graphviz.
Data Components - Cluster
The Cluster variant groups entities by their containing class/file/architecture.
Data Components - Compare
The Compare variant shows how the graph has changed relative to the project's comparison database.
Data Components - Relationship
The Relationship variant filters the graph to only paths connecting the two entities.
Data Components - Simplified
The Simplified variant shows all relationships in a simple tree (no clusters)