aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-03-21 13:05:11 +0000
committerMichael Williamson <mike@zwobble.org>2026-03-21 13:05:11 +0000
commitc83895700fad8ea3cd2dd97683f2439472cdff96 (patch)
tree27761bb666f8595b1745bfc390f347da2208b87c /src
parentf1aa04299d193826643bf6b3da37901b7de4b4b2 (diff)
Extract separate deserialization functions
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java76
1 files changed, 57 insertions, 19 deletions
diff --git a/src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java b/src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java
index 9a6e8213..8bdb278b 100644
--- a/src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java
+++ b/src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java
@@ -74,33 +74,24 @@ public class PatioToProtobuf {
) {
return switch (elementProtobuf.getValueCase()) {
case DATA_ELEMENT_IMMUTABLE_DEFINITION ->
- new PatioDataElementImmutableDefinition(
- elementProtobuf.getDataElementImmutableDefinition().getName(),
- deserializeVisibility(elementProtobuf.getDataElementImmutableDefinition().getVisibility()),
- deserializeDataValue(elementProtobuf.getDataElementImmutableDefinition().getValue()),
- deserializeSource(elementProtobuf.getDataElementImmutableDefinition().getSource(), parentSource)
- );
+ deserializeDataElementImmutableDefinition(elementProtobuf.getDataElementImmutableDefinition(), parentSource);
case DATA_ELEMENT_MUTABLE_DECLARATION ->
- new PatioDataElementMutableDeclaration(
- elementProtobuf.getDataElementMutableDeclaration().getName(),
- deserializeDataLayout(elementProtobuf.getDataElementMutableDeclaration().getLayout()),
- deserializeSource(elementProtobuf.getDataElementMutableDeclaration().getSource(), parentSource)
+ deserializeDataElementMutationDeclaration(
+ elementProtobuf.getDataElementMutableDeclaration(),
+ parentSource
);
case DATA_ELEMENT_MUTABLE_DEFINITION ->
- new PatioDataElementMutableDefinition(
- elementProtobuf.getDataElementMutableDefinition().getName(),
- deserializeVisibility(elementProtobuf.getDataElementMutableDefinition().getVisibility()),
- deserializeDataValue(elementProtobuf.getDataElementMutableDefinition().getInitialValue()),
- deserializeSource(elementProtobuf.getDataElementMutableDefinition().getSource(), parentSource)
+ deserializeDataElementMutableDefinition(
+ elementProtobuf.getDataElementMutableDefinition(),
+ parentSource
);
case EXCEPTION_TYPE_DEFINITION ->
- new PatioExceptionTypeDefinition(
- elementProtobuf.getExceptionTypeDefinition().getName(),
- deserializeType(elementProtobuf.getExceptionTypeDefinition().getValueType()),
- deserializeSource(elementProtobuf.getExceptionTypeDefinition().getSource(), parentSource)
+ deserializeExceptionTypeDefinition(
+ elementProtobuf.getExceptionTypeDefinition(),
+ parentSource
);
case VALUE_NOT_SET ->
@@ -120,6 +111,18 @@ public class PatioToProtobuf {
return builder.build();
}
+ private static PatioDataElementImmutableDefinition deserializeDataElementImmutableDefinition(
+ PatioProtobuf.PatioDataElementImmutableDefinition elementProtobuf,
+ Source parentSource
+ ) {
+ return new PatioDataElementImmutableDefinition(
+ elementProtobuf.getName(),
+ deserializeVisibility(elementProtobuf.getVisibility()),
+ deserializeDataValue(elementProtobuf.getValue()),
+ deserializeSource(elementProtobuf.getSource(), parentSource)
+ );
+ }
+
private static PatioProtobuf.PatioDataElementMutableDeclaration serializeDataElementMutableDeclaration(
PatioDataElementMutableDeclaration element,
Source parentSource
@@ -131,6 +134,18 @@ public class PatioToProtobuf {
return builder.build();
}
+ private static PatioDataElementMutableDeclaration deserializeDataElementMutationDeclaration(
+ PatioProtobuf.PatioDataElementMutableDeclaration elementProtobuf,
+ Source parentSource
+ ) {
+ return new PatioDataElementMutableDeclaration(
+ elementProtobuf.getName(),
+ deserializeDataLayout(elementProtobuf.getLayout()),
+ deserializeSource(elementProtobuf.getSource(), parentSource)
+ );
+ }
+
+
private static PatioProtobuf.PatioDataElementMutableDefinition serializeDataElementMutableDefinition(
PatioDataElementMutableDefinition element,
Source parentSource
@@ -143,6 +158,18 @@ public class PatioToProtobuf {
return builder.build();
}
+ private static PatioDataElementMutableDefinition deserializeDataElementMutableDefinition(
+ PatioProtobuf.PatioDataElementMutableDefinition elementProtobuf,
+ Source parentSource
+ ) {
+ return new PatioDataElementMutableDefinition(
+ elementProtobuf.getName(),
+ deserializeVisibility(elementProtobuf.getVisibility()),
+ deserializeDataValue(elementProtobuf.getInitialValue()),
+ deserializeSource(elementProtobuf.getSource(), parentSource)
+ );
+ }
+
private static PatioProtobuf.PatioExceptionTypeDefinition serializeExceptionTypeDefinition(
PatioExceptionTypeDefinition element,
Source parentSource
@@ -154,6 +181,17 @@ public class PatioToProtobuf {
return builder.build();
}
+ private static PatioExceptionTypeDefinition deserializeExceptionTypeDefinition(
+ PatioProtobuf.PatioExceptionTypeDefinition elementProtobuf,
+ Source parentSource
+ ) {
+ return new PatioExceptionTypeDefinition(
+ elementProtobuf.getName(),
+ deserializeType(elementProtobuf.getValueType()),
+ deserializeSource(elementProtobuf.getSource(), parentSource)
+ );
+ }
+
// == Data ptr values ==
public static PatioProtobuf.PatioDataPtrValue serializeDataPtrValue(PatioDataPtrValue value) {