Inheritance gen

This commit is contained in:
2026-05-28 16:08:31 +02:00
parent b0f3dccc87
commit 99ff0ead2d
+30
View File
@@ -396,6 +396,36 @@ impl GenRust for TopLevelKind {
ClassItem::Method(_) => {} ClassItem::Method(_) => {}
} }
} }
if let Some(inherits) = inherits {
cg.add("impl std::ops::Deref for ");
cg.add(&name.get_rust());
cg.addln(" {");
cg.indent += 1;
cg.add_indented("type Target = ");
cg.add(&inherits.get_rust());
cg.addln(";");
cg.add_indentedln("fn deref(&self) -> &Self::Target {&self._super}");
cg.indent -= 1;
cg.addln("}");
// Mut
cg.add("impl std::ops::DerefMut for ");
cg.add(&name.get_rust());
cg.addln(" {");
cg.indent += 1;
cg.add_indentedln("fn deref(&mut self) -> &mut Self::Target {&mut self._super}");
cg.indent -= 1;
cg.addln("}");
}
} }
} }
} }