MLIR 22.0.0git
mlir::python::PyLocation Class Reference

Wrapper around an MlirLocation. More...

#include "Bindings/Python/IRModule.h"

Inheritance diagram for mlir::python::PyLocation:

Public Member Functions

 PyLocation (PyMlirContextRef contextRef, MlirLocation loc)
 operator MlirLocation () const
MlirLocation get () const
void contextExit (const nanobind::object &excType, const nanobind::object &excVal, const nanobind::object &excTb)
nanobind::object getCapsule ()
 Gets a capsule wrapping the void* within the MlirLocation.
Public Member Functions inherited from mlir::python::BaseContextObject
 BaseContextObject (PyMlirContextRef ref)
PyMlirContextRefgetContext ()
 Accesses the context reference.

Static Public Member Functions

static nanobind::object contextEnter (nanobind::object location)
 Enter and exit the context manager.
static PyLocation createFromCapsule (nanobind::object capsule)
 Creates a PyLocation from the MlirLocation wrapped by a capsule.

Detailed Description

Wrapper around an MlirLocation.

Definition at line 299 of file IRModule.h.

Constructor & Destructor Documentation

◆ PyLocation()

mlir::python::PyLocation::PyLocation ( PyMlirContextRef contextRef,
MlirLocation loc )
inline

Definition at line 301 of file IRModule.h.

References mlir::python::BaseContextObject::BaseContextObject().

Referenced by createFromCapsule().

Member Function Documentation

◆ contextEnter()

nb::object PyLocation::contextEnter ( nanobind::object location)
static

Enter and exit the context manager.

Definition at line 940 of file IRCore.cpp.

References mlir::python::PyThreadContextEntry::pushLocation().

◆ contextExit()

void PyLocation::contextExit ( const nanobind::object & excType,
const nanobind::object & excVal,
const nanobind::object & excTb )

Definition at line 944 of file IRCore.cpp.

References mlir::python::PyThreadContextEntry::popLocation().

◆ createFromCapsule()

PyLocation PyLocation::createFromCapsule ( nanobind::object capsule)
static

Creates a PyLocation from the MlirLocation wrapped by a capsule.

Note that PyLocation instances are uniqued, so the returned object may be a pre-existing object. Ownership of the underlying MlirLocation is taken by calling this function.

Definition at line 932 of file IRCore.cpp.

References mlir::python::PyMlirContext::forContext(), mlirLocationGetContext(), mlirLocationIsNull(), mlirPythonCapsuleToLocation(), and PyLocation().

◆ get()

MlirLocation mlir::python::PyLocation::get ( ) const
inline

Definition at line 305 of file IRModule.h.

◆ getCapsule()

nb::object PyLocation::getCapsule ( )

Gets a capsule wrapping the void* within the MlirLocation.

Definition at line 928 of file IRCore.cpp.

References mlirPythonLocationToCapsule().

◆ operator MlirLocation()

mlir::python::PyLocation::operator MlirLocation ( ) const
inline

Definition at line 304 of file IRModule.h.


The documentation for this class was generated from the following files: