From 6077464b64ffa757facf7601ea0afbe86c2e0721 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 31 Jul 2026 12:52:56 +0100 Subject: Use Java byte for hobgoblin Int8 --- .../output/generators/java/JavaGeneratorConfig.java | 9 ++++++++- .../javatransient0/JavaTransient0Generator.java | 17 +++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) (limited to 'src/main/java/org/zwobble') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java index fa4dd85..1d570e8 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java @@ -79,7 +79,14 @@ public record JavaGeneratorConfig( private static final Map DEFAULT_NATIVE_TYPE_CONFIGS = Map.ofEntries( Map.entry(NativeTypes.BOOL, JavaNativeTypeConfig.primitive(JavaTypeRef.BOOLEAN, JavaTypeRef.BOOLEAN_BOXED, new JavaBooleanLiteral(false))), - Map.entry(NativeTypes.INT_8, JavaNativeTypeConfig.primitive(JavaTypeRef.INT, JavaTypeRef.BYTE_BOXED, new JavaIntegerLiteral(0))), + Map.entry( + NativeTypes.INT_8, + JavaNativeTypeConfig.primitive( + JavaTypeRef.BYTE, + JavaTypeRef.BYTE_BOXED, + new JavaCast(JavaTypeRef.BYTE, new JavaIntegerLiteral(0)) + ) + ), Map.entry(NativeTypes.INT_32, JavaNativeTypeConfig.primitive(JavaTypeRef.INT, JavaTypeRef.INT_BOXED, new JavaIntegerLiteral(0))), Map.entry(NativeTypes.INT_64, JavaNativeTypeConfig.primitive(JavaTypeRef.LONG, JavaTypeRef.LONG_BOXED, new JavaIntegerLiteral(0))), Map.entry(NativeTypes.STRING, JavaNativeTypeConfig.of(JavaTypeRef.STRING, new JavaStringLiteral(""))), 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 7e3219a..dd81f99 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 @@ -214,11 +214,24 @@ public class JavaTransient0Generator implements Generator { } private JavaMethodDeclaration generateEncodeInt8Method() { - return generateEncodeIntMethod(NativeTypes.INT_8, 8); + var statements = List.of( + new JavaExpressionStatement( + generateOutputStreamWrite(new JavaRef(VALUE_NAME)) + ) + ); + + return generateEncodeMethod(NativeTypes.INT_8, new JavaBlock(statements)); } private JavaMethodDeclaration generateDecodeInt8Method() { - return generateDecodeIntMethod(NativeTypes.INT_8, 8); + var statements = List.of( + new JavaReturn(new JavaCast( + JavaTypeRef.BYTE, + generateInputStreamRead() + )) + ); + + return generateDecodeMethod(NativeTypes.INT_8, new JavaBlock(statements)); } private JavaMethodDeclaration generateEncodeInt32Method() { -- cgit v1.2.3