Skip to content

tensors_buffers

Compose the tensor and buffer-view visitor overloads into the public tensor- and-buffer expression mixin.

Classes:

ExpressionTensorBufferVisitorMixin

Bases: ExpressionTensorVisitorMixin, ExpressionBufferViewVisitorMixin

Methods:

visit

visit(node: TensorRelease) -> None
Source code in packages/irx/src/irx/analysis/handlers/_expressions/tensors.py
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
@SemanticAnalyzerCore.visit.dispatch
def visit(self, node: astx.TensorRelease) -> None:
    """
    title: Visit TensorRelease nodes.
    parameters:
      node:
        type: astx.TensorRelease
    """
    self.visit(node.base)
    if not isinstance(self._expr_type(node.base), astx.TensorType):
        self.context.diagnostics.add(
            "tensor release requires a TensorType value",
            node=node,
            code=DiagnosticCodes.SEMANTIC_BUFFER_MISUSE,
        )
    self._validate_tensor_lifetime_operation(
        node=node,
        view=node.base,
        operation="release",
    )
    self._set_type(node, astx.Int32())