summaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-06 21:10:22 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-06 21:10:22 +0100
commit7570de50548daadea351ac1a8acbe52319dac122 (patch)
tree281d5ccf1b066589ff5cdb6d9b4ebbd0eb0a304b /src/main/java/org
parent798a3176144c4f9116d3f38559104e9773937d5a (diff)
Extract generateDecodeMethod()
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java34
1 files changed, 23 insertions, 11 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 23f699b..a2cbe10 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
@@ -142,18 +142,9 @@ public class JavaTransient0Generator implements Generator {
.toList()
)
),
- new JavaMethodDeclaration(
- decodeMethodName(structDefinition.type()),
- JavaVisibility.PUBLIC,
- JavaMethodKind.STATIC,
+ generateDecodeMethod(
+ structDefinition.type(),
structJavaTypeRef,
- List.of(
- new JavaParam(
- JavaTypeRef.INPUT_STREAM,
- INPUT_STREAM_NAME
- )
- ),
- List.of(JavaTypeRef.IO_EXCEPTION),
new JavaBlock(
Stream.concat(
structDefinition.fields().stream()
@@ -201,6 +192,27 @@ public class JavaTransient0Generator implements Generator {
);
}
+ private JavaMethodDeclaration generateDecodeMethod(
+ Type type,
+ JavaTypeRef javaTypeRef,
+ JavaBlock body
+ ) {
+ return new JavaMethodDeclaration(
+ decodeMethodName(type),
+ JavaVisibility.PUBLIC,
+ JavaMethodKind.STATIC,
+ javaTypeRef,
+ List.of(
+ new JavaParam(
+ JavaTypeRef.INPUT_STREAM,
+ INPUT_STREAM_NAME
+ )
+ ),
+ List.of(JavaTypeRef.IO_EXCEPTION),
+ body
+ );
+ }
+
private Stream<JavaBlockStatement> generateEncode(JavaExpression value, Type type) {
return switch (type) {
case ConstructedNativeType constructedNativeType -> {