aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nimpb/compiler/descriptor_pb.nim1593
-rw-r--r--nimpb/compiler/generator.nim24
-rw-r--r--nimpb/compiler/nimpb_build.nim.cfg1
-rw-r--r--nimpb/nimpb.nim33
4 files changed, 1045 insertions, 606 deletions
diff --git a/nimpb/compiler/descriptor_pb.nim b/nimpb/compiler/descriptor_pb.nim
index 968ff57..b5460e4 100644
--- a/nimpb/compiler/descriptor_pb.nim
+++ b/nimpb/compiler/descriptor_pb.nim
@@ -1,8 +1,11 @@
# Generated by protoc_gen_nim. Do not edit!
+import base64
import intsets
+import json
-import ../nimpb
+import nimpb/nimpb
+import nimpb/json as nimpb_json
type
google_protobuf_FieldDescriptorProto_Type* {.pure.} = enum
@@ -45,14 +48,10 @@ type
NO_SIDE_EFFECTS = 1
IDEMPOTENT = 2
google_protobuf_FileDescriptorSet* = ref google_protobuf_FileDescriptorSetObj
- google_protobuf_FileDescriptorSetObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_FileDescriptorSetObj* = object of Message
file: seq[google_protobuf_FileDescriptorProto]
google_protobuf_FileDescriptorProto* = ref google_protobuf_FileDescriptorProtoObj
- google_protobuf_FileDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_FileDescriptorProtoObj* = object of Message
name: string
package: string
dependency: seq[string]
@@ -66,9 +65,7 @@ type
source_code_info: google_protobuf_SourceCodeInfo
syntax: string
google_protobuf_DescriptorProto* = ref google_protobuf_DescriptorProtoObj
- google_protobuf_DescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_DescriptorProtoObj* = object of Message
name: string
field: seq[google_protobuf_FieldDescriptorProto]
extension: seq[google_protobuf_FieldDescriptorProto]
@@ -80,27 +77,19 @@ type
reserved_range: seq[google_protobuf_DescriptorProto_ReservedRange]
reserved_name: seq[string]
google_protobuf_DescriptorProto_ReservedRange* = ref google_protobuf_DescriptorProto_ReservedRangeObj
- google_protobuf_DescriptorProto_ReservedRangeObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_DescriptorProto_ReservedRangeObj* = object of Message
start: int32
fend: int32
google_protobuf_DescriptorProto_ExtensionRange* = ref google_protobuf_DescriptorProto_ExtensionRangeObj
- google_protobuf_DescriptorProto_ExtensionRangeObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_DescriptorProto_ExtensionRangeObj* = object of Message
start: int32
fend: int32
options: google_protobuf_ExtensionRangeOptions
google_protobuf_ExtensionRangeOptions* = ref google_protobuf_ExtensionRangeOptionsObj
- google_protobuf_ExtensionRangeOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_ExtensionRangeOptionsObj* = object of Message
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_FieldDescriptorProto* = ref google_protobuf_FieldDescriptorProtoObj
- google_protobuf_FieldDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_FieldDescriptorProtoObj* = object of Message
name: string
number: int32
label: google_protobuf_FieldDescriptorProto_Label
@@ -112,44 +101,32 @@ type
json_name: string
options: google_protobuf_FieldOptions
google_protobuf_OneofDescriptorProto* = ref google_protobuf_OneofDescriptorProtoObj
- google_protobuf_OneofDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_OneofDescriptorProtoObj* = object of Message
name: string
options: google_protobuf_OneofOptions
google_protobuf_EnumDescriptorProto* = ref google_protobuf_EnumDescriptorProtoObj
- google_protobuf_EnumDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_EnumDescriptorProtoObj* = object of Message
name: string
value: seq[google_protobuf_EnumValueDescriptorProto]
options: google_protobuf_EnumOptions
reserved_range: seq[google_protobuf_EnumDescriptorProto_EnumReservedRange]
reserved_name: seq[string]
google_protobuf_EnumDescriptorProto_EnumReservedRange* = ref google_protobuf_EnumDescriptorProto_EnumReservedRangeObj
- google_protobuf_EnumDescriptorProto_EnumReservedRangeObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_EnumDescriptorProto_EnumReservedRangeObj* = object of Message
start: int32
fend: int32
google_protobuf_EnumValueDescriptorProto* = ref google_protobuf_EnumValueDescriptorProtoObj
- google_protobuf_EnumValueDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_EnumValueDescriptorProtoObj* = object of Message
name: string
number: int32
options: google_protobuf_EnumValueOptions
google_protobuf_ServiceDescriptorProto* = ref google_protobuf_ServiceDescriptorProtoObj
- google_protobuf_ServiceDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_ServiceDescriptorProtoObj* = object of Message
name: string
fmethod: seq[google_protobuf_MethodDescriptorProto]
options: google_protobuf_ServiceOptions
google_protobuf_MethodDescriptorProto* = ref google_protobuf_MethodDescriptorProtoObj
- google_protobuf_MethodDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_MethodDescriptorProtoObj* = object of Message
name: string
input_type: string
output_type: string
@@ -157,9 +134,7 @@ type
client_streaming: bool
server_streaming: bool
google_protobuf_FileOptions* = ref google_protobuf_FileOptionsObj
- google_protobuf_FileOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_FileOptionsObj* = object of Message
java_package: string
java_outer_classname: string
java_multiple_files: bool
@@ -180,18 +155,14 @@ type
php_namespace: string
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_MessageOptions* = ref google_protobuf_MessageOptionsObj
- google_protobuf_MessageOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_MessageOptionsObj* = object of Message
message_set_wire_format: bool
no_standard_descriptor_accessor: bool
deprecated: bool
map_entry: bool
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_FieldOptions* = ref google_protobuf_FieldOptionsObj
- google_protobuf_FieldOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_FieldOptionsObj* = object of Message
ctype: google_protobuf_FieldOptions_CType
packed: bool
jstype: google_protobuf_FieldOptions_JSType
@@ -200,40 +171,28 @@ type
weak: bool
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_OneofOptions* = ref google_protobuf_OneofOptionsObj
- google_protobuf_OneofOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_OneofOptionsObj* = object of Message
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_EnumOptions* = ref google_protobuf_EnumOptionsObj
- google_protobuf_EnumOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_EnumOptionsObj* = object of Message
allow_alias: bool
deprecated: bool
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_EnumValueOptions* = ref google_protobuf_EnumValueOptionsObj
- google_protobuf_EnumValueOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_EnumValueOptionsObj* = object of Message
deprecated: bool
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_ServiceOptions* = ref google_protobuf_ServiceOptionsObj
- google_protobuf_ServiceOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_ServiceOptionsObj* = object of Message
deprecated: bool
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_MethodOptions* = ref google_protobuf_MethodOptionsObj
- google_protobuf_MethodOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_MethodOptionsObj* = object of Message
deprecated: bool
idempotency_level: google_protobuf_MethodOptions_IdempotencyLevel
uninterpreted_option: seq[google_protobuf_UninterpretedOption]
google_protobuf_UninterpretedOption* = ref google_protobuf_UninterpretedOptionObj
- google_protobuf_UninterpretedOptionObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_UninterpretedOptionObj* = object of Message
name: seq[google_protobuf_UninterpretedOption_NamePart]
identifier_value: string
positive_int_value: uint64
@@ -242,34 +201,24 @@ type
string_value: bytes
aggregate_value: string
google_protobuf_UninterpretedOption_NamePart* = ref google_protobuf_UninterpretedOption_NamePartObj
- google_protobuf_UninterpretedOption_NamePartObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_UninterpretedOption_NamePartObj* = object of Message
name_part: string
is_extension: bool
google_protobuf_SourceCodeInfo* = ref google_protobuf_SourceCodeInfoObj
- google_protobuf_SourceCodeInfoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_SourceCodeInfoObj* = object of Message
location: seq[google_protobuf_SourceCodeInfo_Location]
google_protobuf_SourceCodeInfo_Location* = ref google_protobuf_SourceCodeInfo_LocationObj
- google_protobuf_SourceCodeInfo_LocationObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_SourceCodeInfo_LocationObj* = object of Message
path: seq[int32]
span: seq[int32]
leading_comments: string
trailing_comments: string
leading_detached_comments: seq[string]
google_protobuf_GeneratedCodeInfo* = ref google_protobuf_GeneratedCodeInfoObj
- google_protobuf_GeneratedCodeInfoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_GeneratedCodeInfoObj* = object of Message
annotation: seq[google_protobuf_GeneratedCodeInfo_Annotation]
google_protobuf_GeneratedCodeInfo_Annotation* = ref google_protobuf_GeneratedCodeInfo_AnnotationObj
- google_protobuf_GeneratedCodeInfo_AnnotationObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
+ google_protobuf_GeneratedCodeInfo_AnnotationObj* = object of Message
path: seq[int32]
source_file: string
begin: int32
@@ -280,180 +229,206 @@ proc newgoogle_protobuf_UninterpretedOption_NamePart*(data: string): google_prot
proc writegoogle_protobuf_UninterpretedOption_NamePart*(stream: ProtobufStream, message: google_protobuf_UninterpretedOption_NamePart)
proc readgoogle_protobuf_UninterpretedOption_NamePart*(stream: ProtobufStream): google_protobuf_UninterpretedOption_NamePart
proc sizeOfgoogle_protobuf_UninterpretedOption_NamePart*(message: google_protobuf_UninterpretedOption_NamePart): uint64
+proc toJson*(message: google_protobuf_UninterpretedOption_NamePart): JsonNode
proc newgoogle_protobuf_UninterpretedOption*(): google_protobuf_UninterpretedOption
proc newgoogle_protobuf_UninterpretedOption*(data: string): google_protobuf_UninterpretedOption
proc writegoogle_protobuf_UninterpretedOption*(stream: ProtobufStream, message: google_protobuf_UninterpretedOption)
proc readgoogle_protobuf_UninterpretedOption*(stream: ProtobufStream): google_protobuf_UninterpretedOption
proc sizeOfgoogle_protobuf_UninterpretedOption*(message: google_protobuf_UninterpretedOption): uint64
+proc toJson*(message: google_protobuf_UninterpretedOption): JsonNode
proc newgoogle_protobuf_EnumValueOptions*(): google_protobuf_EnumValueOptions
proc newgoogle_protobuf_EnumValueOptions*(data: string): google_protobuf_EnumValueOptions
proc writegoogle_protobuf_EnumValueOptions*(stream: ProtobufStream, message: google_protobuf_EnumValueOptions)
proc readgoogle_protobuf_EnumValueOptions*(stream: ProtobufStream): google_protobuf_EnumValueOptions
proc sizeOfgoogle_protobuf_EnumValueOptions*(message: google_protobuf_EnumValueOptions): uint64
+proc toJson*(message: google_protobuf_EnumValueOptions): JsonNode
proc newgoogle_protobuf_EnumValueDescriptorProto*(): google_protobuf_EnumValueDescriptorProto
proc newgoogle_protobuf_EnumValueDescriptorProto*(data: string): google_protobuf_EnumValueDescriptorProto
proc writegoogle_protobuf_EnumValueDescriptorProto*(stream: ProtobufStream, message: google_protobuf_EnumValueDescriptorProto)
proc readgoogle_protobuf_EnumValueDescriptorProto*(stream: ProtobufStream): google_protobuf_EnumValueDescriptorProto
proc sizeOfgoogle_protobuf_EnumValueDescriptorProto*(message: google_protobuf_EnumValueDescriptorProto): uint64
+proc toJson*(message: google_protobuf_EnumValueDescriptorProto): JsonNode
proc newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(): google_protobuf_EnumDescriptorProto_EnumReservedRange
proc newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(data: string): google_protobuf_EnumDescriptorProto_EnumReservedRange
proc writegoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(stream: ProtobufStream, message: google_protobuf_EnumDescriptorProto_EnumReservedRange)
proc readgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(stream: ProtobufStream): google_protobuf_EnumDescriptorProto_EnumReservedRange
proc sizeOfgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): uint64
+proc toJson*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): JsonNode
proc newgoogle_protobuf_EnumOptions*(): google_protobuf_EnumOptions
proc newgoogle_protobuf_EnumOptions*(data: string): google_protobuf_EnumOptions
proc writegoogle_protobuf_EnumOptions*(stream: ProtobufStream, message: google_protobuf_EnumOptions)
proc readgoogle_protobuf_EnumOptions*(stream: ProtobufStream): google_protobuf_EnumOptions
proc sizeOfgoogle_protobuf_EnumOptions*(message: google_protobuf_EnumOptions): uint64
+proc toJson*(message: google_protobuf_EnumOptions): JsonNode
proc newgoogle_protobuf_EnumDescriptorProto*(): google_protobuf_EnumDescriptorProto
proc newgoogle_protobuf_EnumDescriptorProto*(data: string): google_protobuf_EnumDescriptorProto
proc writegoogle_protobuf_EnumDescriptorProto*(stream: ProtobufStream, message: google_protobuf_EnumDescriptorProto)
proc readgoogle_protobuf_EnumDescriptorProto*(stream: ProtobufStream): google_protobuf_EnumDescriptorProto
proc sizeOfgoogle_protobuf_EnumDescriptorProto*(message: google_protobuf_EnumDescriptorProto): uint64
+proc toJson*(message: google_protobuf_EnumDescriptorProto): JsonNode
proc newgoogle_protobuf_ExtensionRangeOptions*(): google_protobuf_ExtensionRangeOptions
proc newgoogle_protobuf_ExtensionRangeOptions*(data: string): google_protobuf_ExtensionRangeOptions
proc writegoogle_protobuf_ExtensionRangeOptions*(stream: ProtobufStream, message: google_protobuf_ExtensionRangeOptions)
proc readgoogle_protobuf_ExtensionRangeOptions*(stream: ProtobufStream): google_protobuf_ExtensionRangeOptions
proc sizeOfgoogle_protobuf_ExtensionRangeOptions*(message: google_protobuf_ExtensionRangeOptions): uint64
+proc toJson*(message: google_protobuf_ExtensionRangeOptions): JsonNode
proc newgoogle_protobuf_SourceCodeInfo_Location*(): google_protobuf_SourceCodeInfo_Location
proc newgoogle_protobuf_SourceCodeInfo_Location*(data: string): google_protobuf_SourceCodeInfo_Location
proc writegoogle_protobuf_SourceCodeInfo_Location*(stream: ProtobufStream, message: google_protobuf_SourceCodeInfo_Location)
proc readgoogle_protobuf_SourceCodeInfo_Location*(stream: ProtobufStream): google_protobuf_SourceCodeInfo_Location
proc sizeOfgoogle_protobuf_SourceCodeInfo_Location*(message: google_protobuf_SourceCodeInfo_Location): uint64
+proc toJson*(message: google_protobuf_SourceCodeInfo_Location): JsonNode
proc newgoogle_protobuf_SourceCodeInfo*(): google_protobuf_SourceCodeInfo
proc newgoogle_protobuf_SourceCodeInfo*(data: string): google_protobuf_SourceCodeInfo
proc writegoogle_protobuf_SourceCodeInfo*(stream: ProtobufStream, message: google_protobuf_SourceCodeInfo)
proc readgoogle_protobuf_SourceCodeInfo*(stream: ProtobufStream): google_protobuf_SourceCodeInfo
proc sizeOfgoogle_protobuf_SourceCodeInfo*(message: google_protobuf_SourceCodeInfo): uint64
+proc toJson*(message: google_protobuf_SourceCodeInfo): JsonNode
proc newgoogle_protobuf_FieldOptions*(): google_protobuf_FieldOptions
proc newgoogle_protobuf_FieldOptions*(data: string): google_protobuf_FieldOptions
proc writegoogle_protobuf_FieldOptions*(stream: ProtobufStream, message: google_protobuf_FieldOptions)
proc readgoogle_protobuf_FieldOptions*(stream: ProtobufStream): google_protobuf_FieldOptions
proc sizeOfgoogle_protobuf_FieldOptions*(message: google_protobuf_FieldOptions): uint64
+proc toJson*(message: google_protobuf_FieldOptions): JsonNode
proc newgoogle_protobuf_FieldDescriptorProto*(): google_protobuf_FieldDescriptorProto
proc newgoogle_protobuf_FieldDescriptorProto*(data: string): google_protobuf_FieldDescriptorProto
proc writegoogle_protobuf_FieldDescriptorProto*(stream: ProtobufStream, message: google_protobuf_FieldDescriptorProto)
proc readgoogle_protobuf_FieldDescriptorProto*(stream: ProtobufStream): google_protobuf_FieldDescriptorProto
proc sizeOfgoogle_protobuf_FieldDescriptorProto*(message: google_protobuf_FieldDescriptorProto): uint64
+proc toJson*(message: google_protobuf_FieldDescriptorProto): JsonNode
proc newgoogle_protobuf_DescriptorProto_ExtensionRange*(): google_protobuf_DescriptorProto_ExtensionRange
proc newgoogle_protobuf_DescriptorProto_ExtensionRange*(data: string): google_protobuf_DescriptorProto_ExtensionRange
proc writegoogle_protobuf_DescriptorProto_ExtensionRange*(stream: ProtobufStream, message: google_protobuf_DescriptorProto_ExtensionRange)
proc readgoogle_protobuf_DescriptorProto_ExtensionRange*(stream: ProtobufStream): google_protobuf_DescriptorProto_ExtensionRange
proc sizeOfgoogle_protobuf_DescriptorProto_ExtensionRange*(message: google_protobuf_DescriptorProto_ExtensionRange): uint64
+proc toJson*(message: google_protobuf_DescriptorProto_ExtensionRange): JsonNode
proc newgoogle_protobuf_MessageOptions*(): google_protobuf_MessageOptions
proc newgoogle_protobuf_MessageOptions*(data: string): google_protobuf_MessageOptions
proc writegoogle_protobuf_MessageOptions*(stream: ProtobufStream, message: google_protobuf_MessageOptions)
proc readgoogle_protobuf_MessageOptions*(stream: ProtobufStream): google_protobuf_MessageOptions
proc sizeOfgoogle_protobuf_MessageOptions*(message: google_protobuf_MessageOptions): uint64
+proc toJson*(message: google_protobuf_MessageOptions): JsonNode
proc newgoogle_protobuf_OneofOptions*(): google_protobuf_OneofOptions
proc newgoogle_protobuf_OneofOptions*(data: string): google_protobuf_OneofOptions
proc writegoogle_protobuf_OneofOptions*(stream: ProtobufStream, message: google_protobuf_OneofOptions)
proc readgoogle_protobuf_OneofOptions*(stream: ProtobufStream): google_protobuf_OneofOptions
proc sizeOfgoogle_protobuf_OneofOptions*(message: google_protobuf_OneofOptions): uint64
+proc toJson*(message: google_protobuf_OneofOptions): JsonNode
proc newgoogle_protobuf_OneofDescriptorProto*(): google_protobuf_OneofDescriptorProto
proc newgoogle_protobuf_OneofDescriptorProto*(data: string): google_protobuf_OneofDescriptorProto
proc writegoogle_protobuf_OneofDescriptorProto*(stream: ProtobufStream, message: google_protobuf_OneofDescriptorProto)
proc readgoogle_protobuf_OneofDescriptorProto*(stream: ProtobufStream): google_protobuf_OneofDescriptorProto
proc sizeOfgoogle_protobuf_OneofDescriptorProto*(message: google_protobuf_OneofDescriptorProto): uint64
+proc toJson*(message: google_protobuf_OneofDescriptorProto): JsonNode
proc newgoogle_protobuf_DescriptorProto_ReservedRange*(): google_protobuf_DescriptorProto_ReservedRange
proc newgoogle_protobuf_DescriptorProto_ReservedRange*(data: string): google_protobuf_DescriptorProto_ReservedRange
proc writegoogle_protobuf_DescriptorProto_ReservedRange*(stream: ProtobufStream, message: google_protobuf_DescriptorProto_ReservedRange)
proc readgoogle_protobuf_DescriptorProto_ReservedRange*(stream: ProtobufStream): google_protobuf_DescriptorProto_ReservedRange
proc sizeOfgoogle_protobuf_DescriptorProto_ReservedRange*(message: google_protobuf_DescriptorProto_ReservedRange): uint64
+proc toJson*(message: google_protobuf_DescriptorProto_ReservedRange): JsonNode
proc newgoogle_protobuf_DescriptorProto*(): google_protobuf_DescriptorProto
proc newgoogle_protobuf_DescriptorProto*(data: string): google_protobuf_DescriptorProto
proc writegoogle_protobuf_DescriptorProto*(stream: ProtobufStream, message: google_protobuf_DescriptorProto)
proc readgoogle_protobuf_DescriptorProto*(stream: ProtobufStream): google_protobuf_DescriptorProto
proc sizeOfgoogle_protobuf_DescriptorProto*(message: google_protobuf_DescriptorProto): uint64
+proc toJson*(message: google_protobuf_DescriptorProto): JsonNode
proc newgoogle_protobuf_FileOptions*(): google_protobuf_FileOptions
proc newgoogle_protobuf_FileOptions*(data: string): google_protobuf_FileOptions
proc writegoogle_protobuf_FileOptions*(stream: ProtobufStream, message: google_protobuf_FileOptions)
proc readgoogle_protobuf_FileOptions*(stream: ProtobufStream): google_protobuf_FileOptions
proc sizeOfgoogle_protobuf_FileOptions*(message: google_protobuf_FileOptions): uint64
+proc toJson*(message: google_protobuf_FileOptions): JsonNode
proc newgoogle_protobuf_ServiceOptions*(): google_protobuf_ServiceOptions
proc newgoogle_protobuf_ServiceOptions*(data: string): google_protobuf_ServiceOptions
proc writegoogle_protobuf_ServiceOptions*(stream: ProtobufStream, message: google_protobuf_ServiceOptions)
proc readgoogle_protobuf_ServiceOptions*(stream: ProtobufStream): google_protobuf_ServiceOptions
proc sizeOfgoogle_protobuf_ServiceOptions*(message: google_protobuf_ServiceOptions): uint64
+proc toJson*(message: google_protobuf_ServiceOptions): JsonNode
proc newgoogle_protobuf_MethodOptions*(): google_protobuf_MethodOptions
proc newgoogle_protobuf_MethodOptions*(data: string): google_protobuf_MethodOptions
proc writegoogle_protobuf_MethodOptions*(stream: ProtobufStream, message: google_protobuf_MethodOptions)
proc readgoogle_protobuf_MethodOptions*(stream: ProtobufStream): google_protobuf_MethodOptions
proc sizeOfgoogle_protobuf_MethodOptions*(message: google_protobuf_MethodOptions): uint64
+proc toJson*(message: google_protobuf_MethodOptions): JsonNode
proc newgoogle_protobuf_MethodDescriptorProto*(): google_protobuf_MethodDescriptorProto
proc newgoogle_protobuf_MethodDescriptorProto*(data: string): google_protobuf_MethodDescriptorProto
proc writegoogle_protobuf_MethodDescriptorProto*(stream: ProtobufStream, message: google_protobuf_MethodDescriptorProto)
proc readgoogle_protobuf_MethodDescriptorProto*(stream: ProtobufStream): google_protobuf_MethodDescriptorProto
proc sizeOfgoogle_protobuf_MethodDescriptorProto*(message: google_protobuf_MethodDescriptorProto): uint64
+proc toJson*(message: google_protobuf_MethodDescriptorProto): JsonNode
proc newgoogle_protobuf_ServiceDescriptorProto*(): google_protobuf_ServiceDescriptorProto
proc newgoogle_protobuf_ServiceDescriptorProto*(data: string): google_protobuf_ServiceDescriptorProto
proc writegoogle_protobuf_ServiceDescriptorProto*(stream: ProtobufStream, message: google_protobuf_ServiceDescriptorProto)
proc readgoogle_protobuf_ServiceDescriptorProto*(stream: ProtobufStream): google_protobuf_ServiceDescriptorProto
proc sizeOfgoogle_protobuf_ServiceDescriptorProto*(message: google_protobuf_ServiceDescriptorProto): uint64
+proc toJson*(message: google_protobuf_ServiceDescriptorProto): JsonNode
proc newgoogle_protobuf_FileDescriptorProto*(): google_protobuf_FileDescriptorProto
proc newgoogle_protobuf_FileDescriptorProto*(data: string): google_protobuf_FileDescriptorProto
proc writegoogle_protobuf_FileDescriptorProto*(stream: ProtobufStream, message: google_protobuf_FileDescriptorProto)
proc readgoogle_protobuf_FileDescriptorProto*(stream: ProtobufStream): google_protobuf_FileDescriptorProto
proc sizeOfgoogle_protobuf_FileDescriptorProto*(message: google_protobuf_FileDescriptorProto): uint64
+proc toJson*(message: google_protobuf_FileDescriptorProto): JsonNode
proc newgoogle_protobuf_FileDescriptorSet*(): google_protobuf_FileDescriptorSet
proc newgoogle_protobuf_FileDescriptorSet*(data: string): google_protobuf_FileDescriptorSet
proc writegoogle_protobuf_FileDescriptorSet*(stream: ProtobufStream, message: google_protobuf_FileDescriptorSet)
proc readgoogle_protobuf_FileDescriptorSet*(stream: ProtobufStream): google_protobuf_FileDescriptorSet
proc sizeOfgoogle_protobuf_FileDescriptorSet*(message: google_protobuf_FileDescriptorSet): uint64
+proc toJson*(message: google_protobuf_FileDescriptorSet): JsonNode
proc newgoogle_protobuf_GeneratedCodeInfo_Annotation*(): google_protobuf_GeneratedCodeInfo_Annotation
proc newgoogle_protobuf_GeneratedCodeInfo_Annotation*(data: string): google_protobuf_GeneratedCodeInfo_Annotation
proc writegoogle_protobuf_GeneratedCodeInfo_Annotation*(stream: ProtobufStream, message: google_protobuf_GeneratedCodeInfo_Annotation)
proc readgoogle_protobuf_GeneratedCodeInfo_Annotation*(stream: ProtobufStream): google_protobuf_GeneratedCodeInfo_Annotation
proc sizeOfgoogle_protobuf_GeneratedCodeInfo_Annotation*(message: google_protobuf_GeneratedCodeInfo_Annotation): uint64
+proc toJson*(message: google_protobuf_GeneratedCodeInfo_Annotation): JsonNode
proc newgoogle_protobuf_GeneratedCodeInfo*(): google_protobuf_GeneratedCodeInfo
proc newgoogle_protobuf_GeneratedCodeInfo*(data: string): google_protobuf_GeneratedCodeInfo
proc writegoogle_protobuf_GeneratedCodeInfo*(stream: ProtobufStream, message: google_protobuf_GeneratedCodeInfo)
proc readgoogle_protobuf_GeneratedCodeInfo*(stream: ProtobufStream): google_protobuf_GeneratedCodeInfo
proc sizeOfgoogle_protobuf_GeneratedCodeInfo*(message: google_protobuf_GeneratedCodeInfo): uint64
+proc toJson*(message: google_protobuf_GeneratedCodeInfo): JsonNode
proc newgoogle_protobuf_UninterpretedOption_NamePart*(): google_protobuf_UninterpretedOption_NamePart =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name_part = ""
result.is_extension = false
proc clearname_part*(message: google_protobuf_UninterpretedOption_NamePart) =
message.name_part = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname_part*(message: google_protobuf_UninterpretedOption_NamePart): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname_part*(message: google_protobuf_UninterpretedOption_NamePart, value: string) =
message.name_part = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name_part*(message: google_protobuf_UninterpretedOption_NamePart): string {.inline.} =
message.name_part
@@ -463,14 +438,14 @@ proc `name_part=`*(message: google_protobuf_UninterpretedOption_NamePart, value:
proc clearis_extension*(message: google_protobuf_UninterpretedOption_NamePart) =
message.is_extension = false
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasis_extension*(message: google_protobuf_UninterpretedOption_NamePart): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setis_extension*(message: google_protobuf_UninterpretedOption_NamePart, value: bool) =
message.is_extension = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc is_extension*(message: google_protobuf_UninterpretedOption_NamePart): bool {.inline.} =
message.is_extension
@@ -485,13 +460,14 @@ proc sizeOfgoogle_protobuf_UninterpretedOption_NamePart*(message: google_protobu
if hasis_extension(message):
result = result + sizeOfTag(2, WireType.Varint)
result = result + sizeOfBool(message.is_extension)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_UninterpretedOption_NamePart*(stream: ProtobufStream, message: google_protobuf_UninterpretedOption_NamePart) =
if hasname_part(message):
writeString(stream, message.name_part, 1)
if hasis_extension(message):
writeBool(stream, message.is_extension, 2)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_UninterpretedOption_NamePart*(stream: ProtobufStream): google_protobuf_UninterpretedOption_NamePart =
result = newgoogle_protobuf_UninterpretedOption_NamePart()
@@ -508,7 +484,14 @@ proc readgoogle_protobuf_UninterpretedOption_NamePart*(stream: ProtobufStream):
of 2:
expectWireType(wireType, WireType.Varint)
setis_extension(result, readBool(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_UninterpretedOption_NamePart): JsonNode =
+ result = newJObject()
+ if hasname_part(message):
+ result["namePart"] = %message.name_part
+ if hasis_extension(message):
+ result["isExtension"] = %message.is_extension
proc serialize*(message: google_protobuf_UninterpretedOption_NamePart): string =
let
@@ -526,8 +509,7 @@ proc newgoogle_protobuf_UninterpretedOption_NamePart*(data: string): google_prot
proc newgoogle_protobuf_UninterpretedOption*(): google_protobuf_UninterpretedOption =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = @[]
result.identifier_value = ""
result.positive_int_value = 0
@@ -538,18 +520,18 @@ proc newgoogle_protobuf_UninterpretedOption*(): google_protobuf_UninterpretedOpt
proc clearname*(message: google_protobuf_UninterpretedOption) =
message.name = @[]
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasname*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 2) or (len(message.name) > 0)
+ result = hasField(message, 2) or (len(message.name) > 0)
proc setname*(message: google_protobuf_UninterpretedOption, value: seq[google_protobuf_UninterpretedOption_NamePart]) =
message.name = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc addname*(message: google_protobuf_UninterpretedOption, value: google_protobuf_UninterpretedOption_NamePart) =
add(message.name, value)
- incl(message.hasField, 2)
+ setField(message, 2)
proc name*(message: google_protobuf_UninterpretedOption): seq[google_protobuf_UninterpretedOption_NamePart] {.inline.} =
message.name
@@ -559,14 +541,14 @@ proc `name=`*(message: google_protobuf_UninterpretedOption, value: seq[google_pr
proc clearidentifier_value*(message: google_protobuf_UninterpretedOption) =
message.identifier_value = ""
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasidentifier_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setidentifier_value*(message: google_protobuf_UninterpretedOption, value: string) =
message.identifier_value = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc identifier_value*(message: google_protobuf_UninterpretedOption): string {.inline.} =
message.identifier_value
@@ -576,14 +558,14 @@ proc `identifier_value=`*(message: google_protobuf_UninterpretedOption, value: s
proc clearpositive_int_value*(message: google_protobuf_UninterpretedOption) =
message.positive_int_value = 0
- excl(message.hasField, [4])
+ clearFields(message, [4])
proc haspositive_int_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 4)
+ result = hasField(message, 4)
proc setpositive_int_value*(message: google_protobuf_UninterpretedOption, value: uint64) =
message.positive_int_value = value
- incl(message.hasField, 4)
+ setField(message, 4)
proc positive_int_value*(message: google_protobuf_UninterpretedOption): uint64 {.inline.} =
message.positive_int_value
@@ -593,14 +575,14 @@ proc `positive_int_value=`*(message: google_protobuf_UninterpretedOption, value:
proc clearnegative_int_value*(message: google_protobuf_UninterpretedOption) =
message.negative_int_value = 0
- excl(message.hasField, [5])
+ clearFields(message, [5])
proc hasnegative_int_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 5)
+ result = hasField(message, 5)
proc setnegative_int_value*(message: google_protobuf_UninterpretedOption, value: int64) =
message.negative_int_value = value
- incl(message.hasField, 5)
+ setField(message, 5)
proc negative_int_value*(message: google_protobuf_UninterpretedOption): int64 {.inline.} =
message.negative_int_value
@@ -610,14 +592,14 @@ proc `negative_int_value=`*(message: google_protobuf_UninterpretedOption, value:
proc cleardouble_value*(message: google_protobuf_UninterpretedOption) =
message.double_value = 0
- excl(message.hasField, [6])
+ clearFields(message, [6])
proc hasdouble_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 6)
+ result = hasField(message, 6)
proc setdouble_value*(message: google_protobuf_UninterpretedOption, value: float64) =
message.double_value = value
- incl(message.hasField, 6)
+ setField(message, 6)
proc double_value*(message: google_protobuf_UninterpretedOption): float64 {.inline.} =
message.double_value
@@ -627,14 +609,14 @@ proc `double_value=`*(message: google_protobuf_UninterpretedOption, value: float
proc clearstring_value*(message: google_protobuf_UninterpretedOption) =
message.string_value = bytes("")
- excl(message.hasField, [7])
+ clearFields(message, [7])
proc hasstring_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 7)
+ result = hasField(message, 7)
proc setstring_value*(message: google_protobuf_UninterpretedOption, value: bytes) =
message.string_value = value
- incl(message.hasField, 7)
+ setField(message, 7)
proc string_value*(message: google_protobuf_UninterpretedOption): bytes {.inline.} =
message.string_value
@@ -644,14 +626,14 @@ proc `string_value=`*(message: google_protobuf_UninterpretedOption, value: bytes
proc clearaggregate_value*(message: google_protobuf_UninterpretedOption) =
message.aggregate_value = ""
- excl(message.hasField, [8])
+ clearFields(message, [8])
proc hasaggregate_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 8)
+ result = hasField(message, 8)
proc setaggregate_value*(message: google_protobuf_UninterpretedOption, value: string) =
message.aggregate_value = value
- incl(message.hasField, 8)
+ setField(message, 8)
proc aggregate_value*(message: google_protobuf_UninterpretedOption): string {.inline.} =
message.aggregate_value
@@ -681,6 +663,7 @@ proc sizeOfgoogle_protobuf_UninterpretedOption*(message: google_protobuf_Uninter
if hasaggregate_value(message):
result = result + sizeOfTag(8, WireType.LengthDelimited)
result = result + sizeOfString(message.aggregate_value)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_UninterpretedOption*(stream: ProtobufStream, message: google_protobuf_UninterpretedOption) =
for value in message.name:
@@ -697,7 +680,7 @@ proc writegoogle_protobuf_UninterpretedOption*(stream: ProtobufStream, message:
writeBytes(stream, message.string_value, 7)
if hasaggregate_value(message):
writeString(stream, message.aggregate_value, 8)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_UninterpretedOption*(stream: ProtobufStream): google_protobuf_UninterpretedOption =
result = newgoogle_protobuf_UninterpretedOption()
@@ -730,7 +713,27 @@ proc readgoogle_protobuf_UninterpretedOption*(stream: ProtobufStream): google_pr
of 8:
expectWireType(wireType, WireType.LengthDelimited)
setaggregate_value(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_UninterpretedOption): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ let arr = newJArray()
+ for value in message.name:
+ add(arr, toJson(value))
+ result["name"] = arr
+ if hasidentifier_value(message):
+ result["identifierValue"] = %message.identifier_value
+ if haspositive_int_value(message):
+ result["positiveIntValue"] = toJson(message.positive_int_value)
+ if hasnegative_int_value(message):
+ result["negativeIntValue"] = toJson(message.negative_int_value)
+ if hasdouble_value(message):
+ result["doubleValue"] = toJson(message.double_value)
+ if hasstring_value(message):
+ result["stringValue"] = %message.string_value
+ if hasaggregate_value(message):
+ result["aggregateValue"] = %message.aggregate_value
proc serialize*(message: google_protobuf_UninterpretedOption): string =
let
@@ -748,21 +751,20 @@ proc newgoogle_protobuf_UninterpretedOption*(data: string): google_protobuf_Unin
proc newgoogle_protobuf_EnumValueOptions*(): google_protobuf_EnumValueOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.deprecated = false
result.uninterpreted_option = @[]
proc cleardeprecated*(message: google_protobuf_EnumValueOptions) =
message.deprecated = false
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasdeprecated*(message: google_protobuf_EnumValueOptions): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setdeprecated*(message: google_protobuf_EnumValueOptions, value: bool) =
message.deprecated = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc deprecated*(message: google_protobuf_EnumValueOptions): bool {.inline.} =
message.deprecated
@@ -772,18 +774,18 @@ proc `deprecated=`*(message: google_protobuf_EnumValueOptions, value: bool) {.in
proc clearuninterpreted_option*(message: google_protobuf_EnumValueOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_EnumValueOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_EnumValueOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_EnumValueOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_EnumValueOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -798,13 +800,14 @@ proc sizeOfgoogle_protobuf_EnumValueOptions*(message: google_protobuf_EnumValueO
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_EnumValueOptions*(stream: ProtobufStream, message: google_protobuf_EnumValueOptions) =
if hasdeprecated(message):
writeBool(stream, message.deprecated, 1)
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_EnumValueOptions*(stream: ProtobufStream): google_protobuf_EnumValueOptions =
result = newgoogle_protobuf_EnumValueOptions()
@@ -822,7 +825,17 @@ proc readgoogle_protobuf_EnumValueOptions*(stream: ProtobufStream): google_proto
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_EnumValueOptions): JsonNode =
+ result = newJObject()
+ if hasdeprecated(message):
+ result["deprecated"] = %message.deprecated
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_EnumValueOptions): string =
let
@@ -840,22 +853,21 @@ proc newgoogle_protobuf_EnumValueOptions*(data: string): google_protobuf_EnumVal
proc newgoogle_protobuf_EnumValueDescriptorProto*(): google_protobuf_EnumValueDescriptorProto =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = ""
result.number = 0
result.options = nil
proc clearname*(message: google_protobuf_EnumValueDescriptorProto) =
message.name = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname*(message: google_protobuf_EnumValueDescriptorProto): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname*(message: google_protobuf_EnumValueDescriptorProto, value: string) =
message.name = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name*(message: google_protobuf_EnumValueDescriptorProto): string {.inline.} =
message.name
@@ -865,14 +877,14 @@ proc `name=`*(message: google_protobuf_EnumValueDescriptorProto, value: string)
proc clearnumber*(message: google_protobuf_EnumValueDescriptorProto) =
message.number = 0
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasnumber*(message: google_protobuf_EnumValueDescriptorProto): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setnumber*(message: google_protobuf_EnumValueDescriptorProto, value: int32) =
message.number = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc number*(message: google_protobuf_EnumValueDescriptorProto): int32 {.inline.} =
message.number
@@ -882,14 +894,14 @@ proc `number=`*(message: google_protobuf_EnumValueDescriptorProto, value: int32)
proc clearoptions*(message: google_protobuf_EnumValueDescriptorProto) =
message.options = nil
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasoptions*(message: google_protobuf_EnumValueDescriptorProto): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setoptions*(message: google_protobuf_EnumValueDescriptorProto, value: google_protobuf_EnumValueOptions) =
message.options = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc options*(message: google_protobuf_EnumValueDescriptorProto): google_protobuf_EnumValueOptions {.inline.} =
message.options
@@ -907,6 +919,7 @@ proc sizeOfgoogle_protobuf_EnumValueDescriptorProto*(message: google_protobuf_En
if hasoptions(message):
result = result + sizeOfTag(3, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_EnumValueOptions(message.options))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_EnumValueDescriptorProto*(stream: ProtobufStream, message: google_protobuf_EnumValueDescriptorProto) =
if hasname(message):
@@ -915,7 +928,7 @@ proc writegoogle_protobuf_EnumValueDescriptorProto*(stream: ProtobufStream, mess
writeInt32(stream, message.number, 2)
if hasoptions(message):
writeMessage(stream, message.options, 3)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_EnumValueDescriptorProto*(stream: ProtobufStream): google_protobuf_EnumValueDescriptorProto =
result = newgoogle_protobuf_EnumValueDescriptorProto()
@@ -936,7 +949,16 @@ proc readgoogle_protobuf_EnumValueDescriptorProto*(stream: ProtobufStream): goog
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
setoptions(result, newgoogle_protobuf_EnumValueOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_EnumValueDescriptorProto): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ result["name"] = %message.name
+ if hasnumber(message):
+ result["number"] = %message.number
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
proc serialize*(message: google_protobuf_EnumValueDescriptorProto): string =
let
@@ -954,21 +976,20 @@ proc newgoogle_protobuf_EnumValueDescriptorProto*(data: string): google_protobuf
proc newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(): google_protobuf_EnumDescriptorProto_EnumReservedRange =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.start = 0
result.fend = 0
proc clearstart*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange) =
message.start = 0
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasstart*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setstart*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange, value: int32) =
message.start = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc start*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): int32 {.inline.} =
message.start
@@ -978,14 +999,14 @@ proc `start=`*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange, v
proc clearfend*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange) =
message.fend = 0
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasfend*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setfend*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange, value: int32) =
message.fend = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc fend*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): int32 {.inline.} =
message.fend
@@ -1000,13 +1021,14 @@ proc sizeOfgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(message: googl
if hasfend(message):
result = result + sizeOfTag(2, WireType.Varint)
result = result + sizeOfInt32(message.fend)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(stream: ProtobufStream, message: google_protobuf_EnumDescriptorProto_EnumReservedRange) =
if hasstart(message):
writeInt32(stream, message.start, 1)
if hasfend(message):
writeInt32(stream, message.fend, 2)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(stream: ProtobufStream): google_protobuf_EnumDescriptorProto_EnumReservedRange =
result = newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange()
@@ -1023,7 +1045,14 @@ proc readgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(stream: Protobuf
of 2:
expectWireType(wireType, WireType.Varint)
setfend(result, readInt32(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): JsonNode =
+ result = newJObject()
+ if hasstart(message):
+ result["start"] = %message.start
+ if hasfend(message):
+ result["end"] = %message.fend
proc serialize*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): string =
let
@@ -1041,22 +1070,21 @@ proc newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(data: string): go
proc newgoogle_protobuf_EnumOptions*(): google_protobuf_EnumOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.allow_alias = false
result.deprecated = false
result.uninterpreted_option = @[]
proc clearallow_alias*(message: google_protobuf_EnumOptions) =
message.allow_alias = false
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasallow_alias*(message: google_protobuf_EnumOptions): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setallow_alias*(message: google_protobuf_EnumOptions, value: bool) =
message.allow_alias = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc allow_alias*(message: google_protobuf_EnumOptions): bool {.inline.} =
message.allow_alias
@@ -1066,14 +1094,14 @@ proc `allow_alias=`*(message: google_protobuf_EnumOptions, value: bool) {.inline
proc cleardeprecated*(message: google_protobuf_EnumOptions) =
message.deprecated = false
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasdeprecated*(message: google_protobuf_EnumOptions): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setdeprecated*(message: google_protobuf_EnumOptions, value: bool) =
message.deprecated = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc deprecated*(message: google_protobuf_EnumOptions): bool {.inline.} =
message.deprecated
@@ -1083,18 +1111,18 @@ proc `deprecated=`*(message: google_protobuf_EnumOptions, value: bool) {.inline.
proc clearuninterpreted_option*(message: google_protobuf_EnumOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_EnumOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_EnumOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_EnumOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_EnumOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -1112,6 +1140,7 @@ proc sizeOfgoogle_protobuf_EnumOptions*(message: google_protobuf_EnumOptions): u
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_EnumOptions*(stream: ProtobufStream, message: google_protobuf_EnumOptions) =
if hasallow_alias(message):
@@ -1120,7 +1149,7 @@ proc writegoogle_protobuf_EnumOptions*(stream: ProtobufStream, message: google_p
writeBool(stream, message.deprecated, 3)
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_EnumOptions*(stream: ProtobufStream): google_protobuf_EnumOptions =
result = newgoogle_protobuf_EnumOptions()
@@ -1141,7 +1170,19 @@ proc readgoogle_protobuf_EnumOptions*(stream: ProtobufStream): google_protobuf_E
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_EnumOptions): JsonNode =
+ result = newJObject()
+ if hasallow_alias(message):
+ result["allowAlias"] = %message.allow_alias
+ if hasdeprecated(message):
+ result["deprecated"] = %message.deprecated
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_EnumOptions): string =
let
@@ -1159,8 +1200,7 @@ proc newgoogle_protobuf_EnumOptions*(data: string): google_protobuf_EnumOptions
proc newgoogle_protobuf_EnumDescriptorProto*(): google_protobuf_EnumDescriptorProto =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = ""
result.value = @[]
result.options = nil
@@ -1169,14 +1209,14 @@ proc newgoogle_protobuf_EnumDescriptorProto*(): google_protobuf_EnumDescriptorPr
proc clearname*(message: google_protobuf_EnumDescriptorProto) =
message.name = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname*(message: google_protobuf_EnumDescriptorProto, value: string) =
message.name = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name*(message: google_protobuf_EnumDescriptorProto): string {.inline.} =
message.name
@@ -1186,18 +1226,18 @@ proc `name=`*(message: google_protobuf_EnumDescriptorProto, value: string) {.inl
proc clearvalue*(message: google_protobuf_EnumDescriptorProto) =
message.value = @[]
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasvalue*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 2) or (len(message.value) > 0)
+ result = hasField(message, 2) or (len(message.value) > 0)
proc setvalue*(message: google_protobuf_EnumDescriptorProto, value: seq[google_protobuf_EnumValueDescriptorProto]) =
message.value = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc addvalue*(message: google_protobuf_EnumDescriptorProto, value: google_protobuf_EnumValueDescriptorProto) =
add(message.value, value)
- incl(message.hasField, 2)
+ setField(message, 2)
proc value*(message: google_protobuf_EnumDescriptorProto): seq[google_protobuf_EnumValueDescriptorProto] {.inline.} =
message.value
@@ -1207,14 +1247,14 @@ proc `value=`*(message: google_protobuf_EnumDescriptorProto, value: seq[google_p
proc clearoptions*(message: google_protobuf_EnumDescriptorProto) =
message.options = nil
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasoptions*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setoptions*(message: google_protobuf_EnumDescriptorProto, value: google_protobuf_EnumOptions) =
message.options = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc options*(message: google_protobuf_EnumDescriptorProto): google_protobuf_EnumOptions {.inline.} =
message.options
@@ -1224,18 +1264,18 @@ proc `options=`*(message: google_protobuf_EnumDescriptorProto, value: google_pro
proc clearreserved_range*(message: google_protobuf_EnumDescriptorProto) =
message.reserved_range = @[]
- excl(message.hasField, [4])
+ clearFields(message, [4])
proc hasreserved_range*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 4) or (len(message.reserved_range) > 0)
+ result = hasField(message, 4) or (len(message.reserved_range) > 0)
proc setreserved_range*(message: google_protobuf_EnumDescriptorProto, value: seq[google_protobuf_EnumDescriptorProto_EnumReservedRange]) =
message.reserved_range = value
- incl(message.hasField, 4)
+ setField(message, 4)
proc addreserved_range*(message: google_protobuf_EnumDescriptorProto, value: google_protobuf_EnumDescriptorProto_EnumReservedRange) =
add(message.reserved_range, value)
- incl(message.hasField, 4)
+ setField(message, 4)
proc reserved_range*(message: google_protobuf_EnumDescriptorProto): seq[google_protobuf_EnumDescriptorProto_EnumReservedRange] {.inline.} =
message.reserved_range
@@ -1245,18 +1285,18 @@ proc `reserved_range=`*(message: google_protobuf_EnumDescriptorProto, value: seq
proc clearreserved_name*(message: google_protobuf_EnumDescriptorProto) =
message.reserved_name = @[]
- excl(message.hasField, [5])
+ clearFields(message, [5])
proc hasreserved_name*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 5) or (len(message.reserved_name) > 0)
+ result = hasField(message, 5) or (len(message.reserved_name) > 0)
proc setreserved_name*(message: google_protobuf_EnumDescriptorProto, value: seq[string]) =
message.reserved_name = value
- incl(message.hasField, 5)
+ setField(message, 5)
proc addreserved_name*(message: google_protobuf_EnumDescriptorProto, value: string) =
add(message.reserved_name, value)
- incl(message.hasField, 5)
+ setField(message, 5)
proc reserved_name*(message: google_protobuf_EnumDescriptorProto): seq[string] {.inline.} =
message.reserved_name
@@ -1280,6 +1320,7 @@ proc sizeOfgoogle_protobuf_EnumDescriptorProto*(message: google_protobuf_EnumDes
for value in message.reserved_name:
result = result + sizeOfTag(5, WireType.LengthDelimited)
result = result + sizeOfString(value)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_EnumDescriptorProto*(stream: ProtobufStream, message: google_protobuf_EnumDescriptorProto) =
if hasname(message):
@@ -1292,7 +1333,7 @@ proc writegoogle_protobuf_EnumDescriptorProto*(stream: ProtobufStream, message:
writeMessage(stream, value, 4)
for value in message.reserved_name:
writeString(stream, value, 5)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_EnumDescriptorProto*(stream: ProtobufStream): google_protobuf_EnumDescriptorProto =
result = newgoogle_protobuf_EnumDescriptorProto()
@@ -1321,7 +1362,29 @@ proc readgoogle_protobuf_EnumDescriptorProto*(stream: ProtobufStream): google_pr
of 5:
expectWireType(wireType, WireType.LengthDelimited)
addreserved_name(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_EnumDescriptorProto): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ result["name"] = %message.name
+ if hasvalue(message):
+ let arr = newJArray()
+ for value in message.value:
+ add(arr, toJson(value))
+ result["value"] = arr
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
+ if hasreserved_range(message):
+ let arr = newJArray()
+ for value in message.reserved_range:
+ add(arr, toJson(value))
+ result["reservedRange"] = arr
+ if hasreserved_name(message):
+ let arr = newJArray()
+ for value in message.reserved_name:
+ add(arr, %value)
+ result["reservedName"] = arr
proc serialize*(message: google_protobuf_EnumDescriptorProto): string =
let
@@ -1339,24 +1402,23 @@ proc newgoogle_protobuf_EnumDescriptorProto*(data: string): google_protobuf_Enum
proc newgoogle_protobuf_ExtensionRangeOptions*(): google_protobuf_ExtensionRangeOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.uninterpreted_option = @[]
proc clearuninterpreted_option*(message: google_protobuf_ExtensionRangeOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_ExtensionRangeOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_ExtensionRangeOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_ExtensionRangeOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_ExtensionRangeOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -1368,11 +1430,12 @@ proc sizeOfgoogle_protobuf_ExtensionRangeOptions*(message: google_protobuf_Exten
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_ExtensionRangeOptions*(stream: ProtobufStream, message: google_protobuf_ExtensionRangeOptions) =
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_ExtensionRangeOptions*(stream: ProtobufStream): google_protobuf_ExtensionRangeOptions =
result = newgoogle_protobuf_ExtensionRangeOptions()
@@ -1387,7 +1450,15 @@ proc readgoogle_protobuf_ExtensionRangeOptions*(stream: ProtobufStream): google_
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_ExtensionRangeOptions): JsonNode =
+ result = newJObject()
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_ExtensionRangeOptions): string =
let
@@ -1405,8 +1476,7 @@ proc newgoogle_protobuf_ExtensionRangeOptions*(data: string): google_protobuf_Ex
proc newgoogle_protobuf_SourceCodeInfo_Location*(): google_protobuf_SourceCodeInfo_Location =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.path = @[]
result.span = @[]
result.leading_comments = ""
@@ -1415,18 +1485,18 @@ proc newgoogle_protobuf_SourceCodeInfo_Location*(): google_protobuf_SourceCodeIn
proc clearpath*(message: google_protobuf_SourceCodeInfo_Location) =
message.path = @[]
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc haspath*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 1) or (len(message.path) > 0)
+ result = hasField(message, 1) or (len(message.path) > 0)
proc setpath*(message: google_protobuf_SourceCodeInfo_Location, value: seq[int32]) =
message.path = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc addpath*(message: google_protobuf_SourceCodeInfo_Location, value: int32) =
add(message.path, value)
- incl(message.hasField, 1)
+ setField(message, 1)
proc path*(message: google_protobuf_SourceCodeInfo_Location): seq[int32] {.inline.} =
message.path
@@ -1436,18 +1506,18 @@ proc `path=`*(message: google_protobuf_SourceCodeInfo_Location, value: seq[int32
proc clearspan*(message: google_protobuf_SourceCodeInfo_Location) =
message.span = @[]
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasspan*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 2) or (len(message.span) > 0)
+ result = hasField(message, 2) or (len(message.span) > 0)
proc setspan*(message: google_protobuf_SourceCodeInfo_Location, value: seq[int32]) =
message.span = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc addspan*(message: google_protobuf_SourceCodeInfo_Location, value: int32) =
add(message.span, value)
- incl(message.hasField, 2)
+ setField(message, 2)
proc span*(message: google_protobuf_SourceCodeInfo_Location): seq[int32] {.inline.} =
message.span
@@ -1457,14 +1527,14 @@ proc `span=`*(message: google_protobuf_SourceCodeInfo_Location, value: seq[int32
proc clearleading_comments*(message: google_protobuf_SourceCodeInfo_Location) =
message.leading_comments = ""
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasleading_comments*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setleading_comments*(message: google_protobuf_SourceCodeInfo_Location, value: string) =
message.leading_comments = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc leading_comments*(message: google_protobuf_SourceCodeInfo_Location): string {.inline.} =
message.leading_comments
@@ -1474,14 +1544,14 @@ proc `leading_comments=`*(message: google_protobuf_SourceCodeInfo_Location, valu
proc cleartrailing_comments*(message: google_protobuf_SourceCodeInfo_Location) =
message.trailing_comments = ""
- excl(message.hasField, [4])
+ clearFields(message, [4])
proc hastrailing_comments*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 4)
+ result = hasField(message, 4)
proc settrailing_comments*(message: google_protobuf_SourceCodeInfo_Location, value: string) =
message.trailing_comments = value
- incl(message.hasField, 4)
+ setField(message, 4)
proc trailing_comments*(message: google_protobuf_SourceCodeInfo_Location): string {.inline.} =
message.trailing_comments
@@ -1491,18 +1561,18 @@ proc `trailing_comments=`*(message: google_protobuf_SourceCodeInfo_Location, val
proc clearleading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location) =
message.leading_detached_comments = @[]
- excl(message.hasField, [6])
+ clearFields(message, [6])
proc hasleading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 6) or (len(message.leading_detached_comments) > 0)
+ result = hasField(message, 6) or (len(message.leading_detached_comments) > 0)
proc setleading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location, value: seq[string]) =
message.leading_detached_comments = value
- incl(message.hasField, 6)
+ setField(message, 6)
proc addleading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location, value: string) =
add(message.leading_detached_comments, value)
- incl(message.hasField, 6)
+ setField(message, 6)
proc leading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location): seq[string] {.inline.} =
message.leading_detached_comments
@@ -1526,6 +1596,7 @@ proc sizeOfgoogle_protobuf_SourceCodeInfo_Location*(message: google_protobuf_Sou
for value in message.leading_detached_comments:
result = result + sizeOfTag(6, WireType.LengthDelimited)
result = result + sizeOfString(value)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_SourceCodeInfo_Location*(stream: ProtobufStream, message: google_protobuf_SourceCodeInfo_Location) =
if haspath(message):
@@ -1544,7 +1615,7 @@ proc writegoogle_protobuf_SourceCodeInfo_Location*(stream: ProtobufStream, messa
writeString(stream, message.trailing_comments, 4)
for value in message.leading_detached_comments:
writeString(stream, value, 6)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_SourceCodeInfo_Location*(stream: ProtobufStream): google_protobuf_SourceCodeInfo_Location =
result = newgoogle_protobuf_SourceCodeInfo_Location()
@@ -1592,7 +1663,29 @@ proc readgoogle_protobuf_SourceCodeInfo_Location*(stream: ProtobufStream): googl
of 6:
expectWireType(wireType, WireType.LengthDelimited)
addleading_detached_comments(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_SourceCodeInfo_Location): JsonNode =
+ result = newJObject()
+ if haspath(message):
+ let arr = newJArray()
+ for value in message.path:
+ add(arr, %value)
+ result["path"] = arr
+ if hasspan(message):
+ let arr = newJArray()
+ for value in message.span:
+ add(arr, %value)
+ result["span"] = arr
+ if hasleading_comments(message):
+ result["leadingComments"] = %message.leading_comments
+ if hastrailing_comments(message):
+ result["trailingComments"] = %message.trailing_comments
+ if hasleading_detached_comments(message):
+ let arr = newJArray()
+ for value in message.leading_detached_comments:
+ add(arr, %value)
+ result["leadingDetachedComments"] = arr
proc serialize*(message: google_protobuf_SourceCodeInfo_Location): string =
let
@@ -1610,24 +1703,23 @@ proc newgoogle_protobuf_SourceCodeInfo_Location*(data: string): google_protobuf_
proc newgoogle_protobuf_SourceCodeInfo*(): google_protobuf_SourceCodeInfo =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.location = @[]
proc clearlocation*(message: google_protobuf_SourceCodeInfo) =
message.location = @[]
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc haslocation*(message: google_protobuf_SourceCodeInfo): bool =
- result = contains(message.hasField, 1) or (len(message.location) > 0)
+ result = hasField(message, 1) or (len(message.location) > 0)
proc setlocation*(message: google_protobuf_SourceCodeInfo, value: seq[google_protobuf_SourceCodeInfo_Location]) =
message.location = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc addlocation*(message: google_protobuf_SourceCodeInfo, value: google_protobuf_SourceCodeInfo_Location) =
add(message.location, value)
- incl(message.hasField, 1)
+ setField(message, 1)
proc location*(message: google_protobuf_SourceCodeInfo): seq[google_protobuf_SourceCodeInfo_Location] {.inline.} =
message.location
@@ -1639,11 +1731,12 @@ proc sizeOfgoogle_protobuf_SourceCodeInfo*(message: google_protobuf_SourceCodeIn
for value in message.location:
result = result + sizeOfTag(1, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_SourceCodeInfo_Location(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_SourceCodeInfo*(stream: ProtobufStream, message: google_protobuf_SourceCodeInfo) =
for value in message.location:
writeMessage(stream, value, 1)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_SourceCodeInfo*(stream: ProtobufStream): google_protobuf_SourceCodeInfo =
result = newgoogle_protobuf_SourceCodeInfo()
@@ -1658,7 +1751,15 @@ proc readgoogle_protobuf_SourceCodeInfo*(stream: ProtobufStream): google_protobu
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
addlocation(result, newgoogle_protobuf_SourceCodeInfo_Location(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_SourceCodeInfo): JsonNode =
+ result = newJObject()
+ if haslocation(message):
+ let arr = newJArray()
+ for value in message.location:
+ add(arr, toJson(value))
+ result["location"] = arr
proc serialize*(message: google_protobuf_SourceCodeInfo): string =
let
@@ -1676,8 +1777,7 @@ proc newgoogle_protobuf_SourceCodeInfo*(data: string): google_protobuf_SourceCod
proc newgoogle_protobuf_FieldOptions*(): google_protobuf_FieldOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.ctype = google_protobuf_FieldOptions_CType.STRING
result.packed = false
result.jstype = google_protobuf_FieldOptions_JSType.JS_NORMAL
@@ -1688,14 +1788,14 @@ proc newgoogle_protobuf_FieldOptions*(): google_protobuf_FieldOptions =
proc clearctype*(message: google_protobuf_FieldOptions) =
message.ctype = google_protobuf_FieldOptions_CType.STRING
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasctype*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setctype*(message: google_protobuf_FieldOptions, value: google_protobuf_FieldOptions_CType) =
message.ctype = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc ctype*(message: google_protobuf_FieldOptions): google_protobuf_FieldOptions_CType {.inline.} =
message.ctype
@@ -1705,14 +1805,14 @@ proc `ctype=`*(message: google_protobuf_FieldOptions, value: google_protobuf_Fie
proc clearpacked*(message: google_protobuf_FieldOptions) =
message.packed = false
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc haspacked*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setpacked*(message: google_protobuf_FieldOptions, value: bool) =
message.packed = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc packed*(message: google_protobuf_FieldOptions): bool {.inline.} =
message.packed
@@ -1722,14 +1822,14 @@ proc `packed=`*(message: google_protobuf_FieldOptions, value: bool) {.inline.} =
proc clearjstype*(message: google_protobuf_FieldOptions) =
message.jstype = google_protobuf_FieldOptions_JSType.JS_NORMAL
- excl(message.hasField, [6])
+ clearFields(message, [6])
proc hasjstype*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 6)
+ result = hasField(message, 6)
proc setjstype*(message: google_protobuf_FieldOptions, value: google_protobuf_FieldOptions_JSType) =
message.jstype = value
- incl(message.hasField, 6)
+ setField(message, 6)
proc jstype*(message: google_protobuf_FieldOptions): google_protobuf_FieldOptions_JSType {.inline.} =
message.jstype
@@ -1739,14 +1839,14 @@ proc `jstype=`*(message: google_protobuf_FieldOptions, value: google_protobuf_Fi
proc clearlazy*(message: google_protobuf_FieldOptions) =
message.lazy = false
- excl(message.hasField, [5])
+ clearFields(message, [5])
proc haslazy*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 5)
+ result = hasField(message, 5)
proc setlazy*(message: google_protobuf_FieldOptions, value: bool) =
message.lazy = value
- incl(message.hasField, 5)
+ setField(message, 5)
proc lazy*(message: google_protobuf_FieldOptions): bool {.inline.} =
message.lazy
@@ -1756,14 +1856,14 @@ proc `lazy=`*(message: google_protobuf_FieldOptions, value: bool) {.inline.} =
proc cleardeprecated*(message: google_protobuf_FieldOptions) =
message.deprecated = false
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasdeprecated*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setdeprecated*(message: google_protobuf_FieldOptions, value: bool) =
message.deprecated = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc deprecated*(message: google_protobuf_FieldOptions): bool {.inline.} =
message.deprecated
@@ -1773,14 +1873,14 @@ proc `deprecated=`*(message: google_protobuf_FieldOptions, value: bool) {.inline
proc clearweak*(message: google_protobuf_FieldOptions) =
message.weak = false
- excl(message.hasField, [10])
+ clearFields(message, [10])
proc hasweak*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 10)
+ result = hasField(message, 10)
proc setweak*(message: google_protobuf_FieldOptions, value: bool) =
message.weak = value
- incl(message.hasField, 10)
+ setField(message, 10)
proc weak*(message: google_protobuf_FieldOptions): bool {.inline.} =
message.weak
@@ -1790,18 +1890,18 @@ proc `weak=`*(message: google_protobuf_FieldOptions, value: bool) {.inline.} =
proc clearuninterpreted_option*(message: google_protobuf_FieldOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_FieldOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_FieldOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_FieldOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -1831,6 +1931,7 @@ proc sizeOfgoogle_protobuf_FieldOptions*(message: google_protobuf_FieldOptions):
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_FieldOptions*(stream: ProtobufStream, message: google_protobuf_FieldOptions) =
if hasctype(message):
@@ -1847,7 +1948,7 @@ proc writegoogle_protobuf_FieldOptions*(stream: ProtobufStream, message: google_
writeBool(stream, message.weak, 10)
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_FieldOptions*(stream: ProtobufStream): google_protobuf_FieldOptions =
result = newgoogle_protobuf_FieldOptions()
@@ -1880,7 +1981,27 @@ proc readgoogle_protobuf_FieldOptions*(stream: ProtobufStream): google_protobuf_
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_FieldOptions): JsonNode =
+ result = newJObject()
+ if hasctype(message):
+ result["ctype"] = %($message.ctype)
+ if haspacked(message):
+ result["packed"] = %message.packed
+ if hasjstype(message):
+ result["jstype"] = %($message.jstype)
+ if haslazy(message):
+ result["lazy"] = %message.lazy
+ if hasdeprecated(message):
+ result["deprecated"] = %message.deprecated
+ if hasweak(message):
+ result["weak"] = %message.weak
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_FieldOptions): string =
let
@@ -1898,8 +2019,7 @@ proc newgoogle_protobuf_FieldOptions*(data: string): google_protobuf_FieldOption
proc newgoogle_protobuf_FieldDescriptorProto*(): google_protobuf_FieldDescriptorProto =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = ""
result.number = 0
result.label = google_protobuf_FieldDescriptorProto_Label.LABEL_OPTIONAL
@@ -1913,14 +2033,14 @@ proc newgoogle_protobuf_FieldDescriptorProto*(): google_protobuf_FieldDescriptor
proc clearname*(message: google_protobuf_FieldDescriptorProto) =
message.name = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname*(message: google_protobuf_FieldDescriptorProto, value: string) =
message.name = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
message.name
@@ -1930,14 +2050,14 @@ proc `name=`*(message: google_protobuf_FieldDescriptorProto, value: string) {.in
proc clearnumber*(message: google_protobuf_FieldDescriptorProto) =
message.number = 0
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasnumber*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setnumber*(message: google_protobuf_FieldDescriptorProto, value: int32) =
message.number = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc number*(message: google_protobuf_FieldDescriptorProto): int32 {.inline.} =
message.number
@@ -1947,14 +2067,14 @@ proc `number=`*(message: google_protobuf_FieldDescriptorProto, value: int32) {.i
proc clearlabel*(message: google_protobuf_FieldDescriptorProto) =
message.label = google_protobuf_FieldDescriptorProto_Label.LABEL_OPTIONAL
- excl(message.hasField, [4])
+ clearFields(message, [4])
proc haslabel*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 4)
+ result = hasField(message, 4)
proc setlabel*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldDescriptorProto_Label) =
message.label = value
- incl(message.hasField, 4)
+ setField(message, 4)
proc label*(message: google_protobuf_FieldDescriptorProto): google_protobuf_FieldDescriptorProto_Label {.inline.} =
message.label
@@ -1964,14 +2084,14 @@ proc `label=`*(message: google_protobuf_FieldDescriptorProto, value: google_prot
proc clearftype*(message: google_protobuf_FieldDescriptorProto) =
message.ftype = google_protobuf_FieldDescriptorProto_Type.TYPE_DOUBLE
- excl(message.hasField, [5])
+ clearFields(message, [5])
proc hasftype*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 5)
+ result = hasField(message, 5)
proc setftype*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldDescriptorProto_Type) =
message.ftype = value
- incl(message.hasField, 5)
+ setField(message, 5)
proc ftype*(message: google_protobuf_FieldDescriptorProto): google_protobuf_FieldDescriptorProto_Type {.inline.} =
message.ftype
@@ -1981,14 +2101,14 @@ proc `ftype=`*(message: google_protobuf_FieldDescriptorProto, value: google_prot
proc cleartype_name*(message: google_protobuf_FieldDescriptorProto) =
message.type_name = ""
- excl(message.hasField, [6])
+ clearFields(message, [6])
proc hastype_name*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 6)
+ result = hasField(message, 6)
proc settype_name*(message: google_protobuf_FieldDescriptorProto, value: string) =
message.type_name = value
- incl(message.hasField, 6)
+ setField(message, 6)
proc type_name*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
message.type_name
@@ -1998,14 +2118,14 @@ proc `type_name=`*(message: google_protobuf_FieldDescriptorProto, value: string)
proc clearextendee*(message: google_protobuf_FieldDescriptorProto) =
message.extendee = ""
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasextendee*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setextendee*(message: google_protobuf_FieldDescriptorProto, value: string) =
message.extendee = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc extendee*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
message.extendee
@@ -2015,14 +2135,14 @@ proc `extendee=`*(message: google_protobuf_FieldDescriptorProto, value: string)
proc cleardefault_value*(message: google_protobuf_FieldDescriptorProto) =
message.default_value = ""
- excl(message.hasField, [7])
+ clearFields(message, [7])
proc hasdefault_value*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 7)
+ result = hasField(message, 7)
proc setdefault_value*(message: google_protobuf_FieldDescriptorProto, value: string) =
message.default_value = value
- incl(message.hasField, 7)
+ setField(message, 7)
proc default_value*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
message.default_value
@@ -2032,14 +2152,14 @@ proc `default_value=`*(message: google_protobuf_FieldDescriptorProto, value: str
proc clearoneof_index*(message: google_protobuf_FieldDescriptorProto) =
message.oneof_index = 0
- excl(message.hasField, [9])
+ clearFields(message, [9])
proc hasoneof_index*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 9)
+ result = hasField(message, 9)
proc setoneof_index*(message: google_protobuf_FieldDescriptorProto, value: int32) =
message.oneof_index = value
- incl(message.hasField, 9)
+ setField(message, 9)
proc oneof_index*(message: google_protobuf_FieldDescriptorProto): int32 {.inline.} =
message.oneof_index
@@ -2049,14 +2169,14 @@ proc `oneof_index=`*(message: google_protobuf_FieldDescriptorProto, value: int32
proc clearjson_name*(message: google_protobuf_FieldDescriptorProto) =
message.json_name = ""
- excl(message.hasField, [10])
+ clearFields(message, [10])
proc hasjson_name*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 10)
+ result = hasField(message, 10)
proc setjson_name*(message: google_protobuf_FieldDescriptorProto, value: string) =
message.json_name = value
- incl(message.hasField, 10)
+ setField(message, 10)
proc json_name*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
message.json_name
@@ -2066,14 +2186,14 @@ proc `json_name=`*(message: google_protobuf_FieldDescriptorProto, value: string)
proc clearoptions*(message: google_protobuf_FieldDescriptorProto) =
message.options = nil
- excl(message.hasField, [8])
+ clearFields(message, [8])
proc hasoptions*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 8)
+ result = hasField(message, 8)
proc setoptions*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldOptions) =
message.options = value
- incl(message.hasField, 8)
+ setField(message, 8)
proc options*(message: google_protobuf_FieldDescriptorProto): google_protobuf_FieldOptions {.inline.} =
message.options
@@ -2112,6 +2232,7 @@ proc sizeOfgoogle_protobuf_FieldDescriptorProto*(message: google_protobuf_FieldD
if hasoptions(message):
result = result + sizeOfTag(8, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_FieldOptions(message.options))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_FieldDescriptorProto*(stream: ProtobufStream, message: google_protobuf_FieldDescriptorProto) =
if hasname(message):
@@ -2134,7 +2255,7 @@ proc writegoogle_protobuf_FieldDescriptorProto*(stream: ProtobufStream, message:
writeString(stream, message.json_name, 10)
if hasoptions(message):
writeMessage(stream, message.options, 8)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_FieldDescriptorProto*(stream: ProtobufStream): google_protobuf_FieldDescriptorProto =
result = newgoogle_protobuf_FieldDescriptorProto()
@@ -2176,7 +2297,30 @@ proc readgoogle_protobuf_FieldDescriptorProto*(stream: ProtobufStream): google_p
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
setoptions(result, newgoogle_protobuf_FieldOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_FieldDescriptorProto): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ result["name"] = %message.name
+ if hasnumber(message):
+ result["number"] = %message.number
+ if haslabel(message):
+ result["label"] = %($message.label)
+ if hasftype(message):
+ result["type"] = %($message.ftype)
+ if hastype_name(message):
+ result["typeName"] = %message.type_name
+ if hasextendee(message):
+ result["extendee"] = %message.extendee
+ if hasdefault_value(message):
+ result["defaultValue"] = %message.default_value
+ if hasoneof_index(message):
+ result["oneofIndex"] = %message.oneof_index
+ if hasjson_name(message):
+ result["jsonName"] = %message.json_name
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
proc serialize*(message: google_protobuf_FieldDescriptorProto): string =
let
@@ -2194,22 +2338,21 @@ proc newgoogle_protobuf_FieldDescriptorProto*(data: string): google_protobuf_Fie
proc newgoogle_protobuf_DescriptorProto_ExtensionRange*(): google_protobuf_DescriptorProto_ExtensionRange =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.start = 0
result.fend = 0
result.options = nil
proc clearstart*(message: google_protobuf_DescriptorProto_ExtensionRange) =
message.start = 0
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasstart*(message: google_protobuf_DescriptorProto_ExtensionRange): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setstart*(message: google_protobuf_DescriptorProto_ExtensionRange, value: int32) =
message.start = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc start*(message: google_protobuf_DescriptorProto_ExtensionRange): int32 {.inline.} =
message.start
@@ -2219,14 +2362,14 @@ proc `start=`*(message: google_protobuf_DescriptorProto_ExtensionRange, value: i
proc clearfend*(message: google_protobuf_DescriptorProto_ExtensionRange) =
message.fend = 0
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasfend*(message: google_protobuf_DescriptorProto_ExtensionRange): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setfend*(message: google_protobuf_DescriptorProto_ExtensionRange, value: int32) =
message.fend = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc fend*(message: google_protobuf_DescriptorProto_ExtensionRange): int32 {.inline.} =
message.fend
@@ -2236,14 +2379,14 @@ proc `fend=`*(message: google_protobuf_DescriptorProto_ExtensionRange, value: in
proc clearoptions*(message: google_protobuf_DescriptorProto_ExtensionRange) =
message.options = nil
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasoptions*(message: google_protobuf_DescriptorProto_ExtensionRange): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setoptions*(message: google_protobuf_DescriptorProto_ExtensionRange, value: google_protobuf_ExtensionRangeOptions) =
message.options = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc options*(message: google_protobuf_DescriptorProto_ExtensionRange): google_protobuf_ExtensionRangeOptions {.inline.} =
message.options
@@ -2261,6 +2404,7 @@ proc sizeOfgoogle_protobuf_DescriptorProto_ExtensionRange*(message: google_proto
if hasoptions(message):
result = result + sizeOfTag(3, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_ExtensionRangeOptions(message.options))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_DescriptorProto_ExtensionRange*(stream: ProtobufStream, message: google_protobuf_DescriptorProto_ExtensionRange) =
if hasstart(message):
@@ -2269,7 +2413,7 @@ proc writegoogle_protobuf_DescriptorProto_ExtensionRange*(stream: ProtobufStream
writeInt32(stream, message.fend, 2)
if hasoptions(message):
writeMessage(stream, message.options, 3)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_DescriptorProto_ExtensionRange*(stream: ProtobufStream): google_protobuf_DescriptorProto_ExtensionRange =
result = newgoogle_protobuf_DescriptorProto_ExtensionRange()
@@ -2290,7 +2434,16 @@ proc readgoogle_protobuf_DescriptorProto_ExtensionRange*(stream: ProtobufStream)
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
setoptions(result, newgoogle_protobuf_ExtensionRangeOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_DescriptorProto_ExtensionRange): JsonNode =
+ result = newJObject()
+ if hasstart(message):
+ result["start"] = %message.start
+ if hasfend(message):
+ result["end"] = %message.fend
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
proc serialize*(message: google_protobuf_DescriptorProto_ExtensionRange): string =
let
@@ -2308,8 +2461,7 @@ proc newgoogle_protobuf_DescriptorProto_ExtensionRange*(data: string): google_pr
proc newgoogle_protobuf_MessageOptions*(): google_protobuf_MessageOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.message_set_wire_format = false
result.no_standard_descriptor_accessor = false
result.deprecated = false
@@ -2318,14 +2470,14 @@ proc newgoogle_protobuf_MessageOptions*(): google_protobuf_MessageOptions =
proc clearmessage_set_wire_format*(message: google_protobuf_MessageOptions) =
message.message_set_wire_format = false
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasmessage_set_wire_format*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setmessage_set_wire_format*(message: google_protobuf_MessageOptions, value: bool) =
message.message_set_wire_format = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc message_set_wire_format*(message: google_protobuf_MessageOptions): bool {.inline.} =
message.message_set_wire_format
@@ -2335,14 +2487,14 @@ proc `message_set_wire_format=`*(message: google_protobuf_MessageOptions, value:
proc clearno_standard_descriptor_accessor*(message: google_protobuf_MessageOptions) =
message.no_standard_descriptor_accessor = false
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasno_standard_descriptor_accessor*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setno_standard_descriptor_accessor*(message: google_protobuf_MessageOptions, value: bool) =
message.no_standard_descriptor_accessor = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc no_standard_descriptor_accessor*(message: google_protobuf_MessageOptions): bool {.inline.} =
message.no_standard_descriptor_accessor
@@ -2352,14 +2504,14 @@ proc `no_standard_descriptor_accessor=`*(message: google_protobuf_MessageOptions
proc cleardeprecated*(message: google_protobuf_MessageOptions) =
message.deprecated = false
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasdeprecated*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setdeprecated*(message: google_protobuf_MessageOptions, value: bool) =
message.deprecated = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc deprecated*(message: google_protobuf_MessageOptions): bool {.inline.} =
message.deprecated
@@ -2369,14 +2521,14 @@ proc `deprecated=`*(message: google_protobuf_MessageOptions, value: bool) {.inli
proc clearmap_entry*(message: google_protobuf_MessageOptions) =
message.map_entry = false
- excl(message.hasField, [7])
+ clearFields(message, [7])
proc hasmap_entry*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 7)
+ result = hasField(message, 7)
proc setmap_entry*(message: google_protobuf_MessageOptions, value: bool) =
message.map_entry = value
- incl(message.hasField, 7)
+ setField(message, 7)
proc map_entry*(message: google_protobuf_MessageOptions): bool {.inline.} =
message.map_entry
@@ -2386,18 +2538,18 @@ proc `map_entry=`*(message: google_protobuf_MessageOptions, value: bool) {.inlin
proc clearuninterpreted_option*(message: google_protobuf_MessageOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_MessageOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_MessageOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_MessageOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -2421,6 +2573,7 @@ proc sizeOfgoogle_protobuf_MessageOptions*(message: google_protobuf_MessageOptio
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_MessageOptions*(stream: ProtobufStream, message: google_protobuf_MessageOptions) =
if hasmessage_set_wire_format(message):
@@ -2433,7 +2586,7 @@ proc writegoogle_protobuf_MessageOptions*(stream: ProtobufStream, message: googl
writeBool(stream, message.map_entry, 7)
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_MessageOptions*(stream: ProtobufStream): google_protobuf_MessageOptions =
result = newgoogle_protobuf_MessageOptions()
@@ -2460,7 +2613,23 @@ proc readgoogle_protobuf_MessageOptions*(stream: ProtobufStream): google_protobu
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_MessageOptions): JsonNode =
+ result = newJObject()
+ if hasmessage_set_wire_format(message):
+ result["messageSetWireFormat"] = %message.message_set_wire_format
+ if hasno_standard_descriptor_accessor(message):
+ result["noStandardDescriptorAccessor"] = %message.no_standard_descriptor_accessor
+ if hasdeprecated(message):
+ result["deprecated"] = %message.deprecated
+ if hasmap_entry(message):
+ result["mapEntry"] = %message.map_entry
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_MessageOptions): string =
let
@@ -2478,24 +2647,23 @@ proc newgoogle_protobuf_MessageOptions*(data: string): google_protobuf_MessageOp
proc newgoogle_protobuf_OneofOptions*(): google_protobuf_OneofOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.uninterpreted_option = @[]
proc clearuninterpreted_option*(message: google_protobuf_OneofOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_OneofOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_OneofOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_OneofOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_OneofOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -2507,11 +2675,12 @@ proc sizeOfgoogle_protobuf_OneofOptions*(message: google_protobuf_OneofOptions):
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_OneofOptions*(stream: ProtobufStream, message: google_protobuf_OneofOptions) =
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_OneofOptions*(stream: ProtobufStream): google_protobuf_OneofOptions =
result = newgoogle_protobuf_OneofOptions()
@@ -2526,7 +2695,15 @@ proc readgoogle_protobuf_OneofOptions*(stream: ProtobufStream): google_protobuf_
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_OneofOptions): JsonNode =
+ result = newJObject()
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_OneofOptions): string =
let
@@ -2544,21 +2721,20 @@ proc newgoogle_protobuf_OneofOptions*(data: string): google_protobuf_OneofOption
proc newgoogle_protobuf_OneofDescriptorProto*(): google_protobuf_OneofDescriptorProto =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = ""
result.options = nil
proc clearname*(message: google_protobuf_OneofDescriptorProto) =
message.name = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname*(message: google_protobuf_OneofDescriptorProto): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname*(message: google_protobuf_OneofDescriptorProto, value: string) =
message.name = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name*(message: google_protobuf_OneofDescriptorProto): string {.inline.} =
message.name
@@ -2568,14 +2744,14 @@ proc `name=`*(message: google_protobuf_OneofDescriptorProto, value: string) {.in
proc clearoptions*(message: google_protobuf_OneofDescriptorProto) =
message.options = nil
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasoptions*(message: google_protobuf_OneofDescriptorProto): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setoptions*(message: google_protobuf_OneofDescriptorProto, value: google_protobuf_OneofOptions) =
message.options = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc options*(message: google_protobuf_OneofDescriptorProto): google_protobuf_OneofOptions {.inline.} =
message.options
@@ -2590,13 +2766,14 @@ proc sizeOfgoogle_protobuf_OneofDescriptorProto*(message: google_protobuf_OneofD
if hasoptions(message):
result = result + sizeOfTag(2, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_OneofOptions(message.options))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_OneofDescriptorProto*(stream: ProtobufStream, message: google_protobuf_OneofDescriptorProto) =
if hasname(message):
writeString(stream, message.name, 1)
if hasoptions(message):
writeMessage(stream, message.options, 2)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_OneofDescriptorProto*(stream: ProtobufStream): google_protobuf_OneofDescriptorProto =
result = newgoogle_protobuf_OneofDescriptorProto()
@@ -2614,7 +2791,14 @@ proc readgoogle_protobuf_OneofDescriptorProto*(stream: ProtobufStream): google_p
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
setoptions(result, newgoogle_protobuf_OneofOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_OneofDescriptorProto): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ result["name"] = %message.name
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
proc serialize*(message: google_protobuf_OneofDescriptorProto): string =
let
@@ -2632,21 +2816,20 @@ proc newgoogle_protobuf_OneofDescriptorProto*(data: string): google_protobuf_One
proc newgoogle_protobuf_DescriptorProto_ReservedRange*(): google_protobuf_DescriptorProto_ReservedRange =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.start = 0
result.fend = 0
proc clearstart*(message: google_protobuf_DescriptorProto_ReservedRange) =
message.start = 0
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasstart*(message: google_protobuf_DescriptorProto_ReservedRange): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setstart*(message: google_protobuf_DescriptorProto_ReservedRange, value: int32) =
message.start = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc start*(message: google_protobuf_DescriptorProto_ReservedRange): int32 {.inline.} =
message.start
@@ -2656,14 +2839,14 @@ proc `start=`*(message: google_protobuf_DescriptorProto_ReservedRange, value: in
proc clearfend*(message: google_protobuf_DescriptorProto_ReservedRange) =
message.fend = 0
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasfend*(message: google_protobuf_DescriptorProto_ReservedRange): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setfend*(message: google_protobuf_DescriptorProto_ReservedRange, value: int32) =
message.fend = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc fend*(message: google_protobuf_DescriptorProto_ReservedRange): int32 {.inline.} =
message.fend
@@ -2678,13 +2861,14 @@ proc sizeOfgoogle_protobuf_DescriptorProto_ReservedRange*(message: google_protob
if hasfend(message):
result = result + sizeOfTag(2, WireType.Varint)
result = result + sizeOfInt32(message.fend)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_DescriptorProto_ReservedRange*(stream: ProtobufStream, message: google_protobuf_DescriptorProto_ReservedRange) =
if hasstart(message):
writeInt32(stream, message.start, 1)
if hasfend(message):
writeInt32(stream, message.fend, 2)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_DescriptorProto_ReservedRange*(stream: ProtobufStream): google_protobuf_DescriptorProto_ReservedRange =
result = newgoogle_protobuf_DescriptorProto_ReservedRange()
@@ -2701,7 +2885,14 @@ proc readgoogle_protobuf_DescriptorProto_ReservedRange*(stream: ProtobufStream):
of 2:
expectWireType(wireType, WireType.Varint)
setfend(result, readInt32(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_DescriptorProto_ReservedRange): JsonNode =
+ result = newJObject()
+ if hasstart(message):
+ result["start"] = %message.start
+ if hasfend(message):
+ result["end"] = %message.fend
proc serialize*(message: google_protobuf_DescriptorProto_ReservedRange): string =
let
@@ -2719,8 +2910,7 @@ proc newgoogle_protobuf_DescriptorProto_ReservedRange*(data: string): google_pro
proc newgoogle_protobuf_DescriptorProto*(): google_protobuf_DescriptorProto =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = ""
result.field = @[]
result.extension = @[]
@@ -2734,14 +2924,14 @@ proc newgoogle_protobuf_DescriptorProto*(): google_protobuf_DescriptorProto =
proc clearname*(message: google_protobuf_DescriptorProto) =
message.name = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname*(message: google_protobuf_DescriptorProto, value: string) =
message.name = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name*(message: google_protobuf_DescriptorProto): string {.inline.} =
message.name
@@ -2751,18 +2941,18 @@ proc `name=`*(message: google_protobuf_DescriptorProto, value: string) {.inline.
proc clearfield*(message: google_protobuf_DescriptorProto) =
message.field = @[]
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasfield*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 2) or (len(message.field) > 0)
+ result = hasField(message, 2) or (len(message.field) > 0)
proc setfield*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) =
message.field = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc addfield*(message: google_protobuf_DescriptorProto, value: google_protobuf_FieldDescriptorProto) =
add(message.field, value)
- incl(message.hasField, 2)
+ setField(message, 2)
proc field*(message: google_protobuf_DescriptorProto): seq[google_protobuf_FieldDescriptorProto] {.inline.} =
message.field
@@ -2772,18 +2962,18 @@ proc `field=`*(message: google_protobuf_DescriptorProto, value: seq[google_proto
proc clearextension*(message: google_protobuf_DescriptorProto) =
message.extension = @[]
- excl(message.hasField, [6])
+ clearFields(message, [6])
proc hasextension*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 6) or (len(message.extension) > 0)
+ result = hasField(message, 6) or (len(message.extension) > 0)
proc setextension*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) =
message.extension = value
- incl(message.hasField, 6)
+ setField(message, 6)
proc addextension*(message: google_protobuf_DescriptorProto, value: google_protobuf_FieldDescriptorProto) =
add(message.extension, value)
- incl(message.hasField, 6)
+ setField(message, 6)
proc extension*(message: google_protobuf_DescriptorProto): seq[google_protobuf_FieldDescriptorProto] {.inline.} =
message.extension
@@ -2793,18 +2983,18 @@ proc `extension=`*(message: google_protobuf_DescriptorProto, value: seq[google_p
proc clearnested_type*(message: google_protobuf_DescriptorProto) =
message.nested_type = @[]
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasnested_type*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 3) or (len(message.nested_type) > 0)
+ result = hasField(message, 3) or (len(message.nested_type) > 0)
proc setnested_type*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_DescriptorProto]) =
message.nested_type = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc addnested_type*(message: google_protobuf_DescriptorProto, value: google_protobuf_DescriptorProto) =
add(message.nested_type, value)
- incl(message.hasField, 3)
+ setField(message, 3)
proc nested_type*(message: google_protobuf_DescriptorProto): seq[google_protobuf_DescriptorProto] {.inline.} =
message.nested_type
@@ -2814,18 +3004,18 @@ proc `nested_type=`*(message: google_protobuf_DescriptorProto, value: seq[google
proc clearenum_type*(message: google_protobuf_DescriptorProto) =
message.enum_type = @[]
- excl(message.hasField, [4])
+ clearFields(message, [4])
proc hasenum_type*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 4) or (len(message.enum_type) > 0)
+ result = hasField(message, 4) or (len(message.enum_type) > 0)
proc setenum_type*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_EnumDescriptorProto]) =
message.enum_type = value
- incl(message.hasField, 4)
+ setField(message, 4)
proc addenum_type*(message: google_protobuf_DescriptorProto, value: google_protobuf_EnumDescriptorProto) =
add(message.enum_type, value)
- incl(message.hasField, 4)
+ setField(message, 4)
proc enum_type*(message: google_protobuf_DescriptorProto): seq[google_protobuf_EnumDescriptorProto] {.inline.} =
message.enum_type
@@ -2835,18 +3025,18 @@ proc `enum_type=`*(message: google_protobuf_DescriptorProto, value: seq[google_p
proc clearextension_range*(message: google_protobuf_DescriptorProto) =
message.extension_range = @[]
- excl(message.hasField, [5])
+ clearFields(message, [5])
proc hasextension_range*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 5) or (len(message.extension_range) > 0)
+ result = hasField(message, 5) or (len(message.extension_range) > 0)
proc setextension_range*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_DescriptorProto_ExtensionRange]) =
message.extension_range = value
- incl(message.hasField, 5)
+ setField(message, 5)
proc addextension_range*(message: google_protobuf_DescriptorProto, value: google_protobuf_DescriptorProto_ExtensionRange) =
add(message.extension_range, value)
- incl(message.hasField, 5)
+ setField(message, 5)
proc extension_range*(message: google_protobuf_DescriptorProto): seq[google_protobuf_DescriptorProto_ExtensionRange] {.inline.} =
message.extension_range
@@ -2856,18 +3046,18 @@ proc `extension_range=`*(message: google_protobuf_DescriptorProto, value: seq[go
proc clearoneof_decl*(message: google_protobuf_DescriptorProto) =
message.oneof_decl = @[]
- excl(message.hasField, [8])
+ clearFields(message, [8])
proc hasoneof_decl*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 8) or (len(message.oneof_decl) > 0)
+ result = hasField(message, 8) or (len(message.oneof_decl) > 0)
proc setoneof_decl*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_OneofDescriptorProto]) =
message.oneof_decl = value
- incl(message.hasField, 8)
+ setField(message, 8)
proc addoneof_decl*(message: google_protobuf_DescriptorProto, value: google_protobuf_OneofDescriptorProto) =
add(message.oneof_decl, value)
- incl(message.hasField, 8)
+ setField(message, 8)
proc oneof_decl*(message: google_protobuf_DescriptorProto): seq[google_protobuf_OneofDescriptorProto] {.inline.} =
message.oneof_decl
@@ -2877,14 +3067,14 @@ proc `oneof_decl=`*(message: google_protobuf_DescriptorProto, value: seq[google_
proc clearoptions*(message: google_protobuf_DescriptorProto) =
message.options = nil
- excl(message.hasField, [7])
+ clearFields(message, [7])
proc hasoptions*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 7)
+ result = hasField(message, 7)
proc setoptions*(message: google_protobuf_DescriptorProto, value: google_protobuf_MessageOptions) =
message.options = value
- incl(message.hasField, 7)
+ setField(message, 7)
proc options*(message: google_protobuf_DescriptorProto): google_protobuf_MessageOptions {.inline.} =
message.options
@@ -2894,18 +3084,18 @@ proc `options=`*(message: google_protobuf_DescriptorProto, value: google_protobu
proc clearreserved_range*(message: google_protobuf_DescriptorProto) =
message.reserved_range = @[]
- excl(message.hasField, [9])
+ clearFields(message, [9])
proc hasreserved_range*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 9) or (len(message.reserved_range) > 0)
+ result = hasField(message, 9) or (len(message.reserved_range) > 0)
proc setreserved_range*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_DescriptorProto_ReservedRange]) =
message.reserved_range = value
- incl(message.hasField, 9)
+ setField(message, 9)
proc addreserved_range*(message: google_protobuf_DescriptorProto, value: google_protobuf_DescriptorProto_ReservedRange) =
add(message.reserved_range, value)
- incl(message.hasField, 9)
+ setField(message, 9)
proc reserved_range*(message: google_protobuf_DescriptorProto): seq[google_protobuf_DescriptorProto_ReservedRange] {.inline.} =
message.reserved_range
@@ -2915,18 +3105,18 @@ proc `reserved_range=`*(message: google_protobuf_DescriptorProto, value: seq[goo
proc clearreserved_name*(message: google_protobuf_DescriptorProto) =
message.reserved_name = @[]
- excl(message.hasField, [10])
+ clearFields(message, [10])
proc hasreserved_name*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 10) or (len(message.reserved_name) > 0)
+ result = hasField(message, 10) or (len(message.reserved_name) > 0)
proc setreserved_name*(message: google_protobuf_DescriptorProto, value: seq[string]) =
message.reserved_name = value
- incl(message.hasField, 10)
+ setField(message, 10)
proc addreserved_name*(message: google_protobuf_DescriptorProto, value: string) =
add(message.reserved_name, value)
- incl(message.hasField, 10)
+ setField(message, 10)
proc reserved_name*(message: google_protobuf_DescriptorProto): seq[string] {.inline.} =
message.reserved_name
@@ -2965,6 +3155,7 @@ proc sizeOfgoogle_protobuf_DescriptorProto*(message: google_protobuf_DescriptorP
for value in message.reserved_name:
result = result + sizeOfTag(10, WireType.LengthDelimited)
result = result + sizeOfString(value)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_DescriptorProto*(stream: ProtobufStream, message: google_protobuf_DescriptorProto) =
if hasname(message):
@@ -2987,7 +3178,7 @@ proc writegoogle_protobuf_DescriptorProto*(stream: ProtobufStream, message: goog
writeMessage(stream, value, 9)
for value in message.reserved_name:
writeString(stream, value, 10)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_DescriptorProto*(stream: ProtobufStream): google_protobuf_DescriptorProto =
result = newgoogle_protobuf_DescriptorProto()
@@ -3036,7 +3227,54 @@ proc readgoogle_protobuf_DescriptorProto*(stream: ProtobufStream): google_protob
of 10:
expectWireType(wireType, WireType.LengthDelimited)
addreserved_name(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_DescriptorProto): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ result["name"] = %message.name
+ if hasfield(message):
+ let arr = newJArray()
+ for value in message.field:
+ add(arr, toJson(value))
+ result["field"] = arr
+ if hasextension(message):
+ let arr = newJArray()
+ for value in message.extension:
+ add(arr, toJson(value))
+ result["extension"] = arr
+ if hasnested_type(message):
+ let arr = newJArray()
+ for value in message.nested_type:
+ add(arr, toJson(value))
+ result["nestedType"] = arr
+ if hasenum_type(message):
+ let arr = newJArray()
+ for value in message.enum_type:
+ add(arr, toJson(value))
+ result["enumType"] = arr
+ if hasextension_range(message):
+ let arr = newJArray()
+ for value in message.extension_range:
+ add(arr, toJson(value))
+ result["extensionRange"] = arr
+ if hasoneof_decl(message):
+ let arr = newJArray()
+ for value in message.oneof_decl:
+ add(arr, toJson(value))
+ result["oneofDecl"] = arr
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
+ if hasreserved_range(message):
+ let arr = newJArray()
+ for value in message.reserved_range:
+ add(arr, toJson(value))
+ result["reservedRange"] = arr
+ if hasreserved_name(message):
+ let arr = newJArray()
+ for value in message.reserved_name:
+ add(arr, %value)
+ result["reservedName"] = arr
proc serialize*(message: google_protobuf_DescriptorProto): string =
let
@@ -3054,8 +3292,7 @@ proc newgoogle_protobuf_DescriptorProto*(data: string): google_protobuf_Descript
proc newgoogle_protobuf_FileOptions*(): google_protobuf_FileOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.java_package = ""
result.java_outer_classname = ""
result.java_multiple_files = false
@@ -3078,14 +3315,14 @@ proc newgoogle_protobuf_FileOptions*(): google_protobuf_FileOptions =
proc clearjava_package*(message: google_protobuf_FileOptions) =
message.java_package = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasjava_package*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setjava_package*(message: google_protobuf_FileOptions, value: string) =
message.java_package = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc java_package*(message: google_protobuf_FileOptions): string {.inline.} =
message.java_package
@@ -3095,14 +3332,14 @@ proc `java_package=`*(message: google_protobuf_FileOptions, value: string) {.inl
proc clearjava_outer_classname*(message: google_protobuf_FileOptions) =
message.java_outer_classname = ""
- excl(message.hasField, [8])
+ clearFields(message, [8])
proc hasjava_outer_classname*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 8)
+ result = hasField(message, 8)
proc setjava_outer_classname*(message: google_protobuf_FileOptions, value: string) =
message.java_outer_classname = value
- incl(message.hasField, 8)
+ setField(message, 8)
proc java_outer_classname*(message: google_protobuf_FileOptions): string {.inline.} =
message.java_outer_classname
@@ -3112,14 +3349,14 @@ proc `java_outer_classname=`*(message: google_protobuf_FileOptions, value: strin
proc clearjava_multiple_files*(message: google_protobuf_FileOptions) =
message.java_multiple_files = false
- excl(message.hasField, [10])
+ clearFields(message, [10])
proc hasjava_multiple_files*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 10)
+ result = hasField(message, 10)
proc setjava_multiple_files*(message: google_protobuf_FileOptions, value: bool) =
message.java_multiple_files = value
- incl(message.hasField, 10)
+ setField(message, 10)
proc java_multiple_files*(message: google_protobuf_FileOptions): bool {.inline.} =
message.java_multiple_files
@@ -3129,14 +3366,14 @@ proc `java_multiple_files=`*(message: google_protobuf_FileOptions, value: bool)
proc clearjava_generate_equals_and_hash*(message: google_protobuf_FileOptions) =
message.java_generate_equals_and_hash = false
- excl(message.hasField, [20])
+ clearFields(message, [20])
proc hasjava_generate_equals_and_hash*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 20)
+ result = hasField(message, 20)
proc setjava_generate_equals_and_hash*(message: google_protobuf_FileOptions, value: bool) =
message.java_generate_equals_and_hash = value
- incl(message.hasField, 20)
+ setField(message, 20)
proc java_generate_equals_and_hash*(message: google_protobuf_FileOptions): bool {.inline.} =
message.java_generate_equals_and_hash
@@ -3146,14 +3383,14 @@ proc `java_generate_equals_and_hash=`*(message: google_protobuf_FileOptions, val
proc clearjava_string_check_utf8*(message: google_protobuf_FileOptions) =
message.java_string_check_utf8 = false
- excl(message.hasField, [27])
+ clearFields(message, [27])
proc hasjava_string_check_utf8*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 27)
+ result = hasField(message, 27)
proc setjava_string_check_utf8*(message: google_protobuf_FileOptions, value: bool) =
message.java_string_check_utf8 = value
- incl(message.hasField, 27)
+ setField(message, 27)
proc java_string_check_utf8*(message: google_protobuf_FileOptions): bool {.inline.} =
message.java_string_check_utf8
@@ -3163,14 +3400,14 @@ proc `java_string_check_utf8=`*(message: google_protobuf_FileOptions, value: boo
proc clearoptimize_for*(message: google_protobuf_FileOptions) =
message.optimize_for = google_protobuf_FileOptions_OptimizeMode.SPEED
- excl(message.hasField, [9])
+ clearFields(message, [9])
proc hasoptimize_for*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 9)
+ result = hasField(message, 9)
proc setoptimize_for*(message: google_protobuf_FileOptions, value: google_protobuf_FileOptions_OptimizeMode) =
message.optimize_for = value
- incl(message.hasField, 9)
+ setField(message, 9)
proc optimize_for*(message: google_protobuf_FileOptions): google_protobuf_FileOptions_OptimizeMode {.inline.} =
message.optimize_for
@@ -3180,14 +3417,14 @@ proc `optimize_for=`*(message: google_protobuf_FileOptions, value: google_protob
proc cleargo_package*(message: google_protobuf_FileOptions) =
message.go_package = ""
- excl(message.hasField, [11])
+ clearFields(message, [11])
proc hasgo_package*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 11)
+ result = hasField(message, 11)
proc setgo_package*(message: google_protobuf_FileOptions, value: string) =
message.go_package = value
- incl(message.hasField, 11)
+ setField(message, 11)
proc go_package*(message: google_protobuf_FileOptions): string {.inline.} =
message.go_package
@@ -3197,14 +3434,14 @@ proc `go_package=`*(message: google_protobuf_FileOptions, value: string) {.inlin
proc clearcc_generic_services*(message: google_protobuf_FileOptions) =
message.cc_generic_services = false
- excl(message.hasField, [16])
+ clearFields(message, [16])
proc hascc_generic_services*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 16)
+ result = hasField(message, 16)
proc setcc_generic_services*(message: google_protobuf_FileOptions, value: bool) =
message.cc_generic_services = value
- incl(message.hasField, 16)
+ setField(message, 16)
proc cc_generic_services*(message: google_protobuf_FileOptions): bool {.inline.} =
message.cc_generic_services
@@ -3214,14 +3451,14 @@ proc `cc_generic_services=`*(message: google_protobuf_FileOptions, value: bool)
proc clearjava_generic_services*(message: google_protobuf_FileOptions) =
message.java_generic_services = false
- excl(message.hasField, [17])
+ clearFields(message, [17])
proc hasjava_generic_services*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 17)
+ result = hasField(message, 17)
proc setjava_generic_services*(message: google_protobuf_FileOptions, value: bool) =
message.java_generic_services = value
- incl(message.hasField, 17)
+ setField(message, 17)
proc java_generic_services*(message: google_protobuf_FileOptions): bool {.inline.} =
message.java_generic_services
@@ -3231,14 +3468,14 @@ proc `java_generic_services=`*(message: google_protobuf_FileOptions, value: bool
proc clearpy_generic_services*(message: google_protobuf_FileOptions) =
message.py_generic_services = false
- excl(message.hasField, [18])
+ clearFields(message, [18])
proc haspy_generic_services*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 18)
+ result = hasField(message, 18)
proc setpy_generic_services*(message: google_protobuf_FileOptions, value: bool) =
message.py_generic_services = value
- incl(message.hasField, 18)
+ setField(message, 18)
proc py_generic_services*(message: google_protobuf_FileOptions): bool {.inline.} =
message.py_generic_services
@@ -3248,14 +3485,14 @@ proc `py_generic_services=`*(message: google_protobuf_FileOptions, value: bool)
proc clearphp_generic_services*(message: google_protobuf_FileOptions) =
message.php_generic_services = false
- excl(message.hasField, [42])
+ clearFields(message, [42])
proc hasphp_generic_services*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 42)
+ result = hasField(message, 42)
proc setphp_generic_services*(message: google_protobuf_FileOptions, value: bool) =
message.php_generic_services = value
- incl(message.hasField, 42)
+ setField(message, 42)
proc php_generic_services*(message: google_protobuf_FileOptions): bool {.inline.} =
message.php_generic_services
@@ -3265,14 +3502,14 @@ proc `php_generic_services=`*(message: google_protobuf_FileOptions, value: bool)
proc cleardeprecated*(message: google_protobuf_FileOptions) =
message.deprecated = false
- excl(message.hasField, [23])
+ clearFields(message, [23])
proc hasdeprecated*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 23)
+ result = hasField(message, 23)
proc setdeprecated*(message: google_protobuf_FileOptions, value: bool) =
message.deprecated = value
- incl(message.hasField, 23)
+ setField(message, 23)
proc deprecated*(message: google_protobuf_FileOptions): bool {.inline.} =
message.deprecated
@@ -3282,14 +3519,14 @@ proc `deprecated=`*(message: google_protobuf_FileOptions, value: bool) {.inline.
proc clearcc_enable_arenas*(message: google_protobuf_FileOptions) =
message.cc_enable_arenas = false
- excl(message.hasField, [31])
+ clearFields(message, [31])
proc hascc_enable_arenas*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 31)
+ result = hasField(message, 31)
proc setcc_enable_arenas*(message: google_protobuf_FileOptions, value: bool) =
message.cc_enable_arenas = value
- incl(message.hasField, 31)
+ setField(message, 31)
proc cc_enable_arenas*(message: google_protobuf_FileOptions): bool {.inline.} =
message.cc_enable_arenas
@@ -3299,14 +3536,14 @@ proc `cc_enable_arenas=`*(message: google_protobuf_FileOptions, value: bool) {.i
proc clearobjc_class_prefix*(message: google_protobuf_FileOptions) =
message.objc_class_prefix = ""
- excl(message.hasField, [36])
+ clearFields(message, [36])
proc hasobjc_class_prefix*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 36)
+ result = hasField(message, 36)
proc setobjc_class_prefix*(message: google_protobuf_FileOptions, value: string) =
message.objc_class_prefix = value
- incl(message.hasField, 36)
+ setField(message, 36)
proc objc_class_prefix*(message: google_protobuf_FileOptions): string {.inline.} =
message.objc_class_prefix
@@ -3316,14 +3553,14 @@ proc `objc_class_prefix=`*(message: google_protobuf_FileOptions, value: string)
proc clearcsharp_namespace*(message: google_protobuf_FileOptions) =
message.csharp_namespace = ""
- excl(message.hasField, [37])
+ clearFields(message, [37])
proc hascsharp_namespace*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 37)
+ result = hasField(message, 37)
proc setcsharp_namespace*(message: google_protobuf_FileOptions, value: string) =
message.csharp_namespace = value
- incl(message.hasField, 37)
+ setField(message, 37)
proc csharp_namespace*(message: google_protobuf_FileOptions): string {.inline.} =
message.csharp_namespace
@@ -3333,14 +3570,14 @@ proc `csharp_namespace=`*(message: google_protobuf_FileOptions, value: string) {
proc clearswift_prefix*(message: google_protobuf_FileOptions) =
message.swift_prefix = ""
- excl(message.hasField, [39])
+ clearFields(message, [39])
proc hasswift_prefix*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 39)
+ result = hasField(message, 39)
proc setswift_prefix*(message: google_protobuf_FileOptions, value: string) =
message.swift_prefix = value
- incl(message.hasField, 39)
+ setField(message, 39)
proc swift_prefix*(message: google_protobuf_FileOptions): string {.inline.} =
message.swift_prefix
@@ -3350,14 +3587,14 @@ proc `swift_prefix=`*(message: google_protobuf_FileOptions, value: string) {.inl
proc clearphp_class_prefix*(message: google_protobuf_FileOptions) =
message.php_class_prefix = ""
- excl(message.hasField, [40])
+ clearFields(message, [40])
proc hasphp_class_prefix*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 40)
+ result = hasField(message, 40)
proc setphp_class_prefix*(message: google_protobuf_FileOptions, value: string) =
message.php_class_prefix = value
- incl(message.hasField, 40)
+ setField(message, 40)
proc php_class_prefix*(message: google_protobuf_FileOptions): string {.inline.} =
message.php_class_prefix
@@ -3367,14 +3604,14 @@ proc `php_class_prefix=`*(message: google_protobuf_FileOptions, value: string) {
proc clearphp_namespace*(message: google_protobuf_FileOptions) =
message.php_namespace = ""
- excl(message.hasField, [41])
+ clearFields(message, [41])
proc hasphp_namespace*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 41)
+ result = hasField(message, 41)
proc setphp_namespace*(message: google_protobuf_FileOptions, value: string) =
message.php_namespace = value
- incl(message.hasField, 41)
+ setField(message, 41)
proc php_namespace*(message: google_protobuf_FileOptions): string {.inline.} =
message.php_namespace
@@ -3384,18 +3621,18 @@ proc `php_namespace=`*(message: google_protobuf_FileOptions, value: string) {.in
proc clearuninterpreted_option*(message: google_protobuf_FileOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_FileOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_FileOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_FileOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -3461,6 +3698,7 @@ proc sizeOfgoogle_protobuf_FileOptions*(message: google_protobuf_FileOptions): u
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_FileOptions*(stream: ProtobufStream, message: google_protobuf_FileOptions) =
if hasjava_package(message):
@@ -3501,7 +3739,7 @@ proc writegoogle_protobuf_FileOptions*(stream: ProtobufStream, message: google_p
writeString(stream, message.php_namespace, 41)
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_FileOptions*(stream: ProtobufStream): google_protobuf_FileOptions =
result = newgoogle_protobuf_FileOptions()
@@ -3570,7 +3808,51 @@ proc readgoogle_protobuf_FileOptions*(stream: ProtobufStream): google_protobuf_F
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_FileOptions): JsonNode =
+ result = newJObject()
+ if hasjava_package(message):
+ result["javaPackage"] = %message.java_package
+ if hasjava_outer_classname(message):
+ result["javaOuterClassname"] = %message.java_outer_classname
+ if hasjava_multiple_files(message):
+ result["javaMultipleFiles"] = %message.java_multiple_files
+ if hasjava_generate_equals_and_hash(message):
+ result["javaGenerateEqualsAndHash"] = %message.java_generate_equals_and_hash
+ if hasjava_string_check_utf8(message):
+ result["javaStringCheckUtf8"] = %message.java_string_check_utf8
+ if hasoptimize_for(message):
+ result["optimizeFor"] = %($message.optimize_for)
+ if hasgo_package(message):
+ result["goPackage"] = %message.go_package
+ if hascc_generic_services(message):
+ result["ccGenericServices"] = %message.cc_generic_services
+ if hasjava_generic_services(message):
+ result["javaGenericServices"] = %message.java_generic_services
+ if haspy_generic_services(message):
+ result["pyGenericServices"] = %message.py_generic_services
+ if hasphp_generic_services(message):
+ result["phpGenericServices"] = %message.php_generic_services
+ if hasdeprecated(message):
+ result["deprecated"] = %message.deprecated
+ if hascc_enable_arenas(message):
+ result["ccEnableArenas"] = %message.cc_enable_arenas
+ if hasobjc_class_prefix(message):
+ result["objcClassPrefix"] = %message.objc_class_prefix
+ if hascsharp_namespace(message):
+ result["csharpNamespace"] = %message.csharp_namespace
+ if hasswift_prefix(message):
+ result["swiftPrefix"] = %message.swift_prefix
+ if hasphp_class_prefix(message):
+ result["phpClassPrefix"] = %message.php_class_prefix
+ if hasphp_namespace(message):
+ result["phpNamespace"] = %message.php_namespace
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_FileOptions): string =
let
@@ -3588,21 +3870,20 @@ proc newgoogle_protobuf_FileOptions*(data: string): google_protobuf_FileOptions
proc newgoogle_protobuf_ServiceOptions*(): google_protobuf_ServiceOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.deprecated = false
result.uninterpreted_option = @[]
proc cleardeprecated*(message: google_protobuf_ServiceOptions) =
message.deprecated = false
- excl(message.hasField, [33])
+ clearFields(message, [33])
proc hasdeprecated*(message: google_protobuf_ServiceOptions): bool =
- result = contains(message.hasField, 33)
+ result = hasField(message, 33)
proc setdeprecated*(message: google_protobuf_ServiceOptions, value: bool) =
message.deprecated = value
- incl(message.hasField, 33)
+ setField(message, 33)
proc deprecated*(message: google_protobuf_ServiceOptions): bool {.inline.} =
message.deprecated
@@ -3612,18 +3893,18 @@ proc `deprecated=`*(message: google_protobuf_ServiceOptions, value: bool) {.inli
proc clearuninterpreted_option*(message: google_protobuf_ServiceOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_ServiceOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_ServiceOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_ServiceOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_ServiceOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -3638,13 +3919,14 @@ proc sizeOfgoogle_protobuf_ServiceOptions*(message: google_protobuf_ServiceOptio
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_ServiceOptions*(stream: ProtobufStream, message: google_protobuf_ServiceOptions) =
if hasdeprecated(message):
writeBool(stream, message.deprecated, 33)
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_ServiceOptions*(stream: ProtobufStream): google_protobuf_ServiceOptions =
result = newgoogle_protobuf_ServiceOptions()
@@ -3662,7 +3944,17 @@ proc readgoogle_protobuf_ServiceOptions*(stream: ProtobufStream): google_protobu
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_ServiceOptions): JsonNode =
+ result = newJObject()
+ if hasdeprecated(message):
+ result["deprecated"] = %message.deprecated
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_ServiceOptions): string =
let
@@ -3680,22 +3972,21 @@ proc newgoogle_protobuf_ServiceOptions*(data: string): google_protobuf_ServiceOp
proc newgoogle_protobuf_MethodOptions*(): google_protobuf_MethodOptions =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.deprecated = false
result.idempotency_level = google_protobuf_MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN
result.uninterpreted_option = @[]
proc cleardeprecated*(message: google_protobuf_MethodOptions) =
message.deprecated = false
- excl(message.hasField, [33])
+ clearFields(message, [33])
proc hasdeprecated*(message: google_protobuf_MethodOptions): bool =
- result = contains(message.hasField, 33)
+ result = hasField(message, 33)
proc setdeprecated*(message: google_protobuf_MethodOptions, value: bool) =
message.deprecated = value
- incl(message.hasField, 33)
+ setField(message, 33)
proc deprecated*(message: google_protobuf_MethodOptions): bool {.inline.} =
message.deprecated
@@ -3705,14 +3996,14 @@ proc `deprecated=`*(message: google_protobuf_MethodOptions, value: bool) {.inlin
proc clearidempotency_level*(message: google_protobuf_MethodOptions) =
message.idempotency_level = google_protobuf_MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN
- excl(message.hasField, [34])
+ clearFields(message, [34])
proc hasidempotency_level*(message: google_protobuf_MethodOptions): bool =
- result = contains(message.hasField, 34)
+ result = hasField(message, 34)
proc setidempotency_level*(message: google_protobuf_MethodOptions, value: google_protobuf_MethodOptions_IdempotencyLevel) =
message.idempotency_level = value
- incl(message.hasField, 34)
+ setField(message, 34)
proc idempotency_level*(message: google_protobuf_MethodOptions): google_protobuf_MethodOptions_IdempotencyLevel {.inline.} =
message.idempotency_level
@@ -3722,18 +4013,18 @@ proc `idempotency_level=`*(message: google_protobuf_MethodOptions, value: google
proc clearuninterpreted_option*(message: google_protobuf_MethodOptions) =
message.uninterpreted_option = @[]
- excl(message.hasField, [999])
+ clearFields(message, [999])
proc hasuninterpreted_option*(message: google_protobuf_MethodOptions): bool =
- result = contains(message.hasField, 999) or (len(message.uninterpreted_option) > 0)
+ result = hasField(message, 999) or (len(message.uninterpreted_option) > 0)
proc setuninterpreted_option*(message: google_protobuf_MethodOptions, value: seq[google_protobuf_UninterpretedOption]) =
message.uninterpreted_option = value
- incl(message.hasField, 999)
+ setField(message, 999)
proc adduninterpreted_option*(message: google_protobuf_MethodOptions, value: google_protobuf_UninterpretedOption) =
add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
+ setField(message, 999)
proc uninterpreted_option*(message: google_protobuf_MethodOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
message.uninterpreted_option
@@ -3751,6 +4042,7 @@ proc sizeOfgoogle_protobuf_MethodOptions*(message: google_protobuf_MethodOptions
for value in message.uninterpreted_option:
result = result + sizeOfTag(999, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_MethodOptions*(stream: ProtobufStream, message: google_protobuf_MethodOptions) =
if hasdeprecated(message):
@@ -3759,7 +4051,7 @@ proc writegoogle_protobuf_MethodOptions*(stream: ProtobufStream, message: google
writeEnum(stream, message.idempotency_level, 34)
for value in message.uninterpreted_option:
writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_MethodOptions*(stream: ProtobufStream): google_protobuf_MethodOptions =
result = newgoogle_protobuf_MethodOptions()
@@ -3780,7 +4072,19 @@ proc readgoogle_protobuf_MethodOptions*(stream: ProtobufStream): google_protobuf
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_MethodOptions): JsonNode =
+ result = newJObject()
+ if hasdeprecated(message):
+ result["deprecated"] = %message.deprecated
+ if hasidempotency_level(message):
+ result["idempotencyLevel"] = %($message.idempotency_level)
+ if hasuninterpreted_option(message):
+ let arr = newJArray()
+ for value in message.uninterpreted_option:
+ add(arr, toJson(value))
+ result["uninterpretedOption"] = arr
proc serialize*(message: google_protobuf_MethodOptions): string =
let
@@ -3798,8 +4102,7 @@ proc newgoogle_protobuf_MethodOptions*(data: string): google_protobuf_MethodOpti
proc newgoogle_protobuf_MethodDescriptorProto*(): google_protobuf_MethodDescriptorProto =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = ""
result.input_type = ""
result.output_type = ""
@@ -3809,14 +4112,14 @@ proc newgoogle_protobuf_MethodDescriptorProto*(): google_protobuf_MethodDescript
proc clearname*(message: google_protobuf_MethodDescriptorProto) =
message.name = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname*(message: google_protobuf_MethodDescriptorProto, value: string) =
message.name = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name*(message: google_protobuf_MethodDescriptorProto): string {.inline.} =
message.name
@@ -3826,14 +4129,14 @@ proc `name=`*(message: google_protobuf_MethodDescriptorProto, value: string) {.i
proc clearinput_type*(message: google_protobuf_MethodDescriptorProto) =
message.input_type = ""
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasinput_type*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setinput_type*(message: google_protobuf_MethodDescriptorProto, value: string) =
message.input_type = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc input_type*(message: google_protobuf_MethodDescriptorProto): string {.inline.} =
message.input_type
@@ -3843,14 +4146,14 @@ proc `input_type=`*(message: google_protobuf_MethodDescriptorProto, value: strin
proc clearoutput_type*(message: google_protobuf_MethodDescriptorProto) =
message.output_type = ""
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasoutput_type*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setoutput_type*(message: google_protobuf_MethodDescriptorProto, value: string) =
message.output_type = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc output_type*(message: google_protobuf_MethodDescriptorProto): string {.inline.} =
message.output_type
@@ -3860,14 +4163,14 @@ proc `output_type=`*(message: google_protobuf_MethodDescriptorProto, value: stri
proc clearoptions*(message: google_protobuf_MethodDescriptorProto) =
message.options = nil
- excl(message.hasField, [4])
+ clearFields(message, [4])
proc hasoptions*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 4)
+ result = hasField(message, 4)
proc setoptions*(message: google_protobuf_MethodDescriptorProto, value: google_protobuf_MethodOptions) =
message.options = value
- incl(message.hasField, 4)
+ setField(message, 4)
proc options*(message: google_protobuf_MethodDescriptorProto): google_protobuf_MethodOptions {.inline.} =
message.options
@@ -3877,14 +4180,14 @@ proc `options=`*(message: google_protobuf_MethodDescriptorProto, value: google_p
proc clearclient_streaming*(message: google_protobuf_MethodDescriptorProto) =
message.client_streaming = false
- excl(message.hasField, [5])
+ clearFields(message, [5])
proc hasclient_streaming*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 5)
+ result = hasField(message, 5)
proc setclient_streaming*(message: google_protobuf_MethodDescriptorProto, value: bool) =
message.client_streaming = value
- incl(message.hasField, 5)
+ setField(message, 5)
proc client_streaming*(message: google_protobuf_MethodDescriptorProto): bool {.inline.} =
message.client_streaming
@@ -3894,14 +4197,14 @@ proc `client_streaming=`*(message: google_protobuf_MethodDescriptorProto, value:
proc clearserver_streaming*(message: google_protobuf_MethodDescriptorProto) =
message.server_streaming = false
- excl(message.hasField, [6])
+ clearFields(message, [6])
proc hasserver_streaming*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 6)
+ result = hasField(message, 6)
proc setserver_streaming*(message: google_protobuf_MethodDescriptorProto, value: bool) =
message.server_streaming = value
- incl(message.hasField, 6)
+ setField(message, 6)
proc server_streaming*(message: google_protobuf_MethodDescriptorProto): bool {.inline.} =
message.server_streaming
@@ -3928,6 +4231,7 @@ proc sizeOfgoogle_protobuf_MethodDescriptorProto*(message: google_protobuf_Metho
if hasserver_streaming(message):
result = result + sizeOfTag(6, WireType.Varint)
result = result + sizeOfBool(message.server_streaming)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_MethodDescriptorProto*(stream: ProtobufStream, message: google_protobuf_MethodDescriptorProto) =
if hasname(message):
@@ -3942,7 +4246,7 @@ proc writegoogle_protobuf_MethodDescriptorProto*(stream: ProtobufStream, message
writeBool(stream, message.client_streaming, 5)
if hasserver_streaming(message):
writeBool(stream, message.server_streaming, 6)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_MethodDescriptorProto*(stream: ProtobufStream): google_protobuf_MethodDescriptorProto =
result = newgoogle_protobuf_MethodDescriptorProto()
@@ -3972,7 +4276,22 @@ proc readgoogle_protobuf_MethodDescriptorProto*(stream: ProtobufStream): google_
of 6:
expectWireType(wireType, WireType.Varint)
setserver_streaming(result, readBool(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_MethodDescriptorProto): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ result["name"] = %message.name
+ if hasinput_type(message):
+ result["inputType"] = %message.input_type
+ if hasoutput_type(message):
+ result["outputType"] = %message.output_type
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
+ if hasclient_streaming(message):
+ result["clientStreaming"] = %message.client_streaming
+ if hasserver_streaming(message):
+ result["serverStreaming"] = %message.server_streaming
proc serialize*(message: google_protobuf_MethodDescriptorProto): string =
let
@@ -3990,22 +4309,21 @@ proc newgoogle_protobuf_MethodDescriptorProto*(data: string): google_protobuf_Me
proc newgoogle_protobuf_ServiceDescriptorProto*(): google_protobuf_ServiceDescriptorProto =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = ""
result.fmethod = @[]
result.options = nil
proc clearname*(message: google_protobuf_ServiceDescriptorProto) =
message.name = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname*(message: google_protobuf_ServiceDescriptorProto): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname*(message: google_protobuf_ServiceDescriptorProto, value: string) =
message.name = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name*(message: google_protobuf_ServiceDescriptorProto): string {.inline.} =
message.name
@@ -4015,18 +4333,18 @@ proc `name=`*(message: google_protobuf_ServiceDescriptorProto, value: string) {.
proc clearfmethod*(message: google_protobuf_ServiceDescriptorProto) =
message.fmethod = @[]
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hasfmethod*(message: google_protobuf_ServiceDescriptorProto): bool =
- result = contains(message.hasField, 2) or (len(message.fmethod) > 0)
+ result = hasField(message, 2) or (len(message.fmethod) > 0)
proc setfmethod*(message: google_protobuf_ServiceDescriptorProto, value: seq[google_protobuf_MethodDescriptorProto]) =
message.fmethod = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc addfmethod*(message: google_protobuf_ServiceDescriptorProto, value: google_protobuf_MethodDescriptorProto) =
add(message.fmethod, value)
- incl(message.hasField, 2)
+ setField(message, 2)
proc fmethod*(message: google_protobuf_ServiceDescriptorProto): seq[google_protobuf_MethodDescriptorProto] {.inline.} =
message.fmethod
@@ -4036,14 +4354,14 @@ proc `fmethod=`*(message: google_protobuf_ServiceDescriptorProto, value: seq[goo
proc clearoptions*(message: google_protobuf_ServiceDescriptorProto) =
message.options = nil
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasoptions*(message: google_protobuf_ServiceDescriptorProto): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setoptions*(message: google_protobuf_ServiceDescriptorProto, value: google_protobuf_ServiceOptions) =
message.options = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc options*(message: google_protobuf_ServiceDescriptorProto): google_protobuf_ServiceOptions {.inline.} =
message.options
@@ -4061,6 +4379,7 @@ proc sizeOfgoogle_protobuf_ServiceDescriptorProto*(message: google_protobuf_Serv
if hasoptions(message):
result = result + sizeOfTag(3, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_ServiceOptions(message.options))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_ServiceDescriptorProto*(stream: ProtobufStream, message: google_protobuf_ServiceDescriptorProto) =
if hasname(message):
@@ -4069,7 +4388,7 @@ proc writegoogle_protobuf_ServiceDescriptorProto*(stream: ProtobufStream, messag
writeMessage(stream, value, 2)
if hasoptions(message):
writeMessage(stream, message.options, 3)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_ServiceDescriptorProto*(stream: ProtobufStream): google_protobuf_ServiceDescriptorProto =
result = newgoogle_protobuf_ServiceDescriptorProto()
@@ -4091,7 +4410,19 @@ proc readgoogle_protobuf_ServiceDescriptorProto*(stream: ProtobufStream): google
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
setoptions(result, newgoogle_protobuf_ServiceOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_ServiceDescriptorProto): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ result["name"] = %message.name
+ if hasfmethod(message):
+ let arr = newJArray()
+ for value in message.fmethod:
+ add(arr, toJson(value))
+ result["method"] = arr
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
proc serialize*(message: google_protobuf_ServiceDescriptorProto): string =
let
@@ -4109,8 +4440,7 @@ proc newgoogle_protobuf_ServiceDescriptorProto*(data: string): google_protobuf_S
proc newgoogle_protobuf_FileDescriptorProto*(): google_protobuf_FileDescriptorProto =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.name = ""
result.package = ""
result.dependency = @[]
@@ -4126,14 +4456,14 @@ proc newgoogle_protobuf_FileDescriptorProto*(): google_protobuf_FileDescriptorPr
proc clearname*(message: google_protobuf_FileDescriptorProto) =
message.name = ""
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasname*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 1)
+ result = hasField(message, 1)
proc setname*(message: google_protobuf_FileDescriptorProto, value: string) =
message.name = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc name*(message: google_protobuf_FileDescriptorProto): string {.inline.} =
message.name
@@ -4143,14 +4473,14 @@ proc `name=`*(message: google_protobuf_FileDescriptorProto, value: string) {.inl
proc clearpackage*(message: google_protobuf_FileDescriptorProto) =
message.package = ""
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc haspackage*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setpackage*(message: google_protobuf_FileDescriptorProto, value: string) =
message.package = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc package*(message: google_protobuf_FileDescriptorProto): string {.inline.} =
message.package
@@ -4160,18 +4490,18 @@ proc `package=`*(message: google_protobuf_FileDescriptorProto, value: string) {.
proc cleardependency*(message: google_protobuf_FileDescriptorProto) =
message.dependency = @[]
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasdependency*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 3) or (len(message.dependency) > 0)
+ result = hasField(message, 3) or (len(message.dependency) > 0)
proc setdependency*(message: google_protobuf_FileDescriptorProto, value: seq[string]) =
message.dependency = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc adddependency*(message: google_protobuf_FileDescriptorProto, value: string) =
add(message.dependency, value)
- incl(message.hasField, 3)
+ setField(message, 3)
proc dependency*(message: google_protobuf_FileDescriptorProto): seq[string] {.inline.} =
message.dependency
@@ -4181,18 +4511,18 @@ proc `dependency=`*(message: google_protobuf_FileDescriptorProto, value: seq[str
proc clearpublic_dependency*(message: google_protobuf_FileDescriptorProto) =
message.public_dependency = @[]
- excl(message.hasField, [10])
+ clearFields(message, [10])
proc haspublic_dependency*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 10) or (len(message.public_dependency) > 0)
+ result = hasField(message, 10) or (len(message.public_dependency) > 0)
proc setpublic_dependency*(message: google_protobuf_FileDescriptorProto, value: seq[int32]) =
message.public_dependency = value
- incl(message.hasField, 10)
+ setField(message, 10)
proc addpublic_dependency*(message: google_protobuf_FileDescriptorProto, value: int32) =
add(message.public_dependency, value)
- incl(message.hasField, 10)
+ setField(message, 10)
proc public_dependency*(message: google_protobuf_FileDescriptorProto): seq[int32] {.inline.} =
message.public_dependency
@@ -4202,18 +4532,18 @@ proc `public_dependency=`*(message: google_protobuf_FileDescriptorProto, value:
proc clearweak_dependency*(message: google_protobuf_FileDescriptorProto) =
message.weak_dependency = @[]
- excl(message.hasField, [11])
+ clearFields(message, [11])
proc hasweak_dependency*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 11) or (len(message.weak_dependency) > 0)
+ result = hasField(message, 11) or (len(message.weak_dependency) > 0)
proc setweak_dependency*(message: google_protobuf_FileDescriptorProto, value: seq[int32]) =
message.weak_dependency = value
- incl(message.hasField, 11)
+ setField(message, 11)
proc addweak_dependency*(message: google_protobuf_FileDescriptorProto, value: int32) =
add(message.weak_dependency, value)
- incl(message.hasField, 11)
+ setField(message, 11)
proc weak_dependency*(message: google_protobuf_FileDescriptorProto): seq[int32] {.inline.} =
message.weak_dependency
@@ -4223,18 +4553,18 @@ proc `weak_dependency=`*(message: google_protobuf_FileDescriptorProto, value: se
proc clearmessage_type*(message: google_protobuf_FileDescriptorProto) =
message.message_type = @[]
- excl(message.hasField, [4])
+ clearFields(message, [4])
proc hasmessage_type*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 4) or (len(message.message_type) > 0)
+ result = hasField(message, 4) or (len(message.message_type) > 0)
proc setmessage_type*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_DescriptorProto]) =
message.message_type = value
- incl(message.hasField, 4)
+ setField(message, 4)
proc addmessage_type*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_DescriptorProto) =
add(message.message_type, value)
- incl(message.hasField, 4)
+ setField(message, 4)
proc message_type*(message: google_protobuf_FileDescriptorProto): seq[google_protobuf_DescriptorProto] {.inline.} =
message.message_type
@@ -4244,18 +4574,18 @@ proc `message_type=`*(message: google_protobuf_FileDescriptorProto, value: seq[g
proc clearenum_type*(message: google_protobuf_FileDescriptorProto) =
message.enum_type = @[]
- excl(message.hasField, [5])
+ clearFields(message, [5])
proc hasenum_type*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 5) or (len(message.enum_type) > 0)
+ result = hasField(message, 5) or (len(message.enum_type) > 0)
proc setenum_type*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_EnumDescriptorProto]) =
message.enum_type = value
- incl(message.hasField, 5)
+ setField(message, 5)
proc addenum_type*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_EnumDescriptorProto) =
add(message.enum_type, value)
- incl(message.hasField, 5)
+ setField(message, 5)
proc enum_type*(message: google_protobuf_FileDescriptorProto): seq[google_protobuf_EnumDescriptorProto] {.inline.} =
message.enum_type
@@ -4265,18 +4595,18 @@ proc `enum_type=`*(message: google_protobuf_FileDescriptorProto, value: seq[goog
proc clearservice*(message: google_protobuf_FileDescriptorProto) =
message.service = @[]
- excl(message.hasField, [6])
+ clearFields(message, [6])
proc hasservice*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 6) or (len(message.service) > 0)
+ result = hasField(message, 6) or (len(message.service) > 0)
proc setservice*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_ServiceDescriptorProto]) =
message.service = value
- incl(message.hasField, 6)
+ setField(message, 6)
proc addservice*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_ServiceDescriptorProto) =
add(message.service, value)
- incl(message.hasField, 6)
+ setField(message, 6)
proc service*(message: google_protobuf_FileDescriptorProto): seq[google_protobuf_ServiceDescriptorProto] {.inline.} =
message.service
@@ -4286,18 +4616,18 @@ proc `service=`*(message: google_protobuf_FileDescriptorProto, value: seq[google
proc clearextension*(message: google_protobuf_FileDescriptorProto) =
message.extension = @[]
- excl(message.hasField, [7])
+ clearFields(message, [7])
proc hasextension*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 7) or (len(message.extension) > 0)
+ result = hasField(message, 7) or (len(message.extension) > 0)
proc setextension*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) =
message.extension = value
- incl(message.hasField, 7)
+ setField(message, 7)
proc addextension*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_FieldDescriptorProto) =
add(message.extension, value)
- incl(message.hasField, 7)
+ setField(message, 7)
proc extension*(message: google_protobuf_FileDescriptorProto): seq[google_protobuf_FieldDescriptorProto] {.inline.} =
message.extension
@@ -4307,14 +4637,14 @@ proc `extension=`*(message: google_protobuf_FileDescriptorProto, value: seq[goog
proc clearoptions*(message: google_protobuf_FileDescriptorProto) =
message.options = nil
- excl(message.hasField, [8])
+ clearFields(message, [8])
proc hasoptions*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 8)
+ result = hasField(message, 8)
proc setoptions*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_FileOptions) =
message.options = value
- incl(message.hasField, 8)
+ setField(message, 8)
proc options*(message: google_protobuf_FileDescriptorProto): google_protobuf_FileOptions {.inline.} =
message.options
@@ -4324,14 +4654,14 @@ proc `options=`*(message: google_protobuf_FileDescriptorProto, value: google_pro
proc clearsource_code_info*(message: google_protobuf_FileDescriptorProto) =
message.source_code_info = nil
- excl(message.hasField, [9])
+ clearFields(message, [9])
proc hassource_code_info*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 9)
+ result = hasField(message, 9)
proc setsource_code_info*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_SourceCodeInfo) =
message.source_code_info = value
- incl(message.hasField, 9)
+ setField(message, 9)
proc source_code_info*(message: google_protobuf_FileDescriptorProto): google_protobuf_SourceCodeInfo {.inline.} =
message.source_code_info
@@ -4341,14 +4671,14 @@ proc `source_code_info=`*(message: google_protobuf_FileDescriptorProto, value: g
proc clearsyntax*(message: google_protobuf_FileDescriptorProto) =
message.syntax = ""
- excl(message.hasField, [12])
+ clearFields(message, [12])
proc hassyntax*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 12)
+ result = hasField(message, 12)
proc setsyntax*(message: google_protobuf_FileDescriptorProto, value: string) =
message.syntax = value
- incl(message.hasField, 12)
+ setField(message, 12)
proc syntax*(message: google_protobuf_FileDescriptorProto): string {.inline.} =
message.syntax
@@ -4393,6 +4723,7 @@ proc sizeOfgoogle_protobuf_FileDescriptorProto*(message: google_protobuf_FileDes
if hassyntax(message):
result = result + sizeOfTag(12, WireType.LengthDelimited)
result = result + sizeOfString(message.syntax)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_FileDescriptorProto*(stream: ProtobufStream, message: google_protobuf_FileDescriptorProto) =
if hasname(message):
@@ -4419,7 +4750,7 @@ proc writegoogle_protobuf_FileDescriptorProto*(stream: ProtobufStream, message:
writeMessage(stream, message.source_code_info, 9)
if hassyntax(message):
writeString(stream, message.syntax, 12)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_FileDescriptorProto*(stream: ProtobufStream): google_protobuf_FileDescriptorProto =
result = newgoogle_protobuf_FileDescriptorProto()
@@ -4494,7 +4825,55 @@ proc readgoogle_protobuf_FileDescriptorProto*(stream: ProtobufStream): google_pr
of 12:
expectWireType(wireType, WireType.LengthDelimited)
setsyntax(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_FileDescriptorProto): JsonNode =
+ result = newJObject()
+ if hasname(message):
+ result["name"] = %message.name
+ if haspackage(message):
+ result["package"] = %message.package
+ if hasdependency(message):
+ let arr = newJArray()
+ for value in message.dependency:
+ add(arr, %value)
+ result["dependency"] = arr
+ if haspublic_dependency(message):
+ let arr = newJArray()
+ for value in message.public_dependency:
+ add(arr, %value)
+ result["publicDependency"] = arr
+ if hasweak_dependency(message):
+ let arr = newJArray()
+ for value in message.weak_dependency:
+ add(arr, %value)
+ result["weakDependency"] = arr
+ if hasmessage_type(message):
+ let arr = newJArray()
+ for value in message.message_type:
+ add(arr, toJson(value))
+ result["messageType"] = arr
+ if hasenum_type(message):
+ let arr = newJArray()
+ for value in message.enum_type:
+ add(arr, toJson(value))
+ result["enumType"] = arr
+ if hasservice(message):
+ let arr = newJArray()
+ for value in message.service:
+ add(arr, toJson(value))
+ result["service"] = arr
+ if hasextension(message):
+ let arr = newJArray()
+ for value in message.extension:
+ add(arr, toJson(value))
+ result["extension"] = arr
+ if hasoptions(message):
+ result["options"] = toJson(message.options)
+ if hassource_code_info(message):
+ result["sourceCodeInfo"] = toJson(message.source_code_info)
+ if hassyntax(message):
+ result["syntax"] = %message.syntax
proc serialize*(message: google_protobuf_FileDescriptorProto): string =
let
@@ -4512,24 +4891,23 @@ proc newgoogle_protobuf_FileDescriptorProto*(data: string): google_protobuf_File
proc newgoogle_protobuf_FileDescriptorSet*(): google_protobuf_FileDescriptorSet =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.file = @[]
proc clearfile*(message: google_protobuf_FileDescriptorSet) =
message.file = @[]
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasfile*(message: google_protobuf_FileDescriptorSet): bool =
- result = contains(message.hasField, 1) or (len(message.file) > 0)
+ result = hasField(message, 1) or (len(message.file) > 0)
proc setfile*(message: google_protobuf_FileDescriptorSet, value: seq[google_protobuf_FileDescriptorProto]) =
message.file = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc addfile*(message: google_protobuf_FileDescriptorSet, value: google_protobuf_FileDescriptorProto) =
add(message.file, value)
- incl(message.hasField, 1)
+ setField(message, 1)
proc file*(message: google_protobuf_FileDescriptorSet): seq[google_protobuf_FileDescriptorProto] {.inline.} =
message.file
@@ -4541,11 +4919,12 @@ proc sizeOfgoogle_protobuf_FileDescriptorSet*(message: google_protobuf_FileDescr
for value in message.file:
result = result + sizeOfTag(1, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_FileDescriptorProto(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_FileDescriptorSet*(stream: ProtobufStream, message: google_protobuf_FileDescriptorSet) =
for value in message.file:
writeMessage(stream, value, 1)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_FileDescriptorSet*(stream: ProtobufStream): google_protobuf_FileDescriptorSet =
result = newgoogle_protobuf_FileDescriptorSet()
@@ -4560,7 +4939,15 @@ proc readgoogle_protobuf_FileDescriptorSet*(stream: ProtobufStream): google_prot
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
addfile(result, newgoogle_protobuf_FileDescriptorProto(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_FileDescriptorSet): JsonNode =
+ result = newJObject()
+ if hasfile(message):
+ let arr = newJArray()
+ for value in message.file:
+ add(arr, toJson(value))
+ result["file"] = arr
proc serialize*(message: google_protobuf_FileDescriptorSet): string =
let
@@ -4578,8 +4965,7 @@ proc newgoogle_protobuf_FileDescriptorSet*(data: string): google_protobuf_FileDe
proc newgoogle_protobuf_GeneratedCodeInfo_Annotation*(): google_protobuf_GeneratedCodeInfo_Annotation =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.path = @[]
result.source_file = ""
result.begin = 0
@@ -4587,18 +4973,18 @@ proc newgoogle_protobuf_GeneratedCodeInfo_Annotation*(): google_protobuf_Generat
proc clearpath*(message: google_protobuf_GeneratedCodeInfo_Annotation) =
message.path = @[]
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc haspath*(message: google_protobuf_GeneratedCodeInfo_Annotation): bool =
- result = contains(message.hasField, 1) or (len(message.path) > 0)
+ result = hasField(message, 1) or (len(message.path) > 0)
proc setpath*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: seq[int32]) =
message.path = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc addpath*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int32) =
add(message.path, value)
- incl(message.hasField, 1)
+ setField(message, 1)
proc path*(message: google_protobuf_GeneratedCodeInfo_Annotation): seq[int32] {.inline.} =
message.path
@@ -4608,14 +4994,14 @@ proc `path=`*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: seq[
proc clearsource_file*(message: google_protobuf_GeneratedCodeInfo_Annotation) =
message.source_file = ""
- excl(message.hasField, [2])
+ clearFields(message, [2])
proc hassource_file*(message: google_protobuf_GeneratedCodeInfo_Annotation): bool =
- result = contains(message.hasField, 2)
+ result = hasField(message, 2)
proc setsource_file*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: string) =
message.source_file = value
- incl(message.hasField, 2)
+ setField(message, 2)
proc source_file*(message: google_protobuf_GeneratedCodeInfo_Annotation): string {.inline.} =
message.source_file
@@ -4625,14 +5011,14 @@ proc `source_file=`*(message: google_protobuf_GeneratedCodeInfo_Annotation, valu
proc clearbegin*(message: google_protobuf_GeneratedCodeInfo_Annotation) =
message.begin = 0
- excl(message.hasField, [3])
+ clearFields(message, [3])
proc hasbegin*(message: google_protobuf_GeneratedCodeInfo_Annotation): bool =
- result = contains(message.hasField, 3)
+ result = hasField(message, 3)
proc setbegin*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int32) =
message.begin = value
- incl(message.hasField, 3)
+ setField(message, 3)
proc begin*(message: google_protobuf_GeneratedCodeInfo_Annotation): int32 {.inline.} =
message.begin
@@ -4642,14 +5028,14 @@ proc `begin=`*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int
proc clearfend*(message: google_protobuf_GeneratedCodeInfo_Annotation) =
message.fend = 0
- excl(message.hasField, [4])
+ clearFields(message, [4])
proc hasfend*(message: google_protobuf_GeneratedCodeInfo_Annotation): bool =
- result = contains(message.hasField, 4)
+ result = hasField(message, 4)
proc setfend*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int32) =
message.fend = value
- incl(message.hasField, 4)
+ setField(message, 4)
proc fend*(message: google_protobuf_GeneratedCodeInfo_Annotation): int32 {.inline.} =
message.fend
@@ -4670,6 +5056,7 @@ proc sizeOfgoogle_protobuf_GeneratedCodeInfo_Annotation*(message: google_protobu
if hasfend(message):
result = result + sizeOfTag(4, WireType.Varint)
result = result + sizeOfInt32(message.fend)
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_GeneratedCodeInfo_Annotation*(stream: ProtobufStream, message: google_protobuf_GeneratedCodeInfo_Annotation) =
if haspath(message):
@@ -4683,7 +5070,7 @@ proc writegoogle_protobuf_GeneratedCodeInfo_Annotation*(stream: ProtobufStream,
writeInt32(stream, message.begin, 3)
if hasfend(message):
writeInt32(stream, message.fend, 4)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_GeneratedCodeInfo_Annotation*(stream: ProtobufStream): google_protobuf_GeneratedCodeInfo_Annotation =
result = newgoogle_protobuf_GeneratedCodeInfo_Annotation()
@@ -4717,7 +5104,21 @@ proc readgoogle_protobuf_GeneratedCodeInfo_Annotation*(stream: ProtobufStream):
of 4:
expectWireType(wireType, WireType.Varint)
setfend(result, readInt32(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_GeneratedCodeInfo_Annotation): JsonNode =
+ result = newJObject()
+ if haspath(message):
+ let arr = newJArray()
+ for value in message.path:
+ add(arr, %value)
+ result["path"] = arr
+ if hassource_file(message):
+ result["sourceFile"] = %message.source_file
+ if hasbegin(message):
+ result["begin"] = %message.begin
+ if hasfend(message):
+ result["end"] = %message.fend
proc serialize*(message: google_protobuf_GeneratedCodeInfo_Annotation): string =
let
@@ -4735,24 +5136,23 @@ proc newgoogle_protobuf_GeneratedCodeInfo_Annotation*(data: string): google_prot
proc newgoogle_protobuf_GeneratedCodeInfo*(): google_protobuf_GeneratedCodeInfo =
new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
+ initMessage(result[])
result.annotation = @[]
proc clearannotation*(message: google_protobuf_GeneratedCodeInfo) =
message.annotation = @[]
- excl(message.hasField, [1])
+ clearFields(message, [1])
proc hasannotation*(message: google_protobuf_GeneratedCodeInfo): bool =
- result = contains(message.hasField, 1) or (len(message.annotation) > 0)
+ result = hasField(message, 1) or (len(message.annotation) > 0)
proc setannotation*(message: google_protobuf_GeneratedCodeInfo, value: seq[google_protobuf_GeneratedCodeInfo_Annotation]) =
message.annotation = value
- incl(message.hasField, 1)
+ setField(message, 1)
proc addannotation*(message: google_protobuf_GeneratedCodeInfo, value: google_protobuf_GeneratedCodeInfo_Annotation) =
add(message.annotation, value)
- incl(message.hasField, 1)
+ setField(message, 1)
proc annotation*(message: google_protobuf_GeneratedCodeInfo): seq[google_protobuf_GeneratedCodeInfo_Annotation] {.inline.} =
message.annotation
@@ -4764,11 +5164,12 @@ proc sizeOfgoogle_protobuf_GeneratedCodeInfo*(message: google_protobuf_Generated
for value in message.annotation:
result = result + sizeOfTag(1, WireType.LengthDelimited)
result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_GeneratedCodeInfo_Annotation(value))
+ result = result + sizeOfUnknownFields(message)
proc writegoogle_protobuf_GeneratedCodeInfo*(stream: ProtobufStream, message: google_protobuf_GeneratedCodeInfo) =
for value in message.annotation:
writeMessage(stream, value, 1)
- writeUnknownFields(stream, message.unknownFields)
+ writeUnknownFields(stream, message)
proc readgoogle_protobuf_GeneratedCodeInfo*(stream: ProtobufStream): google_protobuf_GeneratedCodeInfo =
result = newgoogle_protobuf_GeneratedCodeInfo()
@@ -4783,7 +5184,15 @@ proc readgoogle_protobuf_GeneratedCodeInfo*(stream: ProtobufStream): google_prot
expectWireType(wireType, WireType.LengthDelimited)
let data = readLengthDelimited(stream)
addannotation(result, newgoogle_protobuf_GeneratedCodeInfo_Annotation(data))
- else: readUnknownField(stream, tag, result.unknownFields)
+ else: readUnknownField(stream, result, tag)
+
+proc toJson*(message: google_protobuf_GeneratedCodeInfo): JsonNode =
+ result = newJObject()
+ if hasannotation(message):
+ let arr = newJArray()
+ for value in message.annotation:
+ add(arr, toJson(value))
+ result["annotation"] = arr
proc serialize*(message: google_protobuf_GeneratedCodeInfo): string =
let
diff --git a/nimpb/compiler/generator.nim b/nimpb/compiler/generator.nim
index ea3531a..6fdeae1 100644
--- a/nimpb/compiler/generator.nim
+++ b/nimpb/compiler/generator.nim
@@ -591,9 +591,7 @@ proc mapValueField(message: Message): Field =
iterator genType(message: Message): string =
if not isMapEntry(message):
yield &"{message.names}* = ref {message.names}Obj"
- yield &"{message.names}Obj* = object of RootObj"
- yield indent(&"hasField: IntSet", 4)
- yield indent(&"unknownFields: seq[UnknownField]", 4)
+ yield &"{message.names}Obj* = object of Message"
for field in message.fields:
if isMapEntry(field):
@@ -613,8 +611,7 @@ iterator genType(message: Message): string =
iterator genNewMessageProc(msg: Message): string =
yield &"proc new{msg.names}*(): {msg.names} ="
yield indent("new(result)", 4)
- yield indent("result.hasField = initIntSet()", 4)
- yield indent("result.unknownFields = @[]", 4)
+ yield indent("initMessage(result[])", 4)
for field in msg.fields:
yield indent(&"result.{field.accessor} = {defaultValue(field)}", 4)
yield ""
@@ -632,12 +629,12 @@ iterator genClearFieldProc(msg: Message, field: Field): string =
var numbers: seq[int] = @[field.number]
for sibling in oneofSiblings(field):
add(numbers, sibling.number)
- yield indent(&"excl(message.hasField, [{join(numbers, \", \")}])", 4)
+ yield indent(&"clearFields(message, [{join(numbers, \", \")}])", 4)
yield ""
iterator genHasFieldProc(msg: Message, field: Field): string =
yield &"proc has{field.name}*(message: {msg.names}): bool ="
- var check = indent(&"result = contains(message.hasField, {field.number})", 4)
+ var check = indent(&"result = hasField(message, {field.number})", 4)
if isRepeated(field) or isMapEntry(field):
check = &"{check} or (len(message.{field.accessor}) > 0)"
yield check
@@ -646,18 +643,18 @@ iterator genHasFieldProc(msg: Message, field: Field): string =
iterator genSetFieldProc(msg: Message, field: Field): string =
yield &"proc set{field.name}*(message: {msg.names}, value: {field.fullType}) ="
yield indent(&"message.{field.accessor} = value", 4)
- yield indent(&"incl(message.hasField, {field.number})", 4)
+ yield indent(&"setField(message, {field.number})", 4)
var numbers: seq[int] = @[]
for sibling in oneofSiblings(field):
add(numbers, sibling.number)
if len(numbers) > 0:
- yield indent(&"excl(message.hasField, [{join(numbers, \", \")}])", 4)
+ yield indent(&"clearFields(message, [{join(numbers, \", \")}])", 4)
yield ""
iterator genAddToFieldProc(msg: Message, field: Field): string =
yield &"proc add{field.name}*(message: {msg.names}, value: {field.nimTypeName}) ="
yield indent(&"add(message.{field.name}, value)", 4)
- yield indent(&"incl(message.hasField, {field.number})", 4)
+ yield indent(&"setField(message, {field.number})", 4)
yield ""
iterator genFieldAccessorProcs(msg: Message, field: Field): string =
@@ -702,7 +699,7 @@ iterator genWriteMessageProc(msg: Message): string =
yield indent(&"if has{field.name}(message):", 4)
yield indent(&"{field.writeProc}(stream, message.{field.accessor}, {field.number})", 8)
- yield indent("writeUnknownFields(stream, message.unknownFields)", 4)
+ yield indent("writeUnknownFields(stream, message)", 4)
yield ""
@@ -798,7 +795,7 @@ iterator genReadMessageProc(msg: Message): string =
yield indent(&"{setter}(result, new{field.typeName}(data))", 12)
else:
yield indent(&"{setter}(result, {field.readProc}(stream))", 12)
- yield indent("else: readUnknownField(stream, tag, result.unknownFields)", 8)
+ yield indent("else: readUnknownField(stream, result, tag)", 8)
yield ""
iterator genSizeOfMapKVProc(message: Message): string =
@@ -851,8 +848,7 @@ iterator genSizeOfMessageProc(msg: Message): string =
else:
yield indent(&"result = result + {field.sizeOfProc}(message.{field.accessor})", 8)
- yield indent("for field in message.unknownFields:", 4)
- yield indent("result = result + sizeOfUnknownField(field)", 8)
+ yield indent("result = result + sizeOfUnknownFields(message)", 4)
yield ""
diff --git a/nimpb/compiler/nimpb_build.nim.cfg b/nimpb/compiler/nimpb_build.nim.cfg
new file mode 100644
index 0000000..1c2f0c1
--- /dev/null
+++ b/nimpb/compiler/nimpb_build.nim.cfg
@@ -0,0 +1 @@
+--path:"../.."
diff --git a/nimpb/nimpb.nim b/nimpb/nimpb.nim
index 4363c7d..2d0289c 100644
--- a/nimpb/nimpb.nim
+++ b/nimpb/nimpb.nim
@@ -70,6 +70,11 @@ type
else:
discard
+ Message* = ref MessageObj
+ MessageObj* = object of RootObj
+ hasField: IntSet
+ unknownFields: seq[UnknownField]
+
proc wiretype*(ft: FieldType): WireType =
case ft
of FieldType.Double: result = WireType.Fixed64
@@ -572,6 +577,9 @@ proc readUnknownField*(stream: ProtobufStream, tag: Tag,
add(fields, field)
+proc readUnknownField*(stream: ProtobufStream, message: Message, tag: Tag) =
+ readUnknownField(stream, tag, message.unknownFields)
+
proc writeUnknownFields*(stream: ProtobufStream, fields: seq[UnknownField]) =
for field in fields:
case field.wiretype
@@ -587,6 +595,9 @@ proc writeUnknownFields*(stream: ProtobufStream, fields: seq[UnknownField]) =
else:
raise newException(Exception, "unsupported wiretype: " & $field.wiretype)
+proc writeUnknownFields*(stream: ProtobufStream, message: Message) =
+ writeUnknownFields(stream, message.unknownFields)
+
proc discardUnknownFields*[T](message: T) =
message.unknownFields = @[]
@@ -603,3 +614,25 @@ proc sizeOfUnknownField*(field: UnknownField): uint64 =
result = result + sizeOfLengthDelimited(uint64(len(field.data)))
else:
raise newException(Exception, "unsupported wiretype: " & $field.wiretype)
+
+proc sizeOfUnknownFields*(message: Message): uint64 =
+ for field in message.unknownFields:
+ result = result + sizeOfUnknownField(field)
+
+proc initMessage*(message: var MessageObj) =
+ message.hasField = initIntSet()
+ message.unknownFields = @[]
+
+proc hasField*(message: Message, fieldNumber: int): bool =
+ contains(message.hasField, fieldNumber)
+
+proc hasFields*(message: Message, fieldNumbers: openArray[int]): bool =
+ for fieldNumber in fieldNumbers:
+ if contains(message.hasField, fieldNumber):
+ return true
+
+proc clearFields*(message: Message, fieldNumbers: openArray[int]) =
+ excl(message.hasField, fieldNumbers)
+
+proc setField*(message: Message, fieldNumber: int) =
+ incl(message.hasField, fieldNumber)