diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-03-21 17:36:16 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-03-21 17:36:16 +0000 |
| commit | 2312e70431e6c1cb0c04c75c60e2ee82e5e37ed5 (patch) | |
| tree | a4562d8447b8f5e334758644dbd129d4b9df869c /src/main/java | |
| parent | 1a92052dc7b1cbcf15f0b9f497942e397375d3b4 (diff) | |
Serialize Patio compilation unit to Protobuf
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java | 13 |
1 files changed, 13 insertions, 0 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 6a849beb..334c998a 100644 --- a/src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java +++ b/src/main/java/org/shedlang/compiler/patio/protobuf/PatioToProtobuf.java @@ -30,6 +30,19 @@ public class PatioToProtobuf { return builder.build(); } + public static PatioCompilationUnit deserializeCompilationUnit( + PatioProtobuf.PatioCompilationUnit compilationUnitProtobuf + ) { + var source = deserializeSource(compilationUnitProtobuf.getSource(), Optional.empty()); + + return new PatioCompilationUnit( + compilationUnitProtobuf.getElementsList().stream() + .map(elementProtobuf -> deserializeCompilationUnitElement(elementProtobuf, source)) + .collect(Collectors.toList()), + source + ); + } + // == Compilation unit elements == public static PatioProtobuf.PatioCompilationUnitElement serializeCompilationUnitElement( |
