summaryrefslogtreecommitdiff
path: root/examples/10-transient-0/output
diff options
context:
space:
mode:
Diffstat (limited to 'examples/10-transient-0/output')
-rw-r--r--examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java15
-rw-r--r--examples/10-transient-0/output/rust/src/gen/data.rs6
-rw-r--r--examples/10-transient-0/output/rust/src/gen/data/transient_0.rs12
3 files changed, 33 insertions, 0 deletions
diff --git a/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
index 2ab3934..e5d13da 100644
--- a/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
+++ b/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
@@ -12,6 +12,7 @@ import org.junit.jupiter.api.Test;
import org.zwobble.example.types.data.EnumWithVariants;
import org.zwobble.example.types.data.HobgoblinTransient0Data;
import org.zwobble.example.types.data.StructWithBool;
+import org.zwobble.example.types.data.StructWithEnum;
import org.zwobble.example.types.data.StructWithInt32;
import org.zwobble.example.types.data.StructWithInt64;
import org.zwobble.example.types.data.StructWithList;
@@ -145,6 +146,20 @@ public class Transient0Tests {
}
@Test
+ public void structWithInner() throws IOException {
+ var value = new StructWithEnum(
+ EnumWithVariants.ONE,
+ 42
+ );
+
+ assertRoundTripEncoding(
+ value,
+ HobgoblinTransient0Data::encodeStructWithEnum,
+ HobgoblinTransient0Data::decodeStructWithEnum
+ );
+ }
+
+ @Test
public void sumWithVariants() throws IOException {
assertRoundTripEncoding(
new VariantOne(10),
diff --git a/examples/10-transient-0/output/rust/src/gen/data.rs b/examples/10-transient-0/output/rust/src/gen/data.rs
index ccabce6..dd9af46 100644
--- a/examples/10-transient-0/output/rust/src/gen/data.rs
+++ b/examples/10-transient-0/output/rust/src/gen/data.rs
@@ -50,6 +50,12 @@ pub enum EnumWithVariants {
}
#[derive(Debug, PartialEq)]
+pub struct StructWithEnum {
+ pub inner: crate::data::EnumWithVariants,
+ pub c: ::core::primitive::i32,
+}
+
+#[derive(Debug, PartialEq)]
pub enum SumWithVariants {
VariantOne(crate::data::VariantOne),
VariantTwo(crate::data::VariantTwo),
diff --git a/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs
index c1ded4c..9892a8c 100644
--- a/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs
+++ b/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs
@@ -156,6 +156,18 @@ pub fn decode_enum_with_variants(reader: &mut impl std::io::Read) -> ::std::io::
})
}
+pub fn encode_struct_with_enum(value: &crate::data::StructWithEnum, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
+ todo!();
+ crate::transient_0::encode_int_32(&value.c, writer)?;
+ ::std::io::Result::Ok(())
+}
+
+pub fn decode_struct_with_enum(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithEnum> {
+ let inner = todo!();
+ let c = crate::transient_0::decode_int_32(reader)?;
+ std::io::Result::Ok(crate::data::StructWithEnum { inner: inner, c: c })
+}
+
pub fn encode_sum_with_variants(value: &crate::data::SumWithVariants, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
match value {
crate::data::SumWithVariants::VariantOne(value) => {