diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-03-21 13:05:11 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-03-21 13:05:11 +0000 |
| commit | c83895700fad8ea3cd2dd97683f2439472cdff96 (patch) | |
| tree | 27761bb666f8595b1745bfc390f347da2208b87c /src | |
| parent | f1aa04299d193826643bf6b3da37901b7de4b4b2 (diff) | |
Extract separate deserialization functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java | 76 |
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) { |
