From c83895700fad8ea3cd2dd97683f2439472cdff96 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 21 Mar 2026 13:05:11 +0000 Subject: Extract separate deserialization functions --- .../compiler/patio/protobuf/PatioToProtobuf.java | 76 ++++++++++++++++------ 1 file changed, 57 insertions(+), 19 deletions(-) (limited to 'src/main/java') 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) { -- cgit v1.2.3