llvm/tools/mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.h.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Op Declarations                                                            *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|* From: TestTransformDialectExtension.td                                     *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace mlir {
namespace test {
class ApplyTestConversionPatternsOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class ApplyTestPatternsOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestAddTestExtensionOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestAddToParamOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestBranchingTransformOpTerminator;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestCheckIfTestExtensionPresentOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestConsumeOperand;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestConsumeOperandEach;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestConsumeOperandOfOpKindOrFail;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestCopyPayloadOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestCorrectNumberOfMultiResultsOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestDummyPayloadOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestEmitRemarkAndEraseOperandOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestInitializerExtensionOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestMixedNullAndNonNullResultsOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestMixedSuccessAndSilenceableOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestNotifyPayloadOpReplacedOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceEmptyPayloadOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceInvalidIR;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceNullParamOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceNullPayloadOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceNullValueOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceParamOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceParamWithNumberOfTestOps;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceSelfHandleOrForwardOperandOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceTransformParamOrForwardOperandOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceValueHandleToArgumentOfParentBlock;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceValueHandleToResult;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestProduceValueHandleToSelfOperand;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestReEnterRegionOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestRemapOperandPayloadToSelfOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestRemoveTestExtensionOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestReportNumberOfTrackedHandlesNestedUnder;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestRequiredMemoryEffectsOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestReversePayloadOpsOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestSucceedIfOperandOfOpKind;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestTrackedRewriteOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestTransformOpWithRegions;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestTypeConverterOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestWrongNumberOfMultiResultsOp;
} // namespace test
} // namespace mlir
namespace mlir {
namespace test {
class TestWrongNumberOfResultsOp;
} // namespace test
} // namespace mlir
#ifdef GET_OP_CLASSES
#undef GET_OP_CLASSES

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::ApplyTestConversionPatternsOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class ApplyTestConversionPatternsOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class ApplyTestConversionPatternsOpGenericAdaptor : public detail::ApplyTestConversionPatternsOpGenericAdaptorBase {};
class ApplyTestConversionPatternsOpAdaptor : public ApplyTestConversionPatternsOpGenericAdaptor<::mlir::ValueRange> {};
class ApplyTestConversionPatternsOp : public ::mlir::Op<ApplyTestConversionPatternsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::transform::ConversionPatternDescriptorOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::ApplyTestConversionPatternsOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::ApplyTestPatternsOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class ApplyTestPatternsOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class ApplyTestPatternsOpGenericAdaptor : public detail::ApplyTestPatternsOpGenericAdaptorBase {};
class ApplyTestPatternsOpAdaptor : public ApplyTestPatternsOpGenericAdaptor<::mlir::ValueRange> {};
class ApplyTestPatternsOp : public ::mlir::Op<ApplyTestPatternsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::transform::PatternDescriptorOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::ApplyTestPatternsOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestAddTestExtensionOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestAddTestExtensionOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestAddTestExtensionOpGenericAdaptor : public detail::TestAddTestExtensionOpGenericAdaptorBase {};
class TestAddTestExtensionOpAdaptor : public TestAddTestExtensionOpGenericAdaptor<::mlir::ValueRange> {};
class TestAddTestExtensionOp : public ::mlir::Op<TestAddTestExtensionOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestAddTestExtensionOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestAddToParamOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestAddToParamOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestAddToParamOpGenericAdaptor : public detail::TestAddToParamOpGenericAdaptorBase {};
class TestAddToParamOpAdaptor : public TestAddToParamOpGenericAdaptor<::mlir::ValueRange> {};
class TestAddToParamOp : public ::mlir::Op<TestAddToParamOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TestDialectParamType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::transform::MatchOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::ParamProducerTransformOpTrait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestAddToParamOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestBranchingTransformOpTerminator declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestBranchingTransformOpTerminatorGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestBranchingTransformOpTerminatorGenericAdaptor : public detail::TestBranchingTransformOpTerminatorGenericAdaptorBase {};
class TestBranchingTransformOpTerminatorAdaptor : public TestBranchingTransformOpTerminatorGenericAdaptor<::mlir::ValueRange> {};
class TestBranchingTransformOpTerminator : public ::mlir::Op<TestBranchingTransformOpTerminator, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::VariadicSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsTerminator, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestBranchingTransformOpTerminator)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestCheckIfTestExtensionPresentOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestCheckIfTestExtensionPresentOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestCheckIfTestExtensionPresentOpGenericAdaptor : public detail::TestCheckIfTestExtensionPresentOpGenericAdaptorBase {};
class TestCheckIfTestExtensionPresentOpAdaptor : public TestCheckIfTestExtensionPresentOpGenericAdaptor<::mlir::ValueRange> {};
class TestCheckIfTestExtensionPresentOp : public ::mlir::Op<TestCheckIfTestExtensionPresentOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestCheckIfTestExtensionPresentOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestConsumeOperand declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestConsumeOperandGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestConsumeOperandGenericAdaptor : public detail::TestConsumeOperandGenericAdaptorBase {};
class TestConsumeOperandAdaptor : public TestConsumeOperandGenericAdaptor<::mlir::ValueRange> {};
class TestConsumeOperand : public ::mlir::Op<TestConsumeOperand, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::AtLeastNOperands<1>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestConsumeOperand)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestConsumeOperandEach declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestConsumeOperandEachGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestConsumeOperandEachGenericAdaptor : public detail::TestConsumeOperandEachGenericAdaptorBase {};
class TestConsumeOperandEachAdaptor : public TestConsumeOperandEachGenericAdaptor<::mlir::ValueRange> {};
class TestConsumeOperandEach : public ::mlir::Op<TestConsumeOperandEach, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::FunctionalStyleTransformOpTrait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestConsumeOperandEach)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestConsumeOperandOfOpKindOrFail declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestConsumeOperandOfOpKindOrFailGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestConsumeOperandOfOpKindOrFailGenericAdaptor : public detail::TestConsumeOperandOfOpKindOrFailGenericAdaptorBase {};
class TestConsumeOperandOfOpKindOrFailAdaptor : public TestConsumeOperandOfOpKindOrFailGenericAdaptor<::mlir::ValueRange> {};
class TestConsumeOperandOfOpKindOrFail : public ::mlir::Op<TestConsumeOperandOfOpKindOrFail, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestConsumeOperandOfOpKindOrFail)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestCopyPayloadOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestCopyPayloadOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestCopyPayloadOpGenericAdaptor : public detail::TestCopyPayloadOpGenericAdaptorBase {};
class TestCopyPayloadOpAdaptor : public TestCopyPayloadOpGenericAdaptor<::mlir::ValueRange> {};
class TestCopyPayloadOp : public ::mlir::Op<TestCopyPayloadOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestCopyPayloadOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestCorrectNumberOfMultiResultsOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestCorrectNumberOfMultiResultsOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestCorrectNumberOfMultiResultsOpGenericAdaptor : public detail::TestCorrectNumberOfMultiResultsOpGenericAdaptorBase {};
class TestCorrectNumberOfMultiResultsOpAdaptor : public TestCorrectNumberOfMultiResultsOpGenericAdaptor<::mlir::ValueRange> {};
class TestCorrectNumberOfMultiResultsOp : public ::mlir::Op<TestCorrectNumberOfMultiResultsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::NResults<2>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::FunctionalStyleTransformOpTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestCorrectNumberOfMultiResultsOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestDummyPayloadOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestDummyPayloadOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestDummyPayloadOpGenericAdaptor : public detail::TestDummyPayloadOpGenericAdaptorBase {};
class TestDummyPayloadOpAdaptor : public TestDummyPayloadOpGenericAdaptor<::mlir::ValueRange> {};
class TestDummyPayloadOp : public ::mlir::Op<TestDummyPayloadOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::VariadicResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestDummyPayloadOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestEmitRemarkAndEraseOperandOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestEmitRemarkAndEraseOperandOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestEmitRemarkAndEraseOperandOpGenericAdaptor : public detail::TestEmitRemarkAndEraseOperandOpGenericAdaptorBase {};
class TestEmitRemarkAndEraseOperandOpAdaptor : public TestEmitRemarkAndEraseOperandOpGenericAdaptor<::mlir::ValueRange> {};
class TestEmitRemarkAndEraseOperandOp : public ::mlir::Op<TestEmitRemarkAndEraseOperandOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::FunctionalStyleTransformOpTrait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestEmitRemarkAndEraseOperandOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestInitializerExtensionOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestInitializerExtensionOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestInitializerExtensionOpGenericAdaptor : public detail::TestInitializerExtensionOpGenericAdaptorBase {};
class TestInitializerExtensionOpAdaptor : public TestInitializerExtensionOpGenericAdaptor<::mlir::ValueRange> {};
class TestInitializerExtensionOp : public ::mlir::Op<TestInitializerExtensionOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestInitializerExtensionOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestMixedNullAndNonNullResultsOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestMixedNullAndNonNullResultsOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestMixedNullAndNonNullResultsOpGenericAdaptor : public detail::TestMixedNullAndNonNullResultsOpGenericAdaptorBase {};
class TestMixedNullAndNonNullResultsOpAdaptor : public TestMixedNullAndNonNullResultsOpGenericAdaptor<::mlir::ValueRange> {};
class TestMixedNullAndNonNullResultsOp : public ::mlir::Op<TestMixedNullAndNonNullResultsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::NResults<2>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::FunctionalStyleTransformOpTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestMixedNullAndNonNullResultsOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestMixedSuccessAndSilenceableOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestMixedSuccessAndSilenceableOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestMixedSuccessAndSilenceableOpGenericAdaptor : public detail::TestMixedSuccessAndSilenceableOpGenericAdaptorBase {};
class TestMixedSuccessAndSilenceableOpAdaptor : public TestMixedSuccessAndSilenceableOpGenericAdaptor<::mlir::ValueRange> {};
class TestMixedSuccessAndSilenceableOp : public ::mlir::Op<TestMixedSuccessAndSilenceableOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::FunctionalStyleTransformOpTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestMixedSuccessAndSilenceableOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestNotifyPayloadOpReplacedOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestNotifyPayloadOpReplacedOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestNotifyPayloadOpReplacedOpGenericAdaptor : public detail::TestNotifyPayloadOpReplacedOpGenericAdaptorBase {};
class TestNotifyPayloadOpReplacedOpAdaptor : public TestNotifyPayloadOpReplacedOpGenericAdaptor<::mlir::ValueRange> {};
class TestNotifyPayloadOpReplacedOp : public ::mlir::Op<TestNotifyPayloadOpReplacedOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestNotifyPayloadOpReplacedOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceEmptyPayloadOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceEmptyPayloadOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceEmptyPayloadOpGenericAdaptor : public detail::TestProduceEmptyPayloadOpGenericAdaptorBase {};
class TestProduceEmptyPayloadOpAdaptor : public TestProduceEmptyPayloadOpGenericAdaptor<::mlir::ValueRange> {};
class TestProduceEmptyPayloadOp : public ::mlir::Op<TestProduceEmptyPayloadOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::FunctionalStyleTransformOpTrait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceEmptyPayloadOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceInvalidIR declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceInvalidIRGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceInvalidIRGenericAdaptor : public detail::TestProduceInvalidIRGenericAdaptorBase {};
class TestProduceInvalidIRAdaptor : public TestProduceInvalidIRGenericAdaptor<::mlir::ValueRange> {};
class TestProduceInvalidIR : public ::mlir::Op<TestProduceInvalidIR, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::transform::TransformEachOpTrait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceInvalidIR)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceNullParamOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceNullParamOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceNullParamOpGenericAdaptor : public detail::TestProduceNullParamOpGenericAdaptorBase {};
class TestProduceNullParamOpAdaptor : public TestProduceNullParamOpGenericAdaptor<::mlir::ValueRange> {};
class TestProduceNullParamOp : public ::mlir::Op<TestProduceNullParamOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformParamTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceNullParamOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceNullPayloadOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceNullPayloadOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceNullPayloadOpGenericAdaptor : public detail::TestProduceNullPayloadOpGenericAdaptorBase {};
class TestProduceNullPayloadOpAdaptor : public TestProduceNullPayloadOpGenericAdaptor<::mlir::ValueRange> {};
class TestProduceNullPayloadOp : public ::mlir::Op<TestProduceNullPayloadOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceNullPayloadOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceNullValueOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceNullValueOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceNullValueOpGenericAdaptor : public detail::TestProduceNullValueOpGenericAdaptorBase {};
class TestProduceNullValueOpAdaptor : public TestProduceNullValueOpGenericAdaptor<::mlir::ValueRange> {};
class TestProduceNullValueOp : public ::mlir::Op<TestProduceNullValueOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformValueHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceNullValueOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceParamOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceParamOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceParamOpGenericAdaptor : public detail::TestProduceParamOpGenericAdaptorBase {};
class TestProduceParamOpAdaptor : public TestProduceParamOpGenericAdaptor<::mlir::ValueRange> {};
class TestProduceParamOp : public ::mlir::Op<TestProduceParamOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformParamTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::ParamProducerTransformOpTrait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceParamOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceParamWithNumberOfTestOps declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceParamWithNumberOfTestOpsGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceParamWithNumberOfTestOpsGenericAdaptor : public detail::TestProduceParamWithNumberOfTestOpsGenericAdaptorBase {};
class TestProduceParamWithNumberOfTestOpsAdaptor : public TestProduceParamWithNumberOfTestOpsGenericAdaptor<::mlir::ValueRange> {};
class TestProduceParamWithNumberOfTestOps : public ::mlir::Op<TestProduceParamWithNumberOfTestOps, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TestDialectParamType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::transform::MatchOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::ParamProducerTransformOpTrait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceParamWithNumberOfTestOps)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceSelfHandleOrForwardOperandOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceSelfHandleOrForwardOperandOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceSelfHandleOrForwardOperandOpGenericAdaptor : public detail::TestProduceSelfHandleOrForwardOperandOpGenericAdaptorBase {};
class TestProduceSelfHandleOrForwardOperandOpAdaptor : public TestProduceSelfHandleOrForwardOperandOpGenericAdaptor<::mlir::ValueRange> {};
class TestProduceSelfHandleOrForwardOperandOp : public ::mlir::Op<TestProduceSelfHandleOrForwardOperandOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceSelfHandleOrForwardOperandOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceTransformParamOrForwardOperandOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceTransformParamOrForwardOperandOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceTransformParamOrForwardOperandOpGenericAdaptor : public detail::TestProduceTransformParamOrForwardOperandOpGenericAdaptorBase {};
class TestProduceTransformParamOrForwardOperandOpAdaptor : public TestProduceTransformParamOrForwardOperandOpGenericAdaptor<::mlir::ValueRange> {};
class TestProduceTransformParamOrForwardOperandOp : public ::mlir::Op<TestProduceTransformParamOrForwardOperandOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::NResults<2>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceTransformParamOrForwardOperandOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceValueHandleToArgumentOfParentBlock declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceValueHandleToArgumentOfParentBlockGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceValueHandleToArgumentOfParentBlockGenericAdaptor : public detail::TestProduceValueHandleToArgumentOfParentBlockGenericAdaptorBase {};
class TestProduceValueHandleToArgumentOfParentBlockAdaptor : public TestProduceValueHandleToArgumentOfParentBlockGenericAdaptor<::mlir::ValueRange> {};
class TestProduceValueHandleToArgumentOfParentBlock : public ::mlir::Op<TestProduceValueHandleToArgumentOfParentBlock, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformValueHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceValueHandleToArgumentOfParentBlock)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceValueHandleToResult declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceValueHandleToResultGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceValueHandleToResultGenericAdaptor : public detail::TestProduceValueHandleToResultGenericAdaptorBase {};
class TestProduceValueHandleToResultAdaptor : public TestProduceValueHandleToResultGenericAdaptor<::mlir::ValueRange> {};
class TestProduceValueHandleToResult : public ::mlir::Op<TestProduceValueHandleToResult, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformValueHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceValueHandleToResult)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestProduceValueHandleToSelfOperand declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestProduceValueHandleToSelfOperandGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestProduceValueHandleToSelfOperandGenericAdaptor : public detail::TestProduceValueHandleToSelfOperandGenericAdaptorBase {};
class TestProduceValueHandleToSelfOperandAdaptor : public TestProduceValueHandleToSelfOperandGenericAdaptor<::mlir::ValueRange> {};
class TestProduceValueHandleToSelfOperand : public ::mlir::Op<TestProduceValueHandleToSelfOperand, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformValueHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestProduceValueHandleToSelfOperand)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestReEnterRegionOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestReEnterRegionOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestReEnterRegionOpGenericAdaptor : public detail::TestReEnterRegionOpGenericAdaptorBase {};
class TestReEnterRegionOpAdaptor : public TestReEnterRegionOpGenericAdaptor<::mlir::ValueRange> {};
class TestReEnterRegionOp : public ::mlir::Op<TestReEnterRegionOp, ::mlir::OpTrait::OneRegion, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestReEnterRegionOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestRemapOperandPayloadToSelfOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestRemapOperandPayloadToSelfOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestRemapOperandPayloadToSelfOpGenericAdaptor : public detail::TestRemapOperandPayloadToSelfOpGenericAdaptorBase {};
class TestRemapOperandPayloadToSelfOpAdaptor : public TestRemapOperandPayloadToSelfOpGenericAdaptor<::mlir::ValueRange> {};
class TestRemapOperandPayloadToSelfOp : public ::mlir::Op<TestRemapOperandPayloadToSelfOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::VariadicResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestRemapOperandPayloadToSelfOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestRemoveTestExtensionOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestRemoveTestExtensionOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestRemoveTestExtensionOpGenericAdaptor : public detail::TestRemoveTestExtensionOpGenericAdaptorBase {};
class TestRemoveTestExtensionOpAdaptor : public TestRemoveTestExtensionOpGenericAdaptor<::mlir::ValueRange> {};
class TestRemoveTestExtensionOp : public ::mlir::Op<TestRemoveTestExtensionOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestRemoveTestExtensionOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestReportNumberOfTrackedHandlesNestedUnder declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestReportNumberOfTrackedHandlesNestedUnderGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestReportNumberOfTrackedHandlesNestedUnderGenericAdaptor : public detail::TestReportNumberOfTrackedHandlesNestedUnderGenericAdaptorBase {};
class TestReportNumberOfTrackedHandlesNestedUnderAdaptor : public TestReportNumberOfTrackedHandlesNestedUnderGenericAdaptor<::mlir::ValueRange> {};
class TestReportNumberOfTrackedHandlesNestedUnder : public ::mlir::Op<TestReportNumberOfTrackedHandlesNestedUnder, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestReportNumberOfTrackedHandlesNestedUnder)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestRequiredMemoryEffectsOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestRequiredMemoryEffectsOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestRequiredMemoryEffectsOpGenericAdaptor : public detail::TestRequiredMemoryEffectsOpGenericAdaptorBase {};
class TestRequiredMemoryEffectsOpAdaptor : public TestRequiredMemoryEffectsOpGenericAdaptor<::mlir::ValueRange> {};
class TestRequiredMemoryEffectsOp : public ::mlir::Op<TestRequiredMemoryEffectsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestRequiredMemoryEffectsOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestReversePayloadOpsOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestReversePayloadOpsOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestReversePayloadOpsOpGenericAdaptor : public detail::TestReversePayloadOpsOpGenericAdaptorBase {};
class TestReversePayloadOpsOpAdaptor : public TestReversePayloadOpsOpGenericAdaptor<::mlir::ValueRange> {};
class TestReversePayloadOpsOp : public ::mlir::Op<TestReversePayloadOpsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::FunctionalStyleTransformOpTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestReversePayloadOpsOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestSucceedIfOperandOfOpKind declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestSucceedIfOperandOfOpKindGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestSucceedIfOperandOfOpKindGenericAdaptor : public detail::TestSucceedIfOperandOfOpKindGenericAdaptorBase {};
class TestSucceedIfOperandOfOpKindAdaptor : public TestSucceedIfOperandOfOpKindGenericAdaptor<::mlir::ValueRange> {};
class TestSucceedIfOperandOfOpKind : public ::mlir::Op<TestSucceedIfOperandOfOpKind, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::transform::MatchOpInterface::Trait, ::mlir::transform::SingleOpMatcherOpTrait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestSucceedIfOperandOfOpKind)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestTrackedRewriteOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestTrackedRewriteOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestTrackedRewriteOpGenericAdaptor : public detail::TestTrackedRewriteOpGenericAdaptorBase {};
class TestTrackedRewriteOpAdaptor : public TestTrackedRewriteOpGenericAdaptor<::mlir::ValueRange> {};
class TestTrackedRewriteOp : public ::mlir::Op<TestTrackedRewriteOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestTrackedRewriteOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestTransformOpWithRegions declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestTransformOpWithRegionsGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestTransformOpWithRegionsGenericAdaptor : public detail::TestTransformOpWithRegionsGenericAdaptorBase {};
class TestTransformOpWithRegionsAdaptor : public TestTransformOpWithRegionsGenericAdaptor<::mlir::ValueRange> {};
class TestTransformOpWithRegions : public ::mlir::Op<TestTransformOpWithRegions, ::mlir::OpTrait::NRegions<2>::Impl, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TransformOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestTransformOpWithRegions)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestTypeConverterOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestTypeConverterOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestTypeConverterOpGenericAdaptor : public detail::TestTypeConverterOpGenericAdaptorBase {};
class TestTypeConverterOpAdaptor : public TestTypeConverterOpGenericAdaptor<::mlir::ValueRange> {};
class TestTypeConverterOp : public ::mlir::Op<TestTypeConverterOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::transform::TypeConverterBuilderOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestTypeConverterOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestWrongNumberOfMultiResultsOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestWrongNumberOfMultiResultsOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestWrongNumberOfMultiResultsOpGenericAdaptor : public detail::TestWrongNumberOfMultiResultsOpGenericAdaptorBase {};
class TestWrongNumberOfMultiResultsOpAdaptor : public TestWrongNumberOfMultiResultsOpGenericAdaptor<::mlir::ValueRange> {};
class TestWrongNumberOfMultiResultsOp : public ::mlir::Op<TestWrongNumberOfMultiResultsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::transform::TransformHandleTypeInterface>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::FunctionalStyleTransformOpTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::transform::TransformOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestWrongNumberOfMultiResultsOp)

namespace mlir {
namespace test {

//===----------------------------------------------------------------------===//
// ::mlir::test::TestWrongNumberOfResultsOp declarations
//===----------------------------------------------------------------------===//

namespace detail {
class TestWrongNumberOfResultsOpGenericAdaptorBase {};
} // namespace detail
template <typename RangeT>
class TestWrongNumberOfResultsOpGenericAdaptor : public detail::TestWrongNumberOfResultsOpGenericAdaptorBase {};
class TestWrongNumberOfResultsOpAdaptor : public TestWrongNumberOfResultsOpGenericAdaptor<::mlir::ValueRange> {};
class TestWrongNumberOfResultsOp : public ::mlir::Op<TestWrongNumberOfResultsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::NResults<3>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::transform::FunctionalStyleTransformOpTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::transform::TransformEachOpTrait, ::mlir::transform::TransformOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait> {};
} // namespace test
} // namespace mlir
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::test::TestWrongNumberOfResultsOp)


#endif  // GET_OP_CLASSES