diff --git a/flang/include/flang/Optimizer/Dialect/FIRDialect.td b/flang/include/flang/Optimizer/Dialect/FIRDialect.td --- a/flang/include/flang/Optimizer/Dialect/FIRDialect.td +++ b/flang/include/flang/Optimizer/Dialect/FIRDialect.td @@ -24,7 +24,6 @@ def fir_Dialect : Dialect { let name = "fir"; let cppNamespace = "::fir"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; let useDefaultTypePrinterParser = 0; let useDefaultAttributePrinterParser = 0; } diff --git a/mlir/docs/DefiningDialects.md b/mlir/docs/DefiningDialects.md --- a/mlir/docs/DefiningDialects.md +++ b/mlir/docs/DefiningDialects.md @@ -327,8 +327,8 @@ * `kEmitAccessorPrefix_Both` - Emit with **and** without prefix. -All new dialects are strongly encouraged to use the `kEmitAccessorPrefix_Prefixed` value, as -the `Raw` form is deprecated and in the process of being removed. +All new dialects are strongly encouraged to use the default `kEmitAccessorPrefix_Prefixed` +value, as the `Raw` form is deprecated and in the process of being removed. Note: Remove this section when all dialects have been switched to the new accessor form. diff --git a/mlir/examples/standalone/include/Standalone/StandaloneDialect.td b/mlir/examples/standalone/include/Standalone/StandaloneDialect.td --- a/mlir/examples/standalone/include/Standalone/StandaloneDialect.td +++ b/mlir/examples/standalone/include/Standalone/StandaloneDialect.td @@ -24,8 +24,6 @@ working inside of the LLVM source tree. }]; let cppNamespace = "::mlir::standalone"; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/examples/toy/Ch2/include/toy/Ops.td b/mlir/examples/toy/Ch2/include/toy/Ops.td --- a/mlir/examples/toy/Ch2/include/toy/Ops.td +++ b/mlir/examples/toy/Ch2/include/toy/Ops.td @@ -23,7 +23,6 @@ def Toy_Dialect : Dialect { let name = "toy"; let cppNamespace = "::mlir::toy"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for toy dialect operations. This operation inherits from the base diff --git a/mlir/examples/toy/Ch3/include/toy/Ops.td b/mlir/examples/toy/Ch3/include/toy/Ops.td --- a/mlir/examples/toy/Ch3/include/toy/Ops.td +++ b/mlir/examples/toy/Ch3/include/toy/Ops.td @@ -22,7 +22,6 @@ def Toy_Dialect : Dialect { let name = "toy"; let cppNamespace = "::mlir::toy"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for toy dialect operations. This operation inherits from the base diff --git a/mlir/examples/toy/Ch4/include/toy/Ops.td b/mlir/examples/toy/Ch4/include/toy/Ops.td --- a/mlir/examples/toy/Ch4/include/toy/Ops.td +++ b/mlir/examples/toy/Ch4/include/toy/Ops.td @@ -25,7 +25,6 @@ def Toy_Dialect : Dialect { let name = "toy"; let cppNamespace = "::mlir::toy"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for toy dialect operations. This operation inherits from the base diff --git a/mlir/examples/toy/Ch5/include/toy/Ops.td b/mlir/examples/toy/Ch5/include/toy/Ops.td --- a/mlir/examples/toy/Ch5/include/toy/Ops.td +++ b/mlir/examples/toy/Ch5/include/toy/Ops.td @@ -25,7 +25,6 @@ def Toy_Dialect : Dialect { let name = "toy"; let cppNamespace = "::mlir::toy"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for toy dialect operations. This operation inherits from the base diff --git a/mlir/examples/toy/Ch6/include/toy/Ops.td b/mlir/examples/toy/Ch6/include/toy/Ops.td --- a/mlir/examples/toy/Ch6/include/toy/Ops.td +++ b/mlir/examples/toy/Ch6/include/toy/Ops.td @@ -25,7 +25,6 @@ def Toy_Dialect : Dialect { let name = "toy"; let cppNamespace = "::mlir::toy"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for toy dialect operations. This operation inherits from the base diff --git a/mlir/examples/toy/Ch7/include/toy/Ops.td b/mlir/examples/toy/Ch7/include/toy/Ops.td --- a/mlir/examples/toy/Ch7/include/toy/Ops.td +++ b/mlir/examples/toy/Ch7/include/toy/Ops.td @@ -25,7 +25,6 @@ def Toy_Dialect : Dialect { let name = "toy"; let cppNamespace = "::mlir::toy"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; // We set this bit to generate a declaration of the `materializeConstant` // method so that we can materialize constants for our toy operations. diff --git a/mlir/include/mlir/Dialect/AMDGPU/AMDGPU.td b/mlir/include/mlir/Dialect/AMDGPU/AMDGPU.td --- a/mlir/include/mlir/Dialect/AMDGPU/AMDGPU.td +++ b/mlir/include/mlir/Dialect/AMDGPU/AMDGPU.td @@ -23,7 +23,6 @@ that will eventually be executed on AMD hardware. }]; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; let useDefaultAttributePrinterParser = 1; } diff --git a/mlir/include/mlir/Dialect/AMX/AMX.td b/mlir/include/mlir/Dialect/AMX/AMX.td --- a/mlir/include/mlir/Dialect/AMX/AMX.td +++ b/mlir/include/mlir/Dialect/AMX/AMX.td @@ -55,8 +55,6 @@ For details, see the Intel documentation: https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html }]; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/Affine/IR/AffineOps.td b/mlir/include/mlir/Dialect/Affine/IR/AffineOps.td --- a/mlir/include/mlir/Dialect/Affine/IR/AffineOps.td +++ b/mlir/include/mlir/Dialect/Affine/IR/AffineOps.td @@ -24,8 +24,6 @@ let cppNamespace = "mlir"; let hasConstantMaterializer = 1; let dependentDialects = ["arith::ArithmeticDialect"]; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for Affine dialect ops. diff --git a/mlir/include/mlir/Dialect/Arithmetic/IR/ArithmeticBase.td b/mlir/include/mlir/Dialect/Arithmetic/IR/ArithmeticBase.td --- a/mlir/include/mlir/Dialect/Arithmetic/IR/ArithmeticBase.td +++ b/mlir/include/mlir/Dialect/Arithmetic/IR/ArithmeticBase.td @@ -23,7 +23,6 @@ }]; let hasConstantMaterializer = 1; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // The predicate indicates the type of the comparison to perform: diff --git a/mlir/include/mlir/Dialect/ArmNeon/ArmNeon.td b/mlir/include/mlir/Dialect/ArmNeon/ArmNeon.td --- a/mlir/include/mlir/Dialect/ArmNeon/ArmNeon.td +++ b/mlir/include/mlir/Dialect/ArmNeon/ArmNeon.td @@ -28,8 +28,6 @@ // Note: this does not need to depend on LLVMDialect as long as functions in // this dialect (such as canonicalization) do not produce entities belonging // to the LLVMDialect (ops or types). - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td b/mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td --- a/mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td +++ b/mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td @@ -28,8 +28,6 @@ This dialect contains the definitions necessary to target specific Arm SVE scalable vector operations. }]; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td b/mlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td --- a/mlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td +++ b/mlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td @@ -51,7 +51,6 @@ kEscapeAttrName = "bufferization.escape"; }]; let hasOperationAttrVerify = 1; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } #endif // BUFFERIZATION_BASE diff --git a/mlir/include/mlir/Dialect/Complex/IR/ComplexBase.td b/mlir/include/mlir/Dialect/Complex/IR/ComplexBase.td --- a/mlir/include/mlir/Dialect/Complex/IR/ComplexBase.td +++ b/mlir/include/mlir/Dialect/Complex/IR/ComplexBase.td @@ -21,7 +21,6 @@ let dependentDialects = ["arith::ArithmeticDialect"]; let hasConstantMaterializer = 1; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; let useDefaultAttributePrinterParser = 1; } diff --git a/mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td b/mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td --- a/mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td +++ b/mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td @@ -23,7 +23,6 @@ let name = "cf"; let cppNamespace = "::mlir::cf"; let dependentDialects = ["arith::ArithmeticDialect"]; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; let description = [{ This dialect contains low-level, i.e. non-region based, control flow constructs. These constructs generally represent control flow directly diff --git a/mlir/include/mlir/Dialect/DLTI/DLTIBase.td b/mlir/include/mlir/Dialect/DLTI/DLTIBase.td --- a/mlir/include/mlir/Dialect/DLTI/DLTIBase.td +++ b/mlir/include/mlir/Dialect/DLTI/DLTIBase.td @@ -37,8 +37,6 @@ }]; let useDefaultAttributePrinterParser = 1; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } def DLTI_DataLayoutEntryAttr : DialectAttr< diff --git a/mlir/include/mlir/Dialect/EmitC/IR/EmitCBase.td b/mlir/include/mlir/Dialect/EmitC/IR/EmitCBase.td --- a/mlir/include/mlir/Dialect/EmitC/IR/EmitCBase.td +++ b/mlir/include/mlir/Dialect/EmitC/IR/EmitCBase.td @@ -31,8 +31,6 @@ let hasConstantMaterializer = 1; let useDefaultTypePrinterParser = 1; let useDefaultAttributePrinterParser = 1; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } #endif // MLIR_DIALECT_EMITC_IR_EMITCBASE diff --git a/mlir/include/mlir/Dialect/Func/IR/FuncOps.td b/mlir/include/mlir/Dialect/Func/IR/FuncOps.td --- a/mlir/include/mlir/Dialect/Func/IR/FuncOps.td +++ b/mlir/include/mlir/Dialect/Func/IR/FuncOps.td @@ -23,7 +23,6 @@ let cppNamespace = "::mlir::func"; let dependentDialects = ["cf::ControlFlowDialect"]; let hasConstantMaterializer = 1; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for Func dialect ops. diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td @@ -82,8 +82,6 @@ /// of some deeply-nested aggregate types in the program. ThreadLocalCache> compatibleTypes; }]; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td --- a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td @@ -37,8 +37,6 @@ }]; let useDefaultAttributePrinterParser = 1; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td b/mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td --- a/mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td @@ -31,8 +31,6 @@ /// functions. static StringRef getKernelFuncAttrName() { return "rocdl.kernel"; } }]; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/MLProgram/IR/MLProgramBase.td b/mlir/include/mlir/Dialect/MLProgram/IR/MLProgramBase.td --- a/mlir/include/mlir/Dialect/MLProgram/IR/MLProgramBase.td +++ b/mlir/include/mlir/Dialect/MLProgram/IR/MLProgramBase.td @@ -29,7 +29,6 @@ let useDefaultAttributePrinterParser = 1; let useDefaultTypePrinterParser = 1; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } #endif // MLPROGRAM_BASE diff --git a/mlir/include/mlir/Dialect/Math/IR/MathBase.td b/mlir/include/mlir/Dialect/Math/IR/MathBase.td --- a/mlir/include/mlir/Dialect/Math/IR/MathBase.td +++ b/mlir/include/mlir/Dialect/Math/IR/MathBase.td @@ -30,6 +30,5 @@ ``` }]; let hasConstantMaterializer = 1; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } #endif // MATH_BASE diff --git a/mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td b/mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td --- a/mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td +++ b/mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td @@ -34,8 +34,6 @@ }]; let useDefaultTypePrinterParser = 1; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } /// Device-side synchronization token. diff --git a/mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td b/mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td --- a/mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td +++ b/mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td @@ -48,7 +48,6 @@ /// to rewrite the IR after a successful match. static StringRef getRewriterModuleName() { return "rewriters"; } }]; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/Quant/QuantOpsBase.td b/mlir/include/mlir/Dialect/Quant/QuantOpsBase.td --- a/mlir/include/mlir/Dialect/Quant/QuantOpsBase.td +++ b/mlir/include/mlir/Dialect/Quant/QuantOpsBase.td @@ -20,8 +20,6 @@ let cppNamespace = "::mlir::quant"; let useDefaultTypePrinterParser = 1; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/SCF/IR/SCFOps.td b/mlir/include/mlir/Dialect/SCF/IR/SCFOps.td --- a/mlir/include/mlir/Dialect/SCF/IR/SCFOps.td +++ b/mlir/include/mlir/Dialect/SCF/IR/SCFOps.td @@ -24,7 +24,6 @@ let name = "scf"; let cppNamespace = "::mlir::scf"; let dependentDialects = ["arith::ArithmeticDialect"]; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for SCF dialect ops. diff --git a/mlir/include/mlir/Dialect/Shape/IR/ShapeBase.td b/mlir/include/mlir/Dialect/Shape/IR/ShapeBase.td --- a/mlir/include/mlir/Dialect/Shape/IR/ShapeBase.td +++ b/mlir/include/mlir/Dialect/Shape/IR/ShapeBase.td @@ -41,7 +41,6 @@ let useDefaultTypePrinterParser = 1; let hasConstantMaterializer = 1; let hasOperationAttrVerify = 1; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } class Shape_Type : TypeDef { diff --git a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorBase.td b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorBase.td --- a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorBase.td +++ b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorBase.td @@ -78,8 +78,6 @@ }]; let useDefaultAttributePrinterParser = 1; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } #endif // SPARSETENSOR_BASE diff --git a/mlir/include/mlir/Dialect/Tensor/IR/TensorBase.td b/mlir/include/mlir/Dialect/Tensor/IR/TensorBase.td --- a/mlir/include/mlir/Dialect/Tensor/IR/TensorBase.td +++ b/mlir/include/mlir/Dialect/Tensor/IR/TensorBase.td @@ -50,8 +50,6 @@ "arith::ArithmeticDialect", "complex::ComplexDialect", ]; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } #endif // TENSOR_BASE diff --git a/mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td b/mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td --- a/mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td +++ b/mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td @@ -45,8 +45,6 @@ let cppNamespace = "mlir::tosa"; let hasConstantMaterializer = 1; let useDefaultAttributePrinterParser = 1; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td --- a/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td +++ b/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td @@ -299,7 +299,6 @@ let name = "transform"; let cppNamespace = "::mlir::transform"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; let dependentDialects = [ "::mlir::pdl::PDLDialect", diff --git a/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td b/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td --- a/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td +++ b/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td @@ -27,7 +27,6 @@ let useDefaultAttributePrinterParser = 1; let hasConstantMaterializer = 1; let dependentDialects = ["arith::ArithmeticDialect"]; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } // Base class for Vector dialect ops. diff --git a/mlir/include/mlir/Dialect/X86Vector/X86Vector.td b/mlir/include/mlir/Dialect/X86Vector/X86Vector.td --- a/mlir/include/mlir/Dialect/X86Vector/X86Vector.td +++ b/mlir/include/mlir/Dialect/X86Vector/X86Vector.td @@ -24,8 +24,6 @@ def X86Vector_Dialect : Dialect { let name = "x86vector"; let cppNamespace = "::mlir::x86vector"; - - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } //===----------------------------------------------------------------------===// diff --git a/mlir/include/mlir/IR/BuiltinDialect.td b/mlir/include/mlir/IR/BuiltinDialect.td --- a/mlir/include/mlir/IR/BuiltinDialect.td +++ b/mlir/include/mlir/IR/BuiltinDialect.td @@ -34,7 +34,6 @@ public: }]; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } #endif // BUILTIN_BASE diff --git a/mlir/include/mlir/IR/DialectBase.td b/mlir/include/mlir/IR/DialectBase.td --- a/mlir/include/mlir/IR/DialectBase.td +++ b/mlir/include/mlir/IR/DialectBase.td @@ -97,7 +97,7 @@ // leaving UpperCamel unchanged while also converting lowerCamel to // UpperCamel) and prefixed with `get` or `set` depending on if it is a getter // or setter. - int emitAccessorPrefix = kEmitAccessorPrefix_Raw; + int emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; // If this dialect can be extended at runtime with new operations or types. bit isExtensible = 0; diff --git a/mlir/lib/TableGen/Operator.cpp b/mlir/lib/TableGen/Operator.cpp --- a/mlir/lib/TableGen/Operator.cpp +++ b/mlir/lib/TableGen/Operator.cpp @@ -727,7 +727,7 @@ shouldSkip = true; } if (newName == "getType") { - if (op.getNumResults() == 0) + if (op.getNumResults() != 1) return false; shouldSkip = true; } diff --git a/mlir/test/lib/Dialect/Test/TestDialect.td b/mlir/test/lib/Dialect/Test/TestDialect.td --- a/mlir/test/lib/Dialect/Test/TestDialect.td +++ b/mlir/test/lib/Dialect/Test/TestDialect.td @@ -14,7 +14,6 @@ def Test_Dialect : Dialect { let name = "test"; let cppNamespace = "::test"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; let hasCanonicalizer = 1; let hasConstantMaterializer = 1; let hasOperationAttrVerify = 1; diff --git a/mlir/test/mlir-tblgen/op-attribute.td b/mlir/test/mlir-tblgen/op-attribute.td --- a/mlir/test/mlir-tblgen/op-attribute.td +++ b/mlir/test/mlir-tblgen/op-attribute.td @@ -171,7 +171,6 @@ def Test2_Dialect : Dialect { let name = "test2"; let cppNamespace = "foobar2"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } def AgetOp : Op { let arguments = (ins diff --git a/mlir/test/mlir-tblgen/op-decl-and-defs.td b/mlir/test/mlir-tblgen/op-decl-and-defs.td --- a/mlir/test/mlir-tblgen/op-decl-and-defs.td +++ b/mlir/test/mlir-tblgen/op-decl-and-defs.td @@ -12,7 +12,6 @@ def Test_Dialect : Dialect { let name = "test"; let cppNamespace = "NS"; - let emitAccessorPrefix = kEmitAccessorPrefix_Prefixed; } class NS_Op traits> : Op;