@@ -442,6 +442,7 @@ class AsmPrinter::Impl {
442442 // / Print the given attribute without considering an alias.
443443 void printAttributeImpl (Attribute attr,
444444 AttrTypeElision typeElision = AttrTypeElision::Never);
445+ void printNamedAttribute (NamedAttribute attr);
445446
446447 // / Print the alias for the given attribute, return failure if no alias could
447448 // / be printed.
@@ -481,7 +482,6 @@ class AsmPrinter::Impl {
481482 void printOptionalAttrDict (ArrayRef<NamedAttribute> attrs,
482483 ArrayRef<StringRef> elidedAttrs = {},
483484 bool withKeyword = false );
484- void printNamedAttribute (NamedAttribute attr);
485485 void printTrailingLocation (Location loc, bool allowAlias = true );
486486 void printLocationInternal (LocationAttr loc, bool pretty = false ,
487487 bool isTopLevel = false );
@@ -801,6 +801,10 @@ class DummyAliasOperationPrinter : private OpAsmPrinter {
801801 void printAttributeWithoutType (Attribute attr) override {
802802 printAttribute (attr);
803803 }
804+ void printNamedAttribute (NamedAttribute attr) override {
805+ printAttribute (attr.getValue ());
806+ }
807+
804808 LogicalResult printAlias (Attribute attr) override {
805809 initializer.visit (attr);
806810 return success ();
@@ -975,6 +979,10 @@ class DummyAliasDialectAsmPrinter : public DialectAsmPrinter {
975979 recordAliasResult (
976980 initializer.visit (attr, canBeDeferred, /* elideType=*/ true ));
977981 }
982+ void printNamedAttribute (NamedAttribute attr) override {
983+ printAttribute (attr.getValue ());
984+ }
985+
978986 LogicalResult printAlias (Attribute attr) override {
979987 printAttribute (attr);
980988 return success ();
@@ -2381,7 +2389,6 @@ void AsmPrinter::Impl::printAttribute(Attribute attr,
23812389 return ;
23822390 return printAttributeImpl (attr, typeElision);
23832391}
2384-
23852392void AsmPrinter::Impl::printAttributeImpl (Attribute attr,
23862393 AttrTypeElision typeElision) {
23872394 if (!isa<BuiltinDialect>(attr.getDialect ())) {
@@ -2973,6 +2980,11 @@ void AsmPrinter::printAttributeWithoutType(Attribute attr) {
29732980 impl->printAttribute (attr, Impl::AttrTypeElision::Must);
29742981}
29752982
2983+ void AsmPrinter::printNamedAttribute (NamedAttribute attr) {
2984+ assert (impl && " expected AsmPrinter::printNamedAttribute to be overriden" );
2985+ impl->printNamedAttribute (attr);
2986+ }
2987+
29762988void AsmPrinter::printKeywordOrString (StringRef keyword) {
29772989 assert (impl && " expected AsmPrinter::printKeywordOrString to be overriden" );
29782990 ::printKeywordOrString (keyword, impl->getStream ());
0 commit comments