HierarchyService class abstract mixin

A source-agnostic interface for navigating hardware hierarchy.

All search and navigation is driven by walking the HierarchyOccurrence tree. Occurrences hold their HierarchyOccurrence.name, HierarchyOccurrence.children, and HierarchyOccurrence.signals. Full paths are constructed on the fly by joining names with hierarchyPathSeparator — no pre-baked path strings are needed for search.

Key methods:

Constructors

HierarchyService()

Properties

hashCode int
The hash code for this object.
no setterinherited
root HierarchyOccurrence
The root occurrence for the hierarchy.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addressToPathname(OccurrenceAddress address, {bool asSignal = false}) String?
Convert a OccurrenceAddress back to a /-separated pathname by walking the tree using child indices.
autocompletePaths(String partialPath, {int? limit}) List<String>
Autocomplete suggestions for a partial hierarchical path.
matchOccurrences(String query, {int? limit}) List<HierarchyOccurrence>
Find hierarchy occurrences whose path matches query.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
occurrenceByAddress(OccurrenceAddress address) HierarchyOccurrence?
Find an occurrence by its OccurrenceAddress. O(depth).
occurrenceByPathname(String pathname) HierarchyOccurrence?
Resolve a /-separated pathname to a HierarchyOccurrence.
pathnameToAddress(String pathname) OccurrenceAddress?
Convert a pathname (e.g. "Top/sub/clk" or "Top.sub.clk") to a OccurrenceAddress by walking the tree.
searchOccurrencePaths(String query, {int? limit}) List<String>
Find hierarchical occurrence paths matching query.
searchOccurrencePathsRegex(String pattern, {int? limit}) List<String>
Search for occurrence paths matching a regex pattern.
searchOccurrences(String query, {int? limit}) List<OccurrenceSearchResult>
Search for occurrences and return enriched OccurrenceSearchResult objects.
searchOccurrencesRegex(String pattern, {int? limit}) List<OccurrenceSearchResult>
Search for occurrences by regex pattern and return enriched results.
searchSignalPaths(String query, {int? limit}) List<String>
Find hierarchical signal paths matching query.
searchSignalPathsRegex(String pattern, {int? limit}) List<String>
Search for signals whose hierarchical path matches a regex pattern.
searchSignals(String query, {int? limit}) List<SignalSearchResult>
Search for signals and return enriched SignalSearchResult objects.
searchSignalsRegex(String pattern, {int? limit}) List<SignalSearchResult>
Search for signals by regex pattern and return enriched results.
signalByAddress(OccurrenceAddress address) SignalOccurrence?
Find a signal by its OccurrenceAddress.
toString() String
A string representation of this object.
inherited
waveformIdToAddress(String waveformId) OccurrenceAddress?
Resolve a signal identifier from a VCD or FST waveform file to an OccurrenceAddress.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

hasRegexChars(String query) bool
Whether query contains glob or regex metacharacters that should trigger the regex search engine instead of the plain substring search.
isOccurrenceMatching(HierarchyOccurrence node, String? searchTerm) bool
Check if an occurrence or any of its descendants match searchTerm.
longestCommonPrefix(List<String> paths) String?
Returns the longest common prefix shared by all paths.