namespace mlir {
class TestExternalOpInterface;
namespace detail {
struct TestExternalOpInterfaceInterfaceTraits { … };
template <typename ConcreteOp>
struct TestExternalOpInterfaceTrait;
}
class TestExternalOpInterface : public ::mlir::OpInterface<TestExternalOpInterface, detail::TestExternalOpInterfaceInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct TestExternalOpInterfaceTrait : public ::mlir::OpInterface<TestExternalOpInterface, detail::TestExternalOpInterfaceInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
namespace mlir {
class TestEffectOpInterface;
namespace detail {
struct TestEffectOpInterfaceInterfaceTraits { … };
template <typename ConcreteOp>
struct TestEffectOpInterfaceTrait;
}
class TestEffectOpInterface : public ::mlir::OpInterface<TestEffectOpInterface, detail::TestEffectOpInterfaceInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct TestEffectOpInterfaceTrait : public ::mlir::OpInterface<TestEffectOpInterface, detail::TestEffectOpInterfaceInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
namespace mlir {
class TestOptionallyImplementedOpInterface;
namespace detail {
struct TestOptionallyImplementedOpInterfaceInterfaceTraits { … };
template <typename ConcreteOp>
struct TestOptionallyImplementedOpInterfaceTrait;
}
class TestOptionallyImplementedOpInterface : public ::mlir::OpInterface<TestOptionallyImplementedOpInterface, detail::TestOptionallyImplementedOpInterfaceInterfaceTraits> { … };
namespace detail {
template <typename ConcreteOp>
struct TestOptionallyImplementedOpInterfaceTrait : public ::mlir::OpInterface<TestOptionallyImplementedOpInterface, detail::TestOptionallyImplementedOpInterfaceInterfaceTraits>::Trait<ConcreteOp> { … };
}
}
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 {
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 {
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) { … }
}