diff --git a/Libraries/LibIDL/IDLParser.cpp b/Libraries/LibIDL/IDLParser.cpp index 256872f2cd5..4f76b867896 100644 --- a/Libraries/LibIDL/IDLParser.cpp +++ b/Libraries/LibIDL/IDLParser.cpp @@ -505,7 +505,9 @@ void Parser::parse_stringifier(HashMap& extended_attribu if (lexer.next_is("attribute"sv) || lexer.next_is("inherit"sv) || lexer.next_is("readonly"sv)) { parse_attribute(extended_attributes, interface); interface.stringifier_attribute = interface.attributes.last(); + interface.stringifier_extended_attributes = interface.stringifier_attribute->extended_attributes; } else { + interface.stringifier_extended_attributes = move(extended_attributes); assert_specific(';'); } } diff --git a/Libraries/LibIDL/Types.h b/Libraries/LibIDL/Types.h index 4f37908b28c..8249219cad6 100644 --- a/Libraries/LibIDL/Types.h +++ b/Libraries/LibIDL/Types.h @@ -280,6 +280,7 @@ public: Vector functions; Vector static_functions; bool has_stringifier { false }; + Optional> stringifier_extended_attributes; Optional stringifier_attribute; bool has_unscopable_member { false };