MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
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. More...
 
- Public Member Functions inherited from mlir::python::BaseContextObject
 BaseContextObject (PyMlirContextRef ref)
 
PyMlirContextRefgetContext ()
 Accesses the context reference. More...
 

Static Public Member Functions

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

Detailed Description

Wrapper around an MlirLocation.

Definition at line 317 of file IRModule.h.

Constructor & Destructor Documentation

◆ PyLocation()

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

Definition at line 319 of file IRModule.h.

Referenced by createFromCapsule().

Member Function Documentation

◆ contextEnter()

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

Enter and exit the context manager.

Definition at line 1063 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 1067 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 1055 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 323 of file IRModule.h.

◆ getCapsule()

nb::object PyLocation::getCapsule ( )

Gets a capsule wrapping the void* within the MlirLocation.

Definition at line 1051 of file IRCore.cpp.

References mlirPythonLocationToCapsule().

◆ operator MlirLocation()

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

Definition at line 322 of file IRModule.h.


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