diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-31 11:51:54 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-31 11:51:54 +0100 |
| commit | ae413b3defdde71acbbb59b455e5e15321df6893 (patch) | |
| tree | f7e6c78ed2fa839c1e659ab57a66fa309db92518 /examples/12-transient-0/output | |
| parent | 69ab5f074540a550393806de1a32d70d1c895121 (diff) | |
Add Int8 type
Diffstat (limited to 'examples/12-transient-0/output')
5 files changed, 58 insertions, 1 deletions
diff --git a/examples/12-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/12-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java index d8d4f3f..aa3355e 100644 --- a/examples/12-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java +++ b/examples/12-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java @@ -19,6 +19,7 @@ import org.zwobble.example.types.data.StructSingleton; import org.zwobble.example.types.data.StructWithBool; import org.zwobble.example.types.data.StructWithDifferentSharedTypes; import org.zwobble.example.types.data.StructWithEnum; +import org.zwobble.example.types.data.StructWithInt8; import org.zwobble.example.types.data.StructWithInt32; import org.zwobble.example.types.data.StructWithInt64; import org.zwobble.example.types.data.StructWithList; @@ -59,6 +60,18 @@ public class Transient0Tests { } @Test + public void structWithInt8() throws IOException { + var value = new StructWithInt8(10, 25); + + assertRoundTripEncoding( + "StructWithInt8", + value, + HobgoblinTransient0Data::encodeStructWithInt8, + HobgoblinTransient0Data::decodeStructWithInt8 + ); + } + + @Test public void structWithInt32() throws IOException { var value = new StructWithInt32(10, 25); diff --git a/examples/12-transient-0/output/rust/src/gen/data.rs b/examples/12-transient-0/output/rust/src/gen/data.rs index aef9f69..bbaf4e7 100644 --- a/examples/12-transient-0/output/rust/src/gen/data.rs +++ b/examples/12-transient-0/output/rust/src/gen/data.rs @@ -10,6 +10,12 @@ pub struct StructWithBool { } #[derive(Debug, Hash, PartialEq)] +pub struct StructWithInt8 { + pub a: ::core::primitive::i8, + pub b: ::core::primitive::i8, +} + +#[derive(Debug, Hash, PartialEq)] pub struct StructWithInt32 { pub a: ::core::primitive::i32, pub b: ::core::primitive::i32, diff --git a/examples/12-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/12-transient-0/output/rust/src/gen/data/transient_0.rs index ca9beaf..8bf68cb 100644 --- a/examples/12-transient-0/output/rust/src/gen/data/transient_0.rs +++ b/examples/12-transient-0/output/rust/src/gen/data/transient_0.rs @@ -20,6 +20,18 @@ pub fn decode_struct_with_bool(reader: &mut impl std::io::Read, shared_values: & ::std::io::Result::Ok(crate::data::StructWithBool { a: a, b: b }) } +pub fn encode_struct_with_int_8(value: &crate::data::StructWithInt8, writer: &mut impl std::io::Write, shared_values: &mut ::std::collections::HashMap::<::core::primitive::usize, ::core::primitive::i64>) -> ::std::io::Result::<()> { + crate::transient_0::encode_int_8(&value.a, writer, shared_values)?; + crate::transient_0::encode_int_8(&value.b, writer, shared_values)?; + ::std::io::Result::Ok(()) +} + +pub fn decode_struct_with_int_8(reader: &mut impl std::io::Read, shared_values: &mut ::std::vec::Vec::<::std::sync::Arc::<dyn ::std::any::Any + ::std::marker::Sync + ::std::marker::Send>>) -> ::std::io::Result::<crate::data::StructWithInt8> { + let a = crate::transient_0::decode_int_8(reader, shared_values)?; + let b = crate::transient_0::decode_int_8(reader, shared_values)?; + ::std::io::Result::Ok(crate::data::StructWithInt8 { a: a, b: b }) +} + pub fn encode_struct_with_int_32(value: &crate::data::StructWithInt32, writer: &mut impl std::io::Write, shared_values: &mut ::std::collections::HashMap::<::core::primitive::usize, ::core::primitive::i64>) -> ::std::io::Result::<()> { crate::transient_0::encode_int_32(&value.a, writer, shared_values)?; crate::transient_0::encode_int_32(&value.b, writer, shared_values)?; diff --git a/examples/12-transient-0/output/rust/src/gen/transient_0.rs b/examples/12-transient-0/output/rust/src/gen/transient_0.rs index d88284e..6505408 100644 --- a/examples/12-transient-0/output/rust/src/gen/transient_0.rs +++ b/examples/12-transient-0/output/rust/src/gen/transient_0.rs @@ -25,6 +25,20 @@ pub fn decode_bool(reader: &mut impl std::io::Read, shared_values: &mut ::std::v }) } +pub fn encode_int_8(value: &::core::primitive::i8, writer: &mut impl std::io::Write, shared_values: &mut ::std::collections::HashMap::<::core::primitive::usize, ::core::primitive::i64>) -> ::std::io::Result::<()> { + writer.write_all(&value.to_le_bytes())?; + ::std::io::Result::Ok(()) +} + +pub fn decode_int_8(reader: &mut impl std::io::Read, shared_values: &mut ::std::vec::Vec::<::std::sync::Arc::<dyn ::std::any::Any + ::std::marker::Sync + ::std::marker::Send>>) -> ::std::io::Result::<::core::primitive::i8> { + let bytes = { + let mut bytes = [0; 1]; + reader.read_exact(&mut bytes)?; + bytes + }; + ::std::io::Result::Ok(::core::primitive::i8::from_le_bytes(bytes)) +} + pub fn encode_int_32(value: &::core::primitive::i32, writer: &mut impl std::io::Write, shared_values: &mut ::std::collections::HashMap::<::core::primitive::usize, ::core::primitive::i64>) -> ::std::io::Result::<()> { writer.write_all(&value.to_le_bytes())?; ::std::io::Result::Ok(()) diff --git a/examples/12-transient-0/output/rust/src/lib.rs b/examples/12-transient-0/output/rust/src/lib.rs index 365a352..b858f24 100644 --- a/examples/12-transient-0/output/rust/src/lib.rs +++ b/examples/12-transient-0/output/rust/src/lib.rs @@ -8,7 +8,7 @@ mod test { use std::path::PathBuf; use std::sync::Arc; use std::collections::HashMap; - use super::data::{EnumWithVariants, StructSingleton, StructWithBool, StructWithDifferentSharedTypes, StructWithEnum, StructWithInt32, StructWithInt64, StructWithList, StructWithListOfShared, StructWithOption, StructWithSharedSumAndVariant, StructWithString, StructWithStruct, StructWithSum, SumWithVariants, VariantOne, VariantTwo }; + use super::data::{EnumWithVariants, StructSingleton, StructWithBool, StructWithDifferentSharedTypes, StructWithEnum, StructWithInt8, StructWithInt32, StructWithInt64, StructWithList, StructWithListOfShared, StructWithOption, StructWithSharedSumAndVariant, StructWithString, StructWithStruct, StructWithSum, SumWithVariants, VariantOne, VariantTwo }; #[test] fn struct_singleton() { @@ -35,6 +35,18 @@ mod test { } #[test] + fn struct_with_int_8() { + let value = StructWithInt8 { a: 10, b: 25 }; + + assert_round_trip_encoding( + "StructWithInt8", + value, + super::data::transient_0::encode_struct_with_int_8, + super::data::transient_0::decode_struct_with_int_8, + ); + } + + #[test] fn struct_with_int_32() { let value = StructWithInt32 { a: 10, b: 25 }; |
