| //===- PythonTestCAPI.cpp - C API for the PythonTest dialect --------------===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #include "PythonTestCAPI.h" | |
| #include "PythonTestDialect.h" | |
| #include "mlir-c/BuiltinTypes.h" | |
| #include "mlir/CAPI/Registration.h" | |
| #include "mlir/CAPI/Wrap.h" | |
| #include "mlir/IR/Diagnostics.h" | |
| #include "mlir/IR/Location.h" | |
| MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(PythonTest, python_test, | |
| python_test::PythonTestDialect) | |
| bool mlirAttributeIsAPythonTestTestAttribute(MlirAttribute attr) { | |
| return llvm::isa<python_test::TestAttrAttr>(unwrap(attr)); | |
| } | |
| MlirAttribute mlirPythonTestTestAttributeGet(MlirContext context) { | |
| return wrap(python_test::TestAttrAttr::get(unwrap(context))); | |
| } | |
| MlirTypeID mlirPythonTestTestAttributeGetTypeID(void) { | |
| return wrap(python_test::TestAttrAttr::getTypeID()); | |
| } | |
| bool mlirTypeIsAPythonTestTestType(MlirType type) { | |
| return llvm::isa<python_test::TestTypeType>(unwrap(type)); | |
| } | |
| MlirType mlirPythonTestTestTypeGet(MlirContext context) { | |
| return wrap(python_test::TestTypeType::get(unwrap(context))); | |
| } | |
| MlirTypeID mlirPythonTestTestTypeGetTypeID(void) { | |
| return wrap(python_test::TestTypeType::getTypeID()); | |
| } | |
| bool mlirTypeIsAPythonTestTestTensorValue(MlirValue value) { | |
| return mlirTypeIsATensor(wrap(unwrap(value).getType())); | |
| } | |
| void mlirPythonTestEmitDiagnosticWithNote(MlirContext ctx) { | |
| auto diag = | |
| mlir::emitError(unwrap(mlirLocationUnknownGet(ctx)), "created error"); | |
| diag.attachNote() << "attached note"; | |
| } |