diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-08-29 23:22:02 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-08-29 23:22:02 +0100 |
| commit | 39d0b5105f474dd044022d2bb243eee203a93bfd (patch) | |
| tree | 140fb2fc10b1264c9465ae2569fb55f76c9b19b9 /src | |
| parent | 9141e8d5a4f22aeaa1c2863c4f7743ce8c35e760 (diff) | |
Fix decoding of Int64 in java-transient-0
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java index 42a4a6a..c7c9f69 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java @@ -426,6 +426,12 @@ public class JavaTransient0Generator implements Generator { .iterator(); for (var shiftBy : shiftBys) { + JavaExpression rawValue = generateInputStreamRead(); + + if (!type.equals(NativeTypes.INT_32)) { + rawValue = new JavaCast(this.javaGenerator.generateTypeRef(type), rawValue); + } + statements.add(new JavaExpressionStatement(new JavaBinaryOperation( JavaBinaryOperator.ASSIGN, new JavaRef(VALUE_NAME), @@ -434,7 +440,7 @@ public class JavaTransient0Generator implements Generator { new JavaRef(VALUE_NAME), new JavaBinaryOperation( JavaBinaryOperator.LEFT_SHIFT, - generateInputStreamRead(), + rawValue, new JavaIntegerLiteral(shiftBy) ) ) |
