summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-31 12:52:56 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-31 12:52:56 +0100
commit6077464b64ffa757facf7601ea0afbe86c2e0721 (patch)
tree192b5ecceb5b22fb7259175a5609655e8d5511d4 /src/main/java
parent2faac37eed6c142d1c48412cbc84b96e9c6321a4 (diff)
Use Java byte for hobgoblin Int8
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGeneratorConfig.java9
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java17
2 files changed, 23 insertions, 3 deletions
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<SimpleNativeType, JavaNativeTypeConfig> 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.<JavaBlockStatement>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.<JavaBlockStatement>of(
+ new JavaReturn(new JavaCast(
+ JavaTypeRef.BYTE,
+ generateInputStreamRead()
+ ))
+ );
+
+ return generateDecodeMethod(NativeTypes.INT_8, new JavaBlock(statements));
}
private JavaMethodDeclaration generateEncodeInt32Method() {