summaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java29
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()
- );
- }
}