Trait tydi_hir::Hir[][src]

pub trait Hir: Database + HasQueryGroup<HirStorage> {
Show 36 methods fn project(&self) -> Arc<Project>;
fn set_project(&mut self, value__: Arc<Project>);
fn set_project_with_durability(
        &mut self,
        value__: Arc<Project>,
        durability__: Durability
    );
fn intern_module(&self, key0: Module) -> Id<Module>;
fn lookup_intern_module(&self, key0: Id<Module>) -> Module;
fn intern_component(&self, key0: Component) -> Id<Component>;
fn lookup_intern_component(&self, key0: Id<Component>) -> Component;
fn intern_instance(&self, key0: Instance) -> Id<Instance>;
fn lookup_intern_instance(&self, key0: Id<Instance>) -> Instance;
fn intern_identifier(&self, key0: Identifier) -> Id<Identifier>;
fn lookup_intern_identifier(&self, key0: Id<Identifier>) -> Identifier;
fn intern_port(&self, key0: Port) -> Id<Port>;
fn lookup_intern_port(&self, key0: Id<Port>) -> Port;
fn intern_net(&self, key0: Net) -> Id<Net>;
fn lookup_intern_net(&self, key0: Id<Net>) -> Net;
fn intern_instance_port(&self, key0: InstancePort) -> Id<InstancePort>;
fn lookup_intern_instance_port(
        &self,
        key0: Id<InstancePort>
    ) -> InstancePort;
fn intern_connection(&self, key0: Connection) -> Id<Connection>;
fn lookup_intern_connection(&self, key0: Id<Connection>) -> Connection;
fn intern_type(&self, key0: Type) -> Id<Type>;
fn lookup_intern_type(&self, key0: Id<Type>) -> Type;
fn intern_logical_type(&self, key0: LogicalType) -> Id<LogicalType>;
fn lookup_intern_logical_type(&self, key0: Id<LogicalType>) -> LogicalType;
fn intern_field(&self, key0: Field) -> Id<Field>;
fn lookup_intern_field(&self, key0: Id<Field>) -> Field;
fn modules(&self) -> Arc<Vec<Id<Module>>>;
fn components(&self, key0: Id<Module>) -> Arc<Vec<Id<Component>>>;
fn instances(&self, key0: Id<Component>) -> Arc<Vec<Id<Instance>>>;
fn nets(&self, key0: Id<Component>) -> Arc<Vec<Net>>;
fn ports(&self, key0: Id<Component>) -> Arc<Vec<Port>>;
fn wires(&self, key0: Id<Component>) -> Arc<Vec<Wire>>;
fn instance_ports(&self, key0: Id<Component>) -> Arc<Vec<InstancePort>>;
fn module_identifier(&self, key0: Id<Module>) -> Arc<Identifier>;
fn component_identifier(&self, key0: Id<Component>) -> Arc<Identifier>;
fn port_identifier(&self, key0: Id<Port>) -> Arc<Identifier>;
fn instance_identifier(&self, key0: Id<Instance>) -> Arc<Identifier>;
}

Required methods

Set the value of the project input.

See project for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Set the value of the project input and promise that its value will never change again.

See project for details.

Note: Setting values will trigger cancellation of any ongoing queries; this method blocks until those queries have been cancelled.

Obtain all modules.

Obtain all components from a modules.

Obtain all instances of a component.

Obtain all nets of a component.

Obtain all Port nets of a component.

Obtain all Wire nets of a component.

Obtain all InstancePort nets of a component.

Get the identifier of a modules.

Get the identifier of a component.

Get the identifier of a port.

Get the identifier of an instance.

Implementors