Proto commits in Auties00/ModernProtobuf

These 41 commits are when the Protocol Buffers files have changed:

Commit:36bddf1
Author:Alessandro Autiero

Work I did over the summer on the weekends

The documentation is generated from this commit.

Commit:d57c21f
Author:Alessandro Autiero

Added language specific support to daedalus-protobuf-google-support Added unknownFields where necessary

Commit:caaac66
Author:Alessandro Autiero
Committer:Alessandro Autiero

Updated google support module with new typesystem

Commit:2eabfcc
Author:Alessandro Autiero

Added @TypeBuilder.Mixin annotation and builder convenience methods for Collection and Map Extended TypeBuilder with configurable build method name and setter method name Added mixin methods to CollectionMixin (add, remove, removeIf, retain, clear) and MapMixin (put, putAll, putIfAbsent, remove, replace, replaceAll, clear) with null-safe and unmodifiable-safe implementations

Commit:a6ac408
Author:Alessandro Autiero

Finalized support for editions in compiler module

Commit:a34bfa1
Author:Alessandro Autiero

Continuing project refactor Working on high-performance prototext IO

Commit:4fc7a11
Author:Alessandro Autiero

Continuing to refactor project structure Implemented scalar utf8 validation after a lot of utf8 SIMD testing

Commit:913a3b6
Author:Alessandro Autiero

Refactored project structure Continuing SIMD readers/writers Added protobuf editions Integrated protobuf editions into annotations Distinguished between binary and text readers/writers for protobuf

Commit:0044799
Author:Alessandro Autiero

<parser>

Commit:325be98
Author:Alessandro Autiero
Committer:Alessandro Autiero

<parser: finished documentation, attribution and tests>

Commit:da7e12f
Author:Alessandro Autiero

<parser>

Commit:d0afdb8
Author:Alessandro Autiero

<feat: working on spec compliant parser>

Commit:3607b74
Author:Alessandro Autiero

<wip: rewriting the parser>

Commit:8f8f5f3
Author:Alessandro Autiero

<wip: continuing to work on parser update>

Commit:8cb022e
Author:Alessandro Autiero
Committer:Alessandro Autiero

<feat: parallel compilation(around 30x improvement)>

Commit:bcc774b
Author:Alessandro Autiero

<feat: optimized compilation times> <feat: better testing for complex raw groups>

Commit:b97071f
Author:Auties00

<wip: optimizing compilation times>

Commit:37afbcb
Author:Alessandro Autiero

<feat: implemented options for all types that support them, implemented option name checking using builtin descriptor file and type checking for options> <refactor: simplified exception system for parser module> <feat: added line to abstract syntax trees so the unified parser exception can print the error line also when type checking> <feat: implemented enum constant alias>

Commit:0faec51
Author:Alessandro Autiero

<feat: Implemented groups in ProtobufParser> <refactor: Structure of AST in ProtobufParser is now cleaner> <bugfix: Distinguish between floating points and integers for field indexes> <bugfix: various smaller parsing bugs>

Commit:c92f1d0
Author:Alessandro Autiero

<bugfix: fixed implementation bugs and removed type overriding in favour of mixins>

Commit:a644c3b
Author:Alessandro Autiero

<feat: improving serialization performance>

Commit:59dc805
Author:Alessandro Autiero

<feat: updated benchmark results> <feat: added more unit tests> <feat: added default values for enums> <feat: switched from ProtobufMessage, ProtobufEnum and ProtobufMixin interfaces to annotations to reduce clutter> <bugfix: @ProtobufSerializer and @ProtobufDeserializer on generic types (ex. CompletableFuture) now works correctly with objects, even recursively (ex. CompletableFuture<CompletableFuture<SomeObject>>)

Commit:ede5c50
Author:Alessandro Autiero

<feat: full imports support in parser> <feat: ProtobufSerializer, ProtobufDeserializer, ProtobufMixin, ProtobufDefaultValue in plugin>

Commit:08e579a
Author:Alessandro Autiero

WIP

Commit:32761ef
Author:Alessandro Autiero

<feat: support from built-in google types> <feat: support for imports> <feat: support for extensions>

Commit:1415bbc
Author:Alessandro Autiero

Added nullable and optional types to schema generator

Commit:cb2480a
Author:Alessandro Autiero

Byg fixing and new version code

Commit:592090f
Author:Alessandro Autiero

completing schema generation tool

Commit:9ebe4a0
Author:Alessandro Autiero

continuing plugin rewrite

Commit:f702c7e
Author:Alessandro Autiero

continuing plugin rewrite

Commit:8cfa718
Author:Alessandro Autiero

Rewriting schema generation

Commit:ae3abc1
Author:Alessandro Autiero

Beta for the new serialization plugin

Commit:c4dd8d2
Author:Alessandro Autiero

working on performance mode

Commit:06aad2d
Author:Alessandro Autiero

Super beta of performance mode. It looks to beat or match google's

Commit:33b6c19
Author:Alessandro Autiero

Refactor to prepare for performance focused implementation of serializer module

Commit:08240f1
Author:Alessandro Autiero

Finished updater Added another unit test for consistency

Commit:07ed6e4
Author:Alessandro Autiero

Switching to ast based generation

Commit:be46609
Author:Alessandro Autiero

Added support for reserved fields

Commit:a5a01bd
Author:Alessandro Autiero

New code gen system for tool Moved away from getters/setters in parser as now accessors can be used(groovy didn't like them previously)

Commit:cab66f8
Author:Alessandro Autiero

Added proto3 support for parser New parser for better performance and much better handling of errors and options

Commit:ce541fd
Author:Auties00

Working on a new version