llvm/tools/mlir/test/lib/Dialect/Test/TestOpInterfaces.h.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Interface Declarations                                                     *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace mlir {
class TestExternalOpInterface;
namespace detail {
struct TestExternalOpInterfaceInterfaceTraits {};
template <typename ConcreteOp>
struct TestExternalOpInterfaceTrait;

} // namespace detail
class TestExternalOpInterface : public ::mlir::OpInterface<TestExternalOpInterface, detail::TestExternalOpInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteOp>
  struct TestExternalOpInterfaceTrait : public ::mlir::OpInterface<TestExternalOpInterface, detail::TestExternalOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {};
}// namespace detail
} // namespace mlir
namespace mlir {
class TestEffectOpInterface;
namespace detail {
struct TestEffectOpInterfaceInterfaceTraits {};
template <typename ConcreteOp>
struct TestEffectOpInterfaceTrait;

} // namespace detail
class TestEffectOpInterface : public ::mlir::OpInterface<TestEffectOpInterface, detail::TestEffectOpInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteOp>
  struct TestEffectOpInterfaceTrait : public ::mlir::OpInterface<TestEffectOpInterface, detail::TestEffectOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {};
}// namespace detail
} // namespace mlir
namespace mlir {
class TestOptionallyImplementedOpInterface;
namespace detail {
struct TestOptionallyImplementedOpInterfaceInterfaceTraits {};
template <typename ConcreteOp>
struct TestOptionallyImplementedOpInterfaceTrait;

} // namespace detail
class TestOptionallyImplementedOpInterface : public ::mlir::OpInterface<TestOptionallyImplementedOpInterface, detail::TestOptionallyImplementedOpInterfaceInterfaceTraits> {};
namespace detail {
  template <typename ConcreteOp>
  struct TestOptionallyImplementedOpInterfaceTrait : public ::mlir::OpInterface<TestOptionallyImplementedOpInterface, detail::TestOptionallyImplementedOpInterfaceInterfaceTraits>::Trait<ConcreteOp> {};
}// namespace detail
} // namespace mlir
namespace mlir {
template<typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::Model<ConcreteOp>::getNameLengthPlusArg(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, unsigned arg) {}
template<typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::Model<ConcreteOp>::getNameLengthPlusArgTwice(unsigned arg) {}
template<typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::Model<ConcreteOp>::getNameLengthTimesArg(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, unsigned arg) {}
template<typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::Model<ConcreteOp>::getNameLengthMinusArg(unsigned arg) {}
template<typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getNameLengthPlusArg(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, unsigned arg) {}
template<typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getNameLengthPlusArgTwice(unsigned arg) {}
template<typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getNameLengthTimesArg(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, unsigned arg) {}
template<typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getNameLengthMinusArg(unsigned arg) {}
template<typename ConcreteModel, typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getNameLengthTimesArg(::mlir::Operation *tablegen_opaque_val, unsigned arg) const {}
template<typename ConcreteModel, typename ConcreteOp>
unsigned detail::TestExternalOpInterfaceInterfaceTraits::ExternalModel<ConcreteModel, ConcreteOp>::getNameLengthMinusArg(unsigned arg) {}
} // namespace mlir
namespace mlir {
template<typename ConcreteOp>
void detail::TestEffectOpInterfaceInterfaceTraits::Model<ConcreteOp>::getEffects(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::TestEffects::Effect>> & effects) {}
template<typename ConcreteOp>
void detail::TestEffectOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getEffects(const Concept *impl, ::mlir::Operation *tablegen_opaque_val, ::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::TestEffects::Effect>> & effects) {}
} // namespace mlir
namespace mlir {
template<typename ConcreteOp>
bool detail::TestOptionallyImplementedOpInterfaceInterfaceTraits::Model<ConcreteOp>::getImplementsInterface(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
template<typename ConcreteOp>
bool detail::TestOptionallyImplementedOpInterfaceInterfaceTraits::FallbackModel<ConcreteOp>::getImplementsInterface(const Concept *impl, ::mlir::Operation *tablegen_opaque_val) {}
} // namespace mlir