diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java index 785d20e..700b74f 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java @@ -222,7 +222,7 @@ public class RustTransient0Generator implements Generator { generateEncode( new RustPrefixExpression( RustPrefixOperator.BORROW, - tryIntoOrUnwrap(methodCall( + tryIntoOrInvalidData(methodCall( RustPath.of(VALUE_NAME), RustIdentifier.of("len"), List.of() @@ -676,7 +676,7 @@ public class RustTransient0Generator implements Generator { generateEncode( new RustPrefixExpression( RustPrefixOperator.BORROW, - tryIntoOrUnwrap(methodCall(value, RustIdentifier.of("len"), List.of())) + tryIntoOrInvalidData(methodCall(value, RustIdentifier.of("len"), List.of())) ), NativeTypes.INT_64 ), @@ -704,7 +704,7 @@ public class RustTransient0Generator implements Generator { new RustLetStatement(length, false, generateDecode(NativeTypes.INT_64)), new RustLetStatement(elements, true, new RustCallExpression( RustPath.global("std", "vec", "Vec", "with_capacity"), - List.of(tryIntoOrUnwrap(RustPath.of(length))) + List.of(tryIntoOrInvalidData(RustPath.of(length))) )), new RustExpressionStatement(new RustIteratorLoopExpression( new RustWildcardPattern(), @@ -838,7 +838,7 @@ public class RustTransient0Generator implements Generator { private RustExpression generateReaderReadExact(RustExpression length) { var bytes = RustIdentifier.of("bytes"); - var lengthUsize = tryIntoOrUnwrap(length); + var lengthUsize = tryIntoOrInvalidData(length); return new RustBlockExpression( List.of( @@ -894,20 +894,13 @@ public class RustTransient0Generator implements Generator { ); } - private RustExpression tryIntoOrUnwrap(RustExpression value) { - return unwrap(methodCall( - value, - RustIdentifier.of("try_into"), - List.of() + private RustExpression tryIntoOrInvalidData(RustExpression value) { + return new RustTryPropagationExpression(mapErrToInvalidData( + methodCall( + value, + RustIdentifier.of("try_into"), + List.of() + ) )); } - - private RustExpression unwrap(RustExpression value) { - // TODO: remove unwrap - return methodCall( - value, - RustIdentifier.of("unwrap"), - List.of() - ); - } } |
