Complete native codegen milestone gate (#50)
Some checks failed
Native code generation / deterministic (push) Failing after 6m6s
Imaging and meshing gate / native (push) Failing after 17s
JPEG 2000 feature / linux (push) Failing after 59s
Skia feature / linux (push) Failing after 1m57s

This commit is contained in:
2026-08-09 10:06:11 +00:00
parent 4a32025e37
commit 167f469fc2
12 changed files with 67806 additions and 11139 deletions

View File

@@ -869,6 +869,16 @@ def native_member_body(member_id: str) -> str | None:
member_id,
):
return "<Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.FromOSD\(LibreMetaverse\.StructuredData\.OSDMap\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.[^.]+Block\.ToOSD",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.FromBytes\(LibreMetaverse\.Packets\.Header,System\.Byte\[\],System\.Int32@,System\.Int32@\)",
member_id,
@@ -881,6 +891,13 @@ def native_member_body(member_id: str) -> str | None:
return "<Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(self, &bytes, i, packet_end, zero_buffer)"
if re.fullmatch(r"M:LibreMetaverse\.Packets\.[^.]+Packet\.ToBytes", member_id):
return "<Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.PacketFromOSD\(LibreMetaverse\.StructuredData\.OSDMap\)",
member_id,
):
return "<Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)"
if re.fullmatch(r"M:LibreMetaverse\.Packets\.[^.]+Packet\.PacketToOSD", member_id):
return "<Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)"
if re.fullmatch(
r"M:LibreMetaverse\.Packets\.[^.]+Packet\.ToBytes\(LibreMetaverse\.Interfaces\.IByteBufferPool,System\.Int32@\)",
member_id,
@@ -903,6 +920,11 @@ def native_member_body(member_id: str) -> str | None:
return "Ok(crate::packet_catalog::packet_type(id, frequency))"
if member_id == "M:LibreMetaverse.Packets.Packet.BuildPacket(LibreMetaverse.Packets.PacketType)":
return "crate::packet_catalog::build_packet(type_)"
if member_id in {
"M:LibreMetaverse.Packets.Packet.BuildPacket(System.String,LibreMetaverse.StructuredData.OSDMap)",
"M:LibreMetaverse.Packets.Packet.BuildPacketFromOSD(System.String,LibreMetaverse.StructuredData.OSDMap)",
}:
return "crate::packet_catalog::build_packet_from_osd(&caps_event_name, &body)"
if member_id == "M:LibreMetaverse.Packets.Packet.BuildPacket(System.Byte[],System.Int32@,System.Byte[])":
return "{ let mut zero_buffer = zero_buffer; crate::packet_wire::build_packet_from_bytes(&packet_buffer, packet_end, &mut zero_buffer) }"
if member_id == "M:LibreMetaverse.Packets.Header.BuildHeader(System.Byte[],System.Int32@,System.Int32@)":
@@ -913,6 +935,10 @@ def native_member_body(member_id: str) -> str | None:
return "crate::packet_wire::header_to_slice(self, bytes, i)"
if member_id == "M:LibreMetaverse.Packets.Header.AcksToBytes(System.Byte[],System.Int32@)":
return "crate::packet_wire::acks_to_slice(self, bytes, i)"
if member_id == "M:LibreMetaverse.Packets.Packet.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)":
return "crate::packet_catalog::ignore_packet_osd(&osd)"
if member_id == "M:LibreMetaverse.Packets.Packet.PacketToOSD":
return "crate::packet_catalog::empty_packet_osd()"
if member_id == "M:LibreMetaverse.Helpers.ZeroDecode(System.Byte[],System.Int32,System.Byte[])":
return "crate::packet_wire::zero_decode(src, srclen, dest)"
if member_id == "M:LibreMetaverse.Helpers.ZeroEncode(System.Byte[],System.Int32,System.Byte[])":