ExitBlock

class hugr.ops.ExitBlock(_cfg_outputs: list[Type] | None = None, num_out: int = 0)[source]

Bases: Op

Unique exit block of a control flow graph.

Methods

name

Name of the operation.

port_kind

Get the kind of the given port.

used_extensions

Get the extensions used by this operation, optionally resolving unresolved types and operations.

Attributes

cfg_outputs

Output types of the parent control flow graph of this exit block.

num_out

property cfg_outputs: list[Type]

Output types of the parent control flow graph of this exit block.

Raises:

IncompleteOp – If the outputs have not been set.

name() str[source]

Name of the operation.

port_kind(port: InPort | OutPort) ValueKind | ConstKind | FunctionKind | CFKind | OrderKind[source]

Get the kind of the given port.

Example

>>> op = Const(val.TRUE)
>>> op.port_kind(OutPort(Node(0), 0))
ConstKind(Bool)
used_extensions(resolve_from: ExtensionRegistry | None = None) ExtensionResolutionResult

Get the extensions used by this operation, optionally resolving unresolved types and operations.

Parameters:

resolve_from – Optional extension registry to resolve against. If None, opaque types and Custom ops will not be resolved.

Returns:

The result containing used and unresolved extensions.