dtzrttp/moonbit-rtl/src/semantic does not have a README file

    ContractStatus

    pub(all) enum ContractStatus {
    Match
    WidthMismatch
    DirectionMismatch
    MissingPort
    UnknownModule
    UnknownWidth
    } derive(Eq,
    Debug
    )

    ControlFlowSummary

    pub(all) struct ControlFlowSummary {
    assigned : Array[String]
    conditionally_assigned : Array[String]
    read : Array[String]
    sensitivity_names : Array[String]
    has_clock_edge : Bool
    } derive(Eq,
    Debug
    )

    DependencyGraph

    pub(all) struct DependencyGraph {
    edge_list : Array[(String, String)]
    } derive(Eq,
    Debug
    )

    DependencyGraph::edges

    fn DependencyGraph::edges(self : DependencyGraph) -> Array[(String, String)]

    DriveKind

    pub(all) enum DriveKind {
    Continuous
    Procedural
    InstanceOutput
    } derive(Eq,
    Debug
    )

    InstanceInfo

    pub(all) struct InstanceInfo {
    module_name : String
    instance_name : String
    span :
    Span

    } derive(Eq,
    Debug
    )

    ModuleInfo

    ModuleInfo::signal

    fn ModuleInfo::signal(self : ModuleInfo, name : String) -> SignalInfo?

    ModuleMetrics

    pub(all) struct ModuleMetrics {
    module_name : String
    ports : Int
    signals : Int
    instances : Int
    items : Int
    driven_signals : Int
    undriven_signals : Int
    expression_nodes : Int
    } derive(Eq,
    Debug
    )

    PortContract

    pub(all) struct PortContract {
    parent_module : String
    instance_name : String
    port_name : String
    expression_name : String?
    status : ContractStatus
    span :
    Span

    } derive(Eq,
    Debug
    )

    PortContract::label

    fn PortContract::label(self : PortContract) -> String

    SemanticIndex

    pub(all) struct SemanticIndex {
    modules : Array[ModuleInfo]
    graph : DependencyGraph
    issues : Array[SemanticIssue]
    syntax_modules : Array[
    Module
    ]
    } derive(
    Debug
    )

    SemanticIndex::all_module_metrics

    fn SemanticIndex::all_module_metrics(self : SemanticIndex) -> Array[ModuleMetrics]

    SemanticIndex::analytics_summary

    fn SemanticIndex::analytics_summary(self : SemanticIndex) -> String

    SemanticIndex::blocking_issue_count

    fn SemanticIndex::blocking_issue_count(self : SemanticIndex) -> Int

    SemanticIndex::children_of

    fn SemanticIndex::children_of(self : SemanticIndex, parent_name : String) -> Array[String]

    SemanticIndex::complete_ir

    fn SemanticIndex::complete_ir(self : SemanticIndex) -> String

    SemanticIndex::complete_ir_size

    fn SemanticIndex::complete_ir_size(self : SemanticIndex) -> Int

    SemanticIndex::connection_count

    fn SemanticIndex::connection_count(self : SemanticIndex, module_name : String) -> Int

    SemanticIndex::consumer_count

    fn SemanticIndex::consumer_count(self : SemanticIndex, module_name : String, signal_name : String) -> Int

    SemanticIndex::contract_for_instance

    fn SemanticIndex::contract_for_instance(self : SemanticIndex, parent : String, instance : String) -> Array[PortContract]

    SemanticIndex::contract_labels

    fn SemanticIndex::contract_labels(self : SemanticIndex) -> Array[String]

    SemanticIndex::contract_status_count

    fn SemanticIndex::contract_status_count(self : SemanticIndex, status : ContractStatus) -> Int

    SemanticIndex::contract_status_histogram

    fn SemanticIndex::contract_status_histogram(self : SemanticIndex) -> String

    SemanticIndex::contract_statuses

    fn SemanticIndex::contract_statuses(self : SemanticIndex) -> Array[ContractStatus]

    SemanticIndex::contract_summary

    fn SemanticIndex::contract_summary(self : SemanticIndex) -> String

    SemanticIndex::contract_table

    fn SemanticIndex::contract_table(self : SemanticIndex) -> String

    SemanticIndex::control_flow

    fn SemanticIndex::control_flow(self : SemanticIndex, module_name : String) -> ControlFlowSummary?

    Summarize procedural reads, writes, and sensitivity edges for one module.

    SemanticIndex::dependency_nodes

    fn SemanticIndex::dependency_nodes(self : SemanticIndex) -> Array[String]

    SemanticIndex::driven_signals

    fn SemanticIndex::driven_signals(self : SemanticIndex, module_name : String) -> Array[String]

    Return names of signals with at least one recorded driver.

    SemanticIndex::driver_kind_count

    fn SemanticIndex::driver_kind_count(self : SemanticIndex, kind : DriveKind) -> Int

    SemanticIndex::drivers

    fn SemanticIndex::drivers(self : SemanticIndex, module_name : String, signal_name : String) -> Array[Drive]

    SemanticIndex::duplicate_edge_count

    fn SemanticIndex::duplicate_edge_count(self : SemanticIndex) -> Int

    SemanticIndex::edge_count

    fn SemanticIndex::edge_count(self : SemanticIndex) -> Int

    SemanticIndex::fanout

    fn SemanticIndex::fanout(self : SemanticIndex, module_name : String) -> Int

    Count hierarchy children of one module.

    SemanticIndex::find_module

    fn SemanticIndex::find_module(self : SemanticIndex, name : String) -> ModuleInfo?

    SemanticIndex::graph_depth

    fn SemanticIndex::graph_depth(self : SemanticIndex, root : String) -> Int

    SemanticIndex::graph_is_acyclic

    fn SemanticIndex::graph_is_acyclic(self : SemanticIndex) -> Bool

    SemanticIndex::graph_summary

    fn SemanticIndex::graph_summary(self : SemanticIndex) -> String

    SemanticIndex::has_contract_errors

    fn SemanticIndex::has_contract_errors(self : SemanticIndex) -> Bool

    SemanticIndex::has_edge

    fn SemanticIndex::has_edge(self : SemanticIndex, parent : String, child : String) -> Bool

    Return whether the graph contains a particular directed edge.

    SemanticIndex::has_module

    fn SemanticIndex::has_module(self : SemanticIndex, name : String) -> Bool

    Return whether the index contains a named module.

    SemanticIndex::has_unresolved_contracts

    fn SemanticIndex::has_unresolved_contracts(self : SemanticIndex) -> Bool

    SemanticIndex::hierarchy_parents

    fn SemanticIndex::hierarchy_parents(self : SemanticIndex) -> Array[String]

    Return modules which instantiate at least one other module.

    SemanticIndex::hierarchy_roots

    fn SemanticIndex::hierarchy_roots(self : SemanticIndex) -> Array[String]

    Return modules which are not referenced as a child by another module.

    SemanticIndex::high_fanin_modules

    fn SemanticIndex::high_fanin_modules(self : SemanticIndex, threshold : Int) -> Array[String]

    SemanticIndex::high_fanout_modules

    fn SemanticIndex::high_fanout_modules(self : SemanticIndex, threshold : Int) -> Array[String]

    SemanticIndex::ir_checklist

    fn SemanticIndex::ir_checklist(self : SemanticIndex) -> Array[(String, Bool)]

    SemanticIndex::ir_checklist_summary

    fn SemanticIndex::ir_checklist_summary(self : SemanticIndex) -> String

    SemanticIndex::ir_contracts

    fn SemanticIndex::ir_contracts(self : SemanticIndex) -> String

    SemanticIndex::ir_document

    fn SemanticIndex::ir_document(self : SemanticIndex) -> String

    SemanticIndex::ir_edge_summary

    fn SemanticIndex::ir_edge_summary(self : SemanticIndex) -> String

    SemanticIndex::ir_has_contract_errors

    fn SemanticIndex::ir_has_contract_errors(self : SemanticIndex) -> Bool

    SemanticIndex::ir_has_cycles

    fn SemanticIndex::ir_has_cycles(self : SemanticIndex) -> Bool

    SemanticIndex::ir_has_edges

    fn SemanticIndex::ir_has_edges(self : SemanticIndex) -> Bool

    SemanticIndex::ir_has_issues

    fn SemanticIndex::ir_has_issues(self : SemanticIndex) -> Bool

    SemanticIndex::ir_has_module_status

    fn SemanticIndex::ir_has_module_status(self : SemanticIndex, status : String) -> Bool

    SemanticIndex::ir_has_modules

    fn SemanticIndex::ir_has_modules(self : SemanticIndex) -> Bool

    SemanticIndex::ir_has_roots

    fn SemanticIndex::ir_has_roots(self : SemanticIndex) -> Bool

    SemanticIndex::ir_is_empty

    fn SemanticIndex::ir_is_empty(self : SemanticIndex) -> Bool

    SemanticIndex::ir_is_nonempty

    fn SemanticIndex::ir_is_nonempty(self : SemanticIndex) -> Bool

    SemanticIndex::ir_is_valid

    fn SemanticIndex::ir_is_valid(self : SemanticIndex) -> Bool

    SemanticIndex::ir_lines

    fn SemanticIndex::ir_lines(self : SemanticIndex) -> Array[String]

    SemanticIndex::ir_metrics

    fn SemanticIndex::ir_metrics(self : SemanticIndex) -> String

    SemanticIndex::ir_module_names

    fn SemanticIndex::ir_module_names(self : SemanticIndex) -> String

    SemanticIndex::ir_module_status

    fn SemanticIndex::ir_module_status(self : SemanticIndex, name : String) -> String

    SemanticIndex::ir_module_status_count

    fn SemanticIndex::ir_module_status_count(self : SemanticIndex, status : String) -> Int

    SemanticIndex::ir_module_status_summary

    fn SemanticIndex::ir_module_status_summary(self : SemanticIndex) -> String

    SemanticIndex::ir_module_statuses

    fn SemanticIndex::ir_module_statuses(self : SemanticIndex) -> Array[String]

    SemanticIndex::ir_node_count

    fn SemanticIndex::ir_node_count(self : SemanticIndex) -> Int

    SemanticIndex::ir_size

    fn SemanticIndex::ir_size(self : SemanticIndex) -> Int

    SemanticIndex::ir_status

    fn SemanticIndex::ir_status(self : SemanticIndex) -> String

    SemanticIndex::ir_status_line

    fn SemanticIndex::ir_status_line(self : SemanticIndex) -> String

    SemanticIndex::ir_summary

    fn SemanticIndex::ir_summary(self : SemanticIndex) -> String

    SemanticIndex::is_recursive

    fn SemanticIndex::is_recursive(self : SemanticIndex, root : String) -> Bool

    SemanticIndex::isolated_modules

    fn SemanticIndex::isolated_modules(self : SemanticIndex) -> Array[String]

    SemanticIndex::issue_codes

    fn SemanticIndex::issue_codes(self : SemanticIndex) -> Array[String]

    Return the distinct semantic issue codes in source order.

    SemanticIndex::issue_json

    fn SemanticIndex::issue_json(self : SemanticIndex) -> String

    SemanticIndex::issue_summary

    fn SemanticIndex::issue_summary(self : SemanticIndex) -> String

    SemanticIndex::issues_for_code

    fn SemanticIndex::issues_for_code(self : SemanticIndex, code : String) -> Array[SemanticIssue]

    Return all semantic issues with a particular code.

    SemanticIndex::leaf_modules

    fn SemanticIndex::leaf_modules(self : SemanticIndex) -> Array[String]

    SemanticIndex::matching_contracts

    fn SemanticIndex::matching_contracts(self : SemanticIndex) -> Array[PortContract]

    SemanticIndex::mismatching_contracts

    fn SemanticIndex::mismatching_contracts(self : SemanticIndex) -> Array[PortContract]

    SemanticIndex::module_count

    fn SemanticIndex::module_count(self : SemanticIndex) -> Int

    Return the number of module declarations, including duplicate names.

    SemanticIndex::module_is_leaf

    fn SemanticIndex::module_is_leaf(self : SemanticIndex, module_name : String) -> Bool

    SemanticIndex::module_is_root

    fn SemanticIndex::module_is_root(self : SemanticIndex, module_name : String) -> Bool

    SemanticIndex::module_json

    fn SemanticIndex::module_json(self : SemanticIndex, name : String) -> String?

    SemanticIndex::module_json_lines

    fn SemanticIndex::module_json_lines(self : SemanticIndex) -> Array[String]

    SemanticIndex::module_metrics

    fn SemanticIndex::module_metrics(self : SemanticIndex, module_name : String) -> ModuleMetrics?

    SemanticIndex::module_names

    fn SemanticIndex::module_names(self : SemanticIndex) -> Array[String]

    Return module names in source declaration order.

    SemanticIndex::module_rank

    fn SemanticIndex::module_rank(self : SemanticIndex, module_name : String) -> Int

    SemanticIndex::port_contracts

    fn SemanticIndex::port_contracts(self : SemanticIndex) -> Array[PortContract]

    Return one stable contract result for every instance connection.

    SemanticIndex::port_direction

    fn SemanticIndex::port_direction(self : SemanticIndex, module_name : String, port_name : String) ->
    Direction
    ?

    SemanticIndex::ranked_modules

    fn SemanticIndex::ranked_modules(self : SemanticIndex) -> Array[(String, Int)]

    SemanticIndex::reachable_modules

    fn SemanticIndex::reachable_modules(self : SemanticIndex, root : String) -> Array[String]

    SemanticIndex::release_ready

    fn SemanticIndex::release_ready(self : SemanticIndex) -> Bool

    SemanticIndex::reverse_dependencies

    fn SemanticIndex::reverse_dependencies(self : SemanticIndex, child_name : String) -> Array[String]

    SemanticIndex::root_metrics

    fn SemanticIndex::root_metrics(self : SemanticIndex) -> Array[(String, Int, Int)]

    SemanticIndex::signal_names

    fn SemanticIndex::signal_names(self : SemanticIndex, module_name : String) -> Array[String]

    Return names of signals visible in one indexed module.

    SemanticIndex::summary

    fn SemanticIndex::summary(self : SemanticIndex) -> String

    Produce a compact, stable index summary for logs and diagnostics.

    SemanticIndex::to_ir_json

    fn SemanticIndex::to_ir_json(self : SemanticIndex) -> String

    Emit a deterministic, dependency-free JSON representation of the semantic index.

    SemanticIndex::top_level_modules

    fn SemanticIndex::top_level_modules(self : SemanticIndex) -> Array[String]

    SemanticIndex::undriven_signals

    fn SemanticIndex::undriven_signals(self : SemanticIndex, module_name : String) -> Array[String]

    Return names of internal signals which have no recorded driver.

    SemanticIndex::undriven_total

    fn SemanticIndex::undriven_total(self : SemanticIndex) -> Int

    SemanticIndex::unknown_width_count

    fn SemanticIndex::unknown_width_count(self : SemanticIndex) -> Int

    SemanticIndex::unresolved_contracts

    fn SemanticIndex::unresolved_contracts(self : SemanticIndex) -> Array[PortContract]

    SemanticIndex::unresolved_instances

    fn SemanticIndex::unresolved_instances(self : SemanticIndex) -> Int

    Return unresolved instance issues without exposing the whole issue list.

    SemanticIndex::unresolved_names

    fn SemanticIndex::unresolved_names(self : SemanticIndex) -> Array[String]

    SemanticIndex::uses

    SemanticIndex::uses_of

    fn SemanticIndex::uses_of(self : SemanticIndex, module_name : String, signal_name : String) -> Array[SignalUse]

    SemanticIndex::validate

    SemanticIndex::validation_report

    fn SemanticIndex::validation_report(self : SemanticIndex) -> String

    SemanticIndex::validation_summary

    fn SemanticIndex::validation_summary(self : SemanticIndex) -> ValidationSummary

    SemanticIndex::warning_issue_count

    fn SemanticIndex::warning_issue_count(self : SemanticIndex) -> Int

    SemanticIndex::width_count

    fn SemanticIndex::width_count(self : SemanticIndex, width : Int) -> Int

    SemanticIndex::width_of

    fn SemanticIndex::width_of(self : SemanticIndex, module_name : String, signal_name : String) -> Width

    SemanticIssue

    pub(all) struct SemanticIssue {
    code : String
    message : String
    span :
    Span

    } derive(Eq,
    Debug
    )

    SignalInfo

    pub(all) struct SignalInfo {
    name : String
    net_type :
    NetType

    width : Width
    declaration_span :
    Span

    from_port : Bool
    drivers : Array[Drive]
    } derive(
    Debug
    )

    SignalInfo::has_driver

    fn SignalInfo::has_driver(self : SignalInfo) -> Bool

    SignalUse

    pub(all) struct SignalUse {
    module_name : String
    signal_name : String
    context : String
    span :
    Span

    } derive(Eq,
    Debug
    )

    ValidationSummary

    pub(all) struct ValidationSummary {
    duplicate_modules : Int
    unresolved_instances : Int
    width_mismatches : Int
    undriven_internal_signals : Int
    } derive(Eq,
    Debug
    )

    A compact validation summary for dashboards and release checks.

    ValidationSummary::describe

    fn ValidationSummary::describe(self : ValidationSummary) -> String

    ValidationSummary::has_blocking_issues

    fn ValidationSummary::has_blocking_issues(self : ValidationSummary) -> Bool

    ValidationSummary::is_clean

    fn ValidationSummary::is_clean(self : ValidationSummary) -> Bool

    ValidationSummary::summary

    fn ValidationSummary::summary(self : ValidationSummary) -> String

    ValidationSummary::total

    fn ValidationSummary::total(self : ValidationSummary) -> Int

    ValidationSummary::total_findings

    fn ValidationSummary::total_findings(self : ValidationSummary) -> Int

    Width

    pub(all) enum Width {
    Known(Int)
    Unknown
    } derive(Eq,
    Debug
    )

    contract_status_label

    fn contract_status_label(status : ContractStatus) -> String