Forráskód Böngészése

LibWeb: Allow IDL interfaces to override get_by_index()

You can now specify the "CustomGetByIndex" extended interface attribute
which will cause the generator to emit an override declaration for
JS::Object::get_by_index().

It's up to you to implement that function somewhere. Just like the
CustomGet mechanism already works. :^)
Andreas Kling 4 éve
szülő
commit
49f3d88baf

+ 5 - 0
Userland/Libraries/LibWeb/CodeGenerators/WrapperGenerator.cpp

@@ -768,6 +768,11 @@ public:
     if (interface.extended_attributes.contains("CustomGet")) {
         generator.append(R"~~~(
     virtual JS::Value get(const JS::PropertyName&, JS::Value receiver = {}, bool without_side_effects = false) const override;
+)~~~");
+    }
+    if (interface.extended_attributes.contains("CustomGetByIndex")) {
+        generator.append(R"~~~(
+    virtual JS::Value get_by_index(u32 property_index) const override;
 )~~~");
     }
     if (interface.extended_attributes.contains("CustomPut")) {