aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOskari Timperi <oskari.timperi@iki.fi>2018-04-11 20:03:10 +0300
committerOskari Timperi <oskari.timperi@iki.fi>2018-04-11 20:03:10 +0300
commitb083470799b4382c315b47dd92a69d5abc7d541c (patch)
treee81a3a0e0e033688bcbbc8a901aa2ee22f569191
parent641e564c7d231b536e9e44c04c95307fef7cfe06 (diff)
downloadnimpb_protoc-b083470799b4382c315b47dd92a69d5abc7d541c.tar.gz
nimpb_protoc-b083470799b4382c315b47dd92a69d5abc7d541c.zip
Make this repo only a container for protoc
-rw-r--r--nimpb_build.nimble4
-rw-r--r--src/nimpb_build.nim108
-rw-r--r--src/nimpb_buildpkg/descriptor_pb.nim4801
-rw-r--r--src/nimpb_buildpkg/plugin.nim1084
4 files changed, 13 insertions, 5984 deletions
diff --git a/nimpb_build.nimble b/nimpb_build.nimble
index 9ce9ca9..5808482 100644
--- a/nimpb_build.nimble
+++ b/nimpb_build.nimble
@@ -2,15 +2,13 @@
version = "0.1.0"
author = "Oskari Timperi"
-description = "A Protocol Buffers code generator for nimpb"
+description = "Protocol Buffers compiler for nimpb"
license = "MIT"
srcDir = "src"
-bin = @["nimpb_build"]
# Dependencies
requires "nim >= 0.18.0"
-requires "nimpb"
task fetch, "fetch prebuilt protoc binaries":
exec "nim c -d:ssl -r fetch"
diff --git a/src/nimpb_build.nim b/src/nimpb_build.nim
index f1d4c0d..9a3f018 100644
--- a/src/nimpb_build.nim
+++ b/src/nimpb_build.nim
@@ -1,13 +1,5 @@
import os
-import osproc
-import streams
import strformat
-import strtabs
-import strutils
-
-from nimpb_buildpkg/plugin import processFileDescriptorSet, ServiceGenerator, Service, ServiceMethod
-
-export Service, ServiceMethod
when defined(windows):
const compilerId = "win32"
@@ -35,14 +27,16 @@ when defined(windows):
else:
const exeSuffix = ""
-proc findCompiler(): string =
+let
+ paths = @[
+ # getAppDir() / "src" / "nimpb_buildpkg" / "protobuf",
+ # getAppDir() / "nimpb_buildpkg" / "protobuf",
+ parentDir(currentSourcePath()) / "nimpb_buildpkg" / "protobuf",
+ ]
+
+proc getCompilerPath*(): string =
let
compilerName = &"protoc-{compilerId}{exeSuffix}"
- paths = @[
- getAppDir() / "src" / "nimpb_buildpkg" / "protobuf",
- getAppDir() / "nimpb_buildpkg" / "protobuf",
- parentDir(currentSourcePath()) / "nimpb_buildpkg" / "protobuf",
- ]
for path in paths:
if fileExists(path / compilerName):
@@ -50,85 +44,7 @@ proc findCompiler(): string =
raise newException(Exception, &"{compilerName} not found!")
-proc builtinIncludeDir(compilerPath: string): string =
- parentDir(compilerPath) / "include"
-
-template verboseEcho(x: untyped): untyped =
- if verbose:
- echo(x)
-
-proc myTempDir(): string =
- result = getTempDir() / "nimpb_build_tmp"
-
-proc compileProtos*(protos: openArray[string],
- includes: openArray[string],
- outdir: string,
- serviceGenerator: ServiceGenerator = nil) =
- let command = findCompiler()
- var args: seq[string] = @[]
-
- var outputFilename = myTempDir() / "file-descriptor-set"
- createDir(myTempDir())
-
- add(args, "--include_imports")
- add(args, "--include_source_info")
- add(args, &"-o{outputFilename}")
-
- for incdir in includes:
- add(args, &"-I{incdir}")
-
- add(args, &"-I{builtinIncludeDir(command)}")
-
- for proto in protos:
- add(args, proto)
-
- var cmdline: string = quoteShell(command)
- for arg in args:
- cmdline &= " " & quoteShell(arg)
-
- let (outp, rc) = execCmdEx(cmdline)
-
- if rc != 0:
- raise newException(Exception, outp)
-
- processFileDescriptorSet(outputFilename, outdir, protos, serviceGenerator)
-
-
-when isMainModule:
- proc usage() {.noreturn.} =
- echo(&"""
- {getAppFilename()} --out=OUTDIR [-IPATH [-IPATH]...] PROTOFILE...
-
- --out The output directory for the generated files
- -I Add a path to the set of include paths
- """)
- quit(QuitFailure)
-
- var includes: seq[string] = @[]
- var protos: seq[string] = @[]
- var outdir: string
-
- if paramCount() == 0:
- usage()
-
- for idx in 1..paramCount():
- let param = paramStr(idx)
-
- if param.startsWith("-I"):
- add(includes, param[2..^1])
- elif param.startsWith("--out="):
- outdir = param[6..^1]
- elif param == "--help":
- usage()
- else:
- add(protos, param)
-
- if outdir == nil:
- echo("error: --out is required")
- quit(QuitFailure)
-
- if len(protos) == 0:
- echo("error: no input files")
- quit(QuitFailure)
-
- compileProtos(protos, includes, outdir)
+proc getProtoIncludeDir*(): string =
+ for path in paths:
+ if fileExists(path / "include"):
+ return path / "include"
diff --git a/src/nimpb_buildpkg/descriptor_pb.nim b/src/nimpb_buildpkg/descriptor_pb.nim
deleted file mode 100644
index b6ed832..0000000
--- a/src/nimpb_buildpkg/descriptor_pb.nim
+++ /dev/null
@@ -1,4801 +0,0 @@
-# Generated by protoc_gen_nim. Do not edit!
-
-import intsets
-
-import nimpb/nimpb
-
-type
- google_protobuf_FieldDescriptorProto_Type* {.pure.} = enum
- TYPE_DOUBLE = 1
- TYPE_FLOAT = 2
- TYPE_INT64 = 3
- TYPE_UINT64 = 4
- TYPE_INT32 = 5
- TYPE_FIXED64 = 6
- TYPE_FIXED32 = 7
- TYPE_BOOL = 8
- TYPE_STRING = 9
- TYPE_GROUP = 10
- TYPE_MESSAGE = 11
- TYPE_BYTES = 12
- TYPE_UINT32 = 13
- TYPE_ENUM = 14
- TYPE_SFIXED32 = 15
- TYPE_SFIXED64 = 16
- TYPE_SINT32 = 17
- TYPE_SINT64 = 18
- google_protobuf_FieldDescriptorProto_Label* {.pure.} = enum
- LABEL_OPTIONAL = 1
- LABEL_REQUIRED = 2
- LABEL_REPEATED = 3
- google_protobuf_FileOptions_OptimizeMode* {.pure.} = enum
- SPEED = 1
- CODE_SIZE = 2
- LITE_RUNTIME = 3
- google_protobuf_FieldOptions_CType* {.pure.} = enum
- STRING = 0
- CORD = 1
- STRING_PIECE = 2
- google_protobuf_FieldOptions_JSType* {.pure.} = enum
- JS_NORMAL = 0
- JS_STRING = 1
- JS_NUMBER = 2
- google_protobuf_MethodOptions_IdempotencyLevel* {.pure.} = enum
- IDEMPOTENCY_UNKNOWN = 0
- NO_SIDE_EFFECTS = 1
- IDEMPOTENT = 2
- google_protobuf_FileDescriptorSet* = ref google_protobuf_FileDescriptorSetObj
- google_protobuf_FileDescriptorSetObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
- file: seq[google_protobuf_FileDescriptorProto]
- google_protobuf_FileDescriptorProto* = ref google_protobuf_FileDescriptorProtoObj
- google_protobuf_FileDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
- name: string
- package: string
- dependency: seq[string]
- public_dependency: seq[int32]
- weak_dependency: seq[int32]
- message_type: seq[google_protobuf_DescriptorProto]
- enum_type: seq[google_protobuf_EnumDescriptorProto]
- service: seq[google_protobuf_ServiceDescriptorProto]
- extension: seq[google_protobuf_FieldDescriptorProto]
- options: google_protobuf_FileOptions
- 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]
- name: string
- field: seq[google_protobuf_FieldDescriptorProto]
- extension: seq[google_protobuf_FieldDescriptorProto]
- nested_type: seq[google_protobuf_DescriptorProto]
- enum_type: seq[google_protobuf_EnumDescriptorProto]
- extension_range: seq[google_protobuf_DescriptorProto_ExtensionRange]
- oneof_decl: seq[google_protobuf_OneofDescriptorProto]
- options: google_protobuf_MessageOptions
- 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]
- 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]
- 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]
- uninterpreted_option: seq[google_protobuf_UninterpretedOption]
- google_protobuf_FieldDescriptorProto* = ref google_protobuf_FieldDescriptorProtoObj
- google_protobuf_FieldDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
- name: string
- number: int32
- label: google_protobuf_FieldDescriptorProto_Label
- ftype: google_protobuf_FieldDescriptorProto_Type
- type_name: string
- extendee: string
- default_value: string
- oneof_index: int32
- 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]
- name: string
- options: google_protobuf_OneofOptions
- google_protobuf_EnumDescriptorProto* = ref google_protobuf_EnumDescriptorProtoObj
- google_protobuf_EnumDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
- 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]
- start: int32
- fend: int32
- google_protobuf_EnumValueDescriptorProto* = ref google_protobuf_EnumValueDescriptorProtoObj
- google_protobuf_EnumValueDescriptorProtoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
- 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]
- 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]
- name: string
- input_type: string
- output_type: string
- options: google_protobuf_MethodOptions
- client_streaming: bool
- server_streaming: bool
- google_protobuf_FileOptions* = ref google_protobuf_FileOptionsObj
- google_protobuf_FileOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
- java_package: string
- java_outer_classname: string
- java_multiple_files: bool
- java_generate_equals_and_hash: bool
- java_string_check_utf8: bool
- optimize_for: google_protobuf_FileOptions_OptimizeMode
- go_package: string
- cc_generic_services: bool
- java_generic_services: bool
- py_generic_services: bool
- php_generic_services: bool
- deprecated: bool
- cc_enable_arenas: bool
- objc_class_prefix: string
- csharp_namespace: string
- swift_prefix: string
- php_class_prefix: string
- 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]
- 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]
- ctype: google_protobuf_FieldOptions_CType
- packed: bool
- jstype: google_protobuf_FieldOptions_JSType
- lazy: bool
- deprecated: bool
- 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]
- uninterpreted_option: seq[google_protobuf_UninterpretedOption]
- google_protobuf_EnumOptions* = ref google_protobuf_EnumOptionsObj
- google_protobuf_EnumOptionsObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
- 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]
- 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]
- 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]
- 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]
- name: seq[google_protobuf_UninterpretedOption_NamePart]
- identifier_value: string
- positive_int_value: uint64
- negative_int_value: int64
- double_value: float64
- 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]
- name_part: string
- is_extension: bool
- google_protobuf_SourceCodeInfo* = ref google_protobuf_SourceCodeInfoObj
- google_protobuf_SourceCodeInfoObj* = object of RootObj
- hasField: IntSet
- unknownFields: seq[UnknownField]
- 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]
- 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]
- 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]
- path: seq[int32]
- source_file: string
- begin: int32
- fend: int32
-
-proc newgoogle_protobuf_UninterpretedOption_NamePart*(): google_protobuf_UninterpretedOption_NamePart
-proc newgoogle_protobuf_UninterpretedOption_NamePart*(data: string): google_protobuf_UninterpretedOption_NamePart
-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 newgoogle_protobuf_UninterpretedOption_NamePart*(): google_protobuf_UninterpretedOption_NamePart =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name_part = ""
- result.is_extension = false
-
-proc clearname_part*(message: google_protobuf_UninterpretedOption_NamePart) =
- message.name_part = ""
- excl(message.hasField, [1])
-
-proc hasname_part*(message: google_protobuf_UninterpretedOption_NamePart): bool =
- result = contains(message.hasField, 1)
-
-proc setname_part*(message: google_protobuf_UninterpretedOption_NamePart, value: string) =
- message.name_part = value
- incl(message.hasField, 1)
-
-proc name_part*(message: google_protobuf_UninterpretedOption_NamePart): string {.inline.} =
- message.name_part
-
-proc `name_part=`*(message: google_protobuf_UninterpretedOption_NamePart, value: string) {.inline.} =
- setname_part(message, value)
-
-proc clearis_extension*(message: google_protobuf_UninterpretedOption_NamePart) =
- message.is_extension = false
- excl(message.hasField, [2])
-
-proc hasis_extension*(message: google_protobuf_UninterpretedOption_NamePart): bool =
- result = contains(message.hasField, 2)
-
-proc setis_extension*(message: google_protobuf_UninterpretedOption_NamePart, value: bool) =
- message.is_extension = value
- incl(message.hasField, 2)
-
-proc is_extension*(message: google_protobuf_UninterpretedOption_NamePart): bool {.inline.} =
- message.is_extension
-
-proc `is_extension=`*(message: google_protobuf_UninterpretedOption_NamePart, value: bool) {.inline.} =
- setis_extension(message, value)
-
-proc sizeOfgoogle_protobuf_UninterpretedOption_NamePart*(message: google_protobuf_UninterpretedOption_NamePart): uint64 =
- if hasname_part(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name_part)
- if hasis_extension(message):
- result = result + sizeOfTag(2, WireType.Varint)
- result = result + sizeOfBool(message.is_extension)
-
-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)
-
-proc readgoogle_protobuf_UninterpretedOption_NamePart*(stream: ProtobufStream): google_protobuf_UninterpretedOption_NamePart =
- result = newgoogle_protobuf_UninterpretedOption_NamePart()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname_part(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.Varint)
- setis_extension(result, readBool(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_UninterpretedOption_NamePart): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_UninterpretedOption_NamePart(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_UninterpretedOption_NamePart*(data: string): google_protobuf_UninterpretedOption_NamePart =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_UninterpretedOption_NamePart(pbs)
-
-
-proc newgoogle_protobuf_UninterpretedOption*(): google_protobuf_UninterpretedOption =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = @[]
- result.identifier_value = ""
- result.positive_int_value = 0
- result.negative_int_value = 0
- result.double_value = 0
- result.string_value = bytes("")
- result.aggregate_value = ""
-
-proc clearname*(message: google_protobuf_UninterpretedOption) =
- message.name = @[]
- excl(message.hasField, [2])
-
-proc hasname*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 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)
-
-proc addname*(message: google_protobuf_UninterpretedOption, value: google_protobuf_UninterpretedOption_NamePart) =
- add(message.name, value)
- incl(message.hasField, 2)
-
-proc name*(message: google_protobuf_UninterpretedOption): seq[google_protobuf_UninterpretedOption_NamePart] {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_UninterpretedOption, value: seq[google_protobuf_UninterpretedOption_NamePart]) {.inline.} =
- setname(message, value)
-
-proc clearidentifier_value*(message: google_protobuf_UninterpretedOption) =
- message.identifier_value = ""
- excl(message.hasField, [3])
-
-proc hasidentifier_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 3)
-
-proc setidentifier_value*(message: google_protobuf_UninterpretedOption, value: string) =
- message.identifier_value = value
- incl(message.hasField, 3)
-
-proc identifier_value*(message: google_protobuf_UninterpretedOption): string {.inline.} =
- message.identifier_value
-
-proc `identifier_value=`*(message: google_protobuf_UninterpretedOption, value: string) {.inline.} =
- setidentifier_value(message, value)
-
-proc clearpositive_int_value*(message: google_protobuf_UninterpretedOption) =
- message.positive_int_value = 0
- excl(message.hasField, [4])
-
-proc haspositive_int_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 4)
-
-proc setpositive_int_value*(message: google_protobuf_UninterpretedOption, value: uint64) =
- message.positive_int_value = value
- incl(message.hasField, 4)
-
-proc positive_int_value*(message: google_protobuf_UninterpretedOption): uint64 {.inline.} =
- message.positive_int_value
-
-proc `positive_int_value=`*(message: google_protobuf_UninterpretedOption, value: uint64) {.inline.} =
- setpositive_int_value(message, value)
-
-proc clearnegative_int_value*(message: google_protobuf_UninterpretedOption) =
- message.negative_int_value = 0
- excl(message.hasField, [5])
-
-proc hasnegative_int_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 5)
-
-proc setnegative_int_value*(message: google_protobuf_UninterpretedOption, value: int64) =
- message.negative_int_value = value
- incl(message.hasField, 5)
-
-proc negative_int_value*(message: google_protobuf_UninterpretedOption): int64 {.inline.} =
- message.negative_int_value
-
-proc `negative_int_value=`*(message: google_protobuf_UninterpretedOption, value: int64) {.inline.} =
- setnegative_int_value(message, value)
-
-proc cleardouble_value*(message: google_protobuf_UninterpretedOption) =
- message.double_value = 0
- excl(message.hasField, [6])
-
-proc hasdouble_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 6)
-
-proc setdouble_value*(message: google_protobuf_UninterpretedOption, value: float64) =
- message.double_value = value
- incl(message.hasField, 6)
-
-proc double_value*(message: google_protobuf_UninterpretedOption): float64 {.inline.} =
- message.double_value
-
-proc `double_value=`*(message: google_protobuf_UninterpretedOption, value: float64) {.inline.} =
- setdouble_value(message, value)
-
-proc clearstring_value*(message: google_protobuf_UninterpretedOption) =
- message.string_value = bytes("")
- excl(message.hasField, [7])
-
-proc hasstring_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 7)
-
-proc setstring_value*(message: google_protobuf_UninterpretedOption, value: bytes) =
- message.string_value = value
- incl(message.hasField, 7)
-
-proc string_value*(message: google_protobuf_UninterpretedOption): bytes {.inline.} =
- message.string_value
-
-proc `string_value=`*(message: google_protobuf_UninterpretedOption, value: bytes) {.inline.} =
- setstring_value(message, value)
-
-proc clearaggregate_value*(message: google_protobuf_UninterpretedOption) =
- message.aggregate_value = ""
- excl(message.hasField, [8])
-
-proc hasaggregate_value*(message: google_protobuf_UninterpretedOption): bool =
- result = contains(message.hasField, 8)
-
-proc setaggregate_value*(message: google_protobuf_UninterpretedOption, value: string) =
- message.aggregate_value = value
- incl(message.hasField, 8)
-
-proc aggregate_value*(message: google_protobuf_UninterpretedOption): string {.inline.} =
- message.aggregate_value
-
-proc `aggregate_value=`*(message: google_protobuf_UninterpretedOption, value: string) {.inline.} =
- setaggregate_value(message, value)
-
-proc sizeOfgoogle_protobuf_UninterpretedOption*(message: google_protobuf_UninterpretedOption): uint64 =
- for value in message.name:
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption_NamePart(value))
- if hasidentifier_value(message):
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfString(message.identifier_value)
- if haspositive_int_value(message):
- result = result + sizeOfTag(4, WireType.Varint)
- result = result + sizeOfUInt64(message.positive_int_value)
- if hasnegative_int_value(message):
- result = result + sizeOfTag(5, WireType.Varint)
- result = result + sizeOfInt64(message.negative_int_value)
- if hasdouble_value(message):
- result = result + sizeOfTag(6, WireType.Fixed64)
- result = result + sizeOfDouble(message.double_value)
- if hasstring_value(message):
- result = result + sizeOfTag(7, WireType.LengthDelimited)
- result = result + sizeOfBytes(message.string_value)
- if hasaggregate_value(message):
- result = result + sizeOfTag(8, WireType.LengthDelimited)
- result = result + sizeOfString(message.aggregate_value)
-
-proc writegoogle_protobuf_UninterpretedOption*(stream: ProtobufStream, message: google_protobuf_UninterpretedOption) =
- for value in message.name:
- writeMessage(stream, value, 2)
- if hasidentifier_value(message):
- writeString(stream, message.identifier_value, 3)
- if haspositive_int_value(message):
- writeUInt64(stream, message.positive_int_value, 4)
- if hasnegative_int_value(message):
- writeInt64(stream, message.negative_int_value, 5)
- if hasdouble_value(message):
- writeDouble(stream, message.double_value, 6)
- if hasstring_value(message):
- writeBytes(stream, message.string_value, 7)
- if hasaggregate_value(message):
- writeString(stream, message.aggregate_value, 8)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_UninterpretedOption*(stream: ProtobufStream): google_protobuf_UninterpretedOption =
- result = newgoogle_protobuf_UninterpretedOption()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addname(result, newgoogle_protobuf_UninterpretedOption_NamePart(data))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- setidentifier_value(result, readString(stream))
- of 4:
- expectWireType(wireType, WireType.Varint)
- setpositive_int_value(result, readUInt64(stream))
- of 5:
- expectWireType(wireType, WireType.Varint)
- setnegative_int_value(result, readInt64(stream))
- of 6:
- expectWireType(wireType, WireType.Fixed64)
- setdouble_value(result, readDouble(stream))
- of 7:
- expectWireType(wireType, WireType.LengthDelimited)
- setstring_value(result, readBytes(stream))
- of 8:
- expectWireType(wireType, WireType.LengthDelimited)
- setaggregate_value(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_UninterpretedOption): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_UninterpretedOption(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_UninterpretedOption*(data: string): google_protobuf_UninterpretedOption =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_UninterpretedOption(pbs)
-
-
-proc newgoogle_protobuf_EnumValueOptions*(): google_protobuf_EnumValueOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.deprecated = false
- result.uninterpreted_option = @[]
-
-proc cleardeprecated*(message: google_protobuf_EnumValueOptions) =
- message.deprecated = false
- excl(message.hasField, [1])
-
-proc hasdeprecated*(message: google_protobuf_EnumValueOptions): bool =
- result = contains(message.hasField, 1)
-
-proc setdeprecated*(message: google_protobuf_EnumValueOptions, value: bool) =
- message.deprecated = value
- incl(message.hasField, 1)
-
-proc deprecated*(message: google_protobuf_EnumValueOptions): bool {.inline.} =
- message.deprecated
-
-proc `deprecated=`*(message: google_protobuf_EnumValueOptions, value: bool) {.inline.} =
- setdeprecated(message, value)
-
-proc clearuninterpreted_option*(message: google_protobuf_EnumValueOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_EnumValueOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_EnumValueOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_EnumValueOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_EnumValueOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_EnumValueOptions*(message: google_protobuf_EnumValueOptions): uint64 =
- if hasdeprecated(message):
- result = result + sizeOfTag(1, WireType.Varint)
- result = result + sizeOfBool(message.deprecated)
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-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)
-
-proc readgoogle_protobuf_EnumValueOptions*(stream: ProtobufStream): google_protobuf_EnumValueOptions =
- result = newgoogle_protobuf_EnumValueOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.Varint)
- setdeprecated(result, readBool(stream))
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_EnumValueOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_EnumValueOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_EnumValueOptions*(data: string): google_protobuf_EnumValueOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_EnumValueOptions(pbs)
-
-
-proc newgoogle_protobuf_EnumValueDescriptorProto*(): google_protobuf_EnumValueDescriptorProto =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = ""
- result.number = 0
- result.options = nil
-
-proc clearname*(message: google_protobuf_EnumValueDescriptorProto) =
- message.name = ""
- excl(message.hasField, [1])
-
-proc hasname*(message: google_protobuf_EnumValueDescriptorProto): bool =
- result = contains(message.hasField, 1)
-
-proc setname*(message: google_protobuf_EnumValueDescriptorProto, value: string) =
- message.name = value
- incl(message.hasField, 1)
-
-proc name*(message: google_protobuf_EnumValueDescriptorProto): string {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_EnumValueDescriptorProto, value: string) {.inline.} =
- setname(message, value)
-
-proc clearnumber*(message: google_protobuf_EnumValueDescriptorProto) =
- message.number = 0
- excl(message.hasField, [2])
-
-proc hasnumber*(message: google_protobuf_EnumValueDescriptorProto): bool =
- result = contains(message.hasField, 2)
-
-proc setnumber*(message: google_protobuf_EnumValueDescriptorProto, value: int32) =
- message.number = value
- incl(message.hasField, 2)
-
-proc number*(message: google_protobuf_EnumValueDescriptorProto): int32 {.inline.} =
- message.number
-
-proc `number=`*(message: google_protobuf_EnumValueDescriptorProto, value: int32) {.inline.} =
- setnumber(message, value)
-
-proc clearoptions*(message: google_protobuf_EnumValueDescriptorProto) =
- message.options = nil
- excl(message.hasField, [3])
-
-proc hasoptions*(message: google_protobuf_EnumValueDescriptorProto): bool =
- result = contains(message.hasField, 3)
-
-proc setoptions*(message: google_protobuf_EnumValueDescriptorProto, value: google_protobuf_EnumValueOptions) =
- message.options = value
- incl(message.hasField, 3)
-
-proc options*(message: google_protobuf_EnumValueDescriptorProto): google_protobuf_EnumValueOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_EnumValueDescriptorProto, value: google_protobuf_EnumValueOptions) {.inline.} =
- setoptions(message, value)
-
-proc sizeOfgoogle_protobuf_EnumValueDescriptorProto*(message: google_protobuf_EnumValueDescriptorProto): uint64 =
- if hasname(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name)
- if hasnumber(message):
- result = result + sizeOfTag(2, WireType.Varint)
- result = result + sizeOfInt32(message.number)
- if hasoptions(message):
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_EnumValueOptions(message.options))
-
-proc writegoogle_protobuf_EnumValueDescriptorProto*(stream: ProtobufStream, message: google_protobuf_EnumValueDescriptorProto) =
- if hasname(message):
- writeString(stream, message.name, 1)
- if hasnumber(message):
- writeInt32(stream, message.number, 2)
- if hasoptions(message):
- writeMessage(stream, message.options, 3)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_EnumValueDescriptorProto*(stream: ProtobufStream): google_protobuf_EnumValueDescriptorProto =
- result = newgoogle_protobuf_EnumValueDescriptorProto()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.Varint)
- setnumber(result, readInt32(stream))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_EnumValueOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_EnumValueDescriptorProto): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_EnumValueDescriptorProto(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_EnumValueDescriptorProto*(data: string): google_protobuf_EnumValueDescriptorProto =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_EnumValueDescriptorProto(pbs)
-
-
-proc newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(): google_protobuf_EnumDescriptorProto_EnumReservedRange =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.start = 0
- result.fend = 0
-
-proc clearstart*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange) =
- message.start = 0
- excl(message.hasField, [1])
-
-proc hasstart*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): bool =
- result = contains(message.hasField, 1)
-
-proc setstart*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange, value: int32) =
- message.start = value
- incl(message.hasField, 1)
-
-proc start*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): int32 {.inline.} =
- message.start
-
-proc `start=`*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange, value: int32) {.inline.} =
- setstart(message, value)
-
-proc clearfend*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange) =
- message.fend = 0
- excl(message.hasField, [2])
-
-proc hasfend*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): bool =
- result = contains(message.hasField, 2)
-
-proc setfend*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange, value: int32) =
- message.fend = value
- incl(message.hasField, 2)
-
-proc fend*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): int32 {.inline.} =
- message.fend
-
-proc `fend=`*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange, value: int32) {.inline.} =
- setfend(message, value)
-
-proc sizeOfgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): uint64 =
- if hasstart(message):
- result = result + sizeOfTag(1, WireType.Varint)
- result = result + sizeOfInt32(message.start)
- if hasfend(message):
- result = result + sizeOfTag(2, WireType.Varint)
- result = result + sizeOfInt32(message.fend)
-
-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)
-
-proc readgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(stream: ProtobufStream): google_protobuf_EnumDescriptorProto_EnumReservedRange =
- result = newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.Varint)
- setstart(result, readInt32(stream))
- of 2:
- expectWireType(wireType, WireType.Varint)
- setfend(result, readInt32(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_EnumDescriptorProto_EnumReservedRange): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_EnumDescriptorProto_EnumReservedRange(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange*(data: string): google_protobuf_EnumDescriptorProto_EnumReservedRange =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_EnumDescriptorProto_EnumReservedRange(pbs)
-
-
-proc newgoogle_protobuf_EnumOptions*(): google_protobuf_EnumOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- 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])
-
-proc hasallow_alias*(message: google_protobuf_EnumOptions): bool =
- result = contains(message.hasField, 2)
-
-proc setallow_alias*(message: google_protobuf_EnumOptions, value: bool) =
- message.allow_alias = value
- incl(message.hasField, 2)
-
-proc allow_alias*(message: google_protobuf_EnumOptions): bool {.inline.} =
- message.allow_alias
-
-proc `allow_alias=`*(message: google_protobuf_EnumOptions, value: bool) {.inline.} =
- setallow_alias(message, value)
-
-proc cleardeprecated*(message: google_protobuf_EnumOptions) =
- message.deprecated = false
- excl(message.hasField, [3])
-
-proc hasdeprecated*(message: google_protobuf_EnumOptions): bool =
- result = contains(message.hasField, 3)
-
-proc setdeprecated*(message: google_protobuf_EnumOptions, value: bool) =
- message.deprecated = value
- incl(message.hasField, 3)
-
-proc deprecated*(message: google_protobuf_EnumOptions): bool {.inline.} =
- message.deprecated
-
-proc `deprecated=`*(message: google_protobuf_EnumOptions, value: bool) {.inline.} =
- setdeprecated(message, value)
-
-proc clearuninterpreted_option*(message: google_protobuf_EnumOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_EnumOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_EnumOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_EnumOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_EnumOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_EnumOptions*(message: google_protobuf_EnumOptions): uint64 =
- if hasallow_alias(message):
- result = result + sizeOfTag(2, WireType.Varint)
- result = result + sizeOfBool(message.allow_alias)
- if hasdeprecated(message):
- result = result + sizeOfTag(3, WireType.Varint)
- result = result + sizeOfBool(message.deprecated)
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-proc writegoogle_protobuf_EnumOptions*(stream: ProtobufStream, message: google_protobuf_EnumOptions) =
- if hasallow_alias(message):
- writeBool(stream, message.allow_alias, 2)
- if hasdeprecated(message):
- writeBool(stream, message.deprecated, 3)
- for value in message.uninterpreted_option:
- writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_EnumOptions*(stream: ProtobufStream): google_protobuf_EnumOptions =
- result = newgoogle_protobuf_EnumOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 2:
- expectWireType(wireType, WireType.Varint)
- setallow_alias(result, readBool(stream))
- of 3:
- expectWireType(wireType, WireType.Varint)
- setdeprecated(result, readBool(stream))
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_EnumOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_EnumOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_EnumOptions*(data: string): google_protobuf_EnumOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_EnumOptions(pbs)
-
-
-proc newgoogle_protobuf_EnumDescriptorProto*(): google_protobuf_EnumDescriptorProto =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = ""
- result.value = @[]
- result.options = nil
- result.reserved_range = @[]
- result.reserved_name = @[]
-
-proc clearname*(message: google_protobuf_EnumDescriptorProto) =
- message.name = ""
- excl(message.hasField, [1])
-
-proc hasname*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 1)
-
-proc setname*(message: google_protobuf_EnumDescriptorProto, value: string) =
- message.name = value
- incl(message.hasField, 1)
-
-proc name*(message: google_protobuf_EnumDescriptorProto): string {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_EnumDescriptorProto, value: string) {.inline.} =
- setname(message, value)
-
-proc clearvalue*(message: google_protobuf_EnumDescriptorProto) =
- message.value = @[]
- excl(message.hasField, [2])
-
-proc hasvalue*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 2) or (len(message.value) > 0)
-
-proc setvalue*(message: google_protobuf_EnumDescriptorProto, value: seq[google_protobuf_EnumValueDescriptorProto]) =
- message.value = value
- incl(message.hasField, 2)
-
-proc addvalue*(message: google_protobuf_EnumDescriptorProto, value: google_protobuf_EnumValueDescriptorProto) =
- add(message.value, value)
- incl(message.hasField, 2)
-
-proc value*(message: google_protobuf_EnumDescriptorProto): seq[google_protobuf_EnumValueDescriptorProto] {.inline.} =
- message.value
-
-proc `value=`*(message: google_protobuf_EnumDescriptorProto, value: seq[google_protobuf_EnumValueDescriptorProto]) {.inline.} =
- setvalue(message, value)
-
-proc clearoptions*(message: google_protobuf_EnumDescriptorProto) =
- message.options = nil
- excl(message.hasField, [3])
-
-proc hasoptions*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 3)
-
-proc setoptions*(message: google_protobuf_EnumDescriptorProto, value: google_protobuf_EnumOptions) =
- message.options = value
- incl(message.hasField, 3)
-
-proc options*(message: google_protobuf_EnumDescriptorProto): google_protobuf_EnumOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_EnumDescriptorProto, value: google_protobuf_EnumOptions) {.inline.} =
- setoptions(message, value)
-
-proc clearreserved_range*(message: google_protobuf_EnumDescriptorProto) =
- message.reserved_range = @[]
- excl(message.hasField, [4])
-
-proc hasreserved_range*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addreserved_range*(message: google_protobuf_EnumDescriptorProto, value: google_protobuf_EnumDescriptorProto_EnumReservedRange) =
- add(message.reserved_range, value)
- incl(message.hasField, 4)
-
-proc reserved_range*(message: google_protobuf_EnumDescriptorProto): seq[google_protobuf_EnumDescriptorProto_EnumReservedRange] {.inline.} =
- message.reserved_range
-
-proc `reserved_range=`*(message: google_protobuf_EnumDescriptorProto, value: seq[google_protobuf_EnumDescriptorProto_EnumReservedRange]) {.inline.} =
- setreserved_range(message, value)
-
-proc clearreserved_name*(message: google_protobuf_EnumDescriptorProto) =
- message.reserved_name = @[]
- excl(message.hasField, [5])
-
-proc hasreserved_name*(message: google_protobuf_EnumDescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addreserved_name*(message: google_protobuf_EnumDescriptorProto, value: string) =
- add(message.reserved_name, value)
- incl(message.hasField, 5)
-
-proc reserved_name*(message: google_protobuf_EnumDescriptorProto): seq[string] {.inline.} =
- message.reserved_name
-
-proc `reserved_name=`*(message: google_protobuf_EnumDescriptorProto, value: seq[string]) {.inline.} =
- setreserved_name(message, value)
-
-proc sizeOfgoogle_protobuf_EnumDescriptorProto*(message: google_protobuf_EnumDescriptorProto): uint64 =
- if hasname(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name)
- for value in message.value:
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_EnumValueDescriptorProto(value))
- if hasoptions(message):
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_EnumOptions(message.options))
- for value in message.reserved_range:
- result = result + sizeOfTag(4, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_EnumDescriptorProto_EnumReservedRange(value))
- for value in message.reserved_name:
- result = result + sizeOfTag(5, WireType.LengthDelimited)
- result = result + sizeOfString(value)
-
-proc writegoogle_protobuf_EnumDescriptorProto*(stream: ProtobufStream, message: google_protobuf_EnumDescriptorProto) =
- if hasname(message):
- writeString(stream, message.name, 1)
- for value in message.value:
- writeMessage(stream, value, 2)
- if hasoptions(message):
- writeMessage(stream, message.options, 3)
- for value in message.reserved_range:
- writeMessage(stream, value, 4)
- for value in message.reserved_name:
- writeString(stream, value, 5)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_EnumDescriptorProto*(stream: ProtobufStream): google_protobuf_EnumDescriptorProto =
- result = newgoogle_protobuf_EnumDescriptorProto()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addvalue(result, newgoogle_protobuf_EnumValueDescriptorProto(data))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_EnumOptions(data))
- of 4:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addreserved_range(result, newgoogle_protobuf_EnumDescriptorProto_EnumReservedRange(data))
- of 5:
- expectWireType(wireType, WireType.LengthDelimited)
- addreserved_name(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_EnumDescriptorProto): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_EnumDescriptorProto(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_EnumDescriptorProto*(data: string): google_protobuf_EnumDescriptorProto =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_EnumDescriptorProto(pbs)
-
-
-proc newgoogle_protobuf_ExtensionRangeOptions*(): google_protobuf_ExtensionRangeOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.uninterpreted_option = @[]
-
-proc clearuninterpreted_option*(message: google_protobuf_ExtensionRangeOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_ExtensionRangeOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_ExtensionRangeOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_ExtensionRangeOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_ExtensionRangeOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_ExtensionRangeOptions*(message: google_protobuf_ExtensionRangeOptions): uint64 =
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-proc writegoogle_protobuf_ExtensionRangeOptions*(stream: ProtobufStream, message: google_protobuf_ExtensionRangeOptions) =
- for value in message.uninterpreted_option:
- writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_ExtensionRangeOptions*(stream: ProtobufStream): google_protobuf_ExtensionRangeOptions =
- result = newgoogle_protobuf_ExtensionRangeOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_ExtensionRangeOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_ExtensionRangeOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_ExtensionRangeOptions*(data: string): google_protobuf_ExtensionRangeOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_ExtensionRangeOptions(pbs)
-
-
-proc newgoogle_protobuf_SourceCodeInfo_Location*(): google_protobuf_SourceCodeInfo_Location =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.path = @[]
- result.span = @[]
- result.leading_comments = ""
- result.trailing_comments = ""
- result.leading_detached_comments = @[]
-
-proc clearpath*(message: google_protobuf_SourceCodeInfo_Location) =
- message.path = @[]
- excl(message.hasField, [1])
-
-proc haspath*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 1) or (len(message.path) > 0)
-
-proc setpath*(message: google_protobuf_SourceCodeInfo_Location, value: seq[int32]) =
- message.path = value
- incl(message.hasField, 1)
-
-proc addpath*(message: google_protobuf_SourceCodeInfo_Location, value: int32) =
- add(message.path, value)
- incl(message.hasField, 1)
-
-proc path*(message: google_protobuf_SourceCodeInfo_Location): seq[int32] {.inline.} =
- message.path
-
-proc `path=`*(message: google_protobuf_SourceCodeInfo_Location, value: seq[int32]) {.inline.} =
- setpath(message, value)
-
-proc clearspan*(message: google_protobuf_SourceCodeInfo_Location) =
- message.span = @[]
- excl(message.hasField, [2])
-
-proc hasspan*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 2) or (len(message.span) > 0)
-
-proc setspan*(message: google_protobuf_SourceCodeInfo_Location, value: seq[int32]) =
- message.span = value
- incl(message.hasField, 2)
-
-proc addspan*(message: google_protobuf_SourceCodeInfo_Location, value: int32) =
- add(message.span, value)
- incl(message.hasField, 2)
-
-proc span*(message: google_protobuf_SourceCodeInfo_Location): seq[int32] {.inline.} =
- message.span
-
-proc `span=`*(message: google_protobuf_SourceCodeInfo_Location, value: seq[int32]) {.inline.} =
- setspan(message, value)
-
-proc clearleading_comments*(message: google_protobuf_SourceCodeInfo_Location) =
- message.leading_comments = ""
- excl(message.hasField, [3])
-
-proc hasleading_comments*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 3)
-
-proc setleading_comments*(message: google_protobuf_SourceCodeInfo_Location, value: string) =
- message.leading_comments = value
- incl(message.hasField, 3)
-
-proc leading_comments*(message: google_protobuf_SourceCodeInfo_Location): string {.inline.} =
- message.leading_comments
-
-proc `leading_comments=`*(message: google_protobuf_SourceCodeInfo_Location, value: string) {.inline.} =
- setleading_comments(message, value)
-
-proc cleartrailing_comments*(message: google_protobuf_SourceCodeInfo_Location) =
- message.trailing_comments = ""
- excl(message.hasField, [4])
-
-proc hastrailing_comments*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 4)
-
-proc settrailing_comments*(message: google_protobuf_SourceCodeInfo_Location, value: string) =
- message.trailing_comments = value
- incl(message.hasField, 4)
-
-proc trailing_comments*(message: google_protobuf_SourceCodeInfo_Location): string {.inline.} =
- message.trailing_comments
-
-proc `trailing_comments=`*(message: google_protobuf_SourceCodeInfo_Location, value: string) {.inline.} =
- settrailing_comments(message, value)
-
-proc clearleading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location) =
- message.leading_detached_comments = @[]
- excl(message.hasField, [6])
-
-proc hasleading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location): bool =
- result = contains(message.hasField, 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)
-
-proc addleading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location, value: string) =
- add(message.leading_detached_comments, value)
- incl(message.hasField, 6)
-
-proc leading_detached_comments*(message: google_protobuf_SourceCodeInfo_Location): seq[string] {.inline.} =
- message.leading_detached_comments
-
-proc `leading_detached_comments=`*(message: google_protobuf_SourceCodeInfo_Location, value: seq[string]) {.inline.} =
- setleading_detached_comments(message, value)
-
-proc sizeOfgoogle_protobuf_SourceCodeInfo_Location*(message: google_protobuf_SourceCodeInfo_Location): uint64 =
- if haspath(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(packedFieldSize(message.path, FieldType.Int32))
- if hasspan(message):
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(packedFieldSize(message.span, FieldType.Int32))
- if hasleading_comments(message):
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfString(message.leading_comments)
- if hastrailing_comments(message):
- result = result + sizeOfTag(4, WireType.LengthDelimited)
- result = result + sizeOfString(message.trailing_comments)
- for value in message.leading_detached_comments:
- result = result + sizeOfTag(6, WireType.LengthDelimited)
- result = result + sizeOfString(value)
-
-proc writegoogle_protobuf_SourceCodeInfo_Location*(stream: ProtobufStream, message: google_protobuf_SourceCodeInfo_Location) =
- if haspath(message):
- writeTag(stream, 1, WireType.LengthDelimited)
- writeVarint(stream, packedFieldSize(message.path, FieldType.Int32))
- for value in message.path:
- writeInt32(stream, value)
- if hasspan(message):
- writeTag(stream, 2, WireType.LengthDelimited)
- writeVarint(stream, packedFieldSize(message.span, FieldType.Int32))
- for value in message.span:
- writeInt32(stream, value)
- if hasleading_comments(message):
- writeString(stream, message.leading_comments, 3)
- if hastrailing_comments(message):
- writeString(stream, message.trailing_comments, 4)
- for value in message.leading_detached_comments:
- writeString(stream, value, 6)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_SourceCodeInfo_Location*(stream: ProtobufStream): google_protobuf_SourceCodeInfo_Location =
- result = newgoogle_protobuf_SourceCodeInfo_Location()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.Varint, WireType.LengthDelimited)
- if wireType == WireType.LengthDelimited:
- let
- size = readVarint(stream)
- start = uint64(getPosition(stream))
- var consumed = 0'u64
- while consumed < size:
- addpath(result, readInt32(stream))
- consumed = uint64(getPosition(stream)) - start
- if consumed != size:
- raise newException(Exception, "packed field size mismatch")
- else:
- addpath(result, readInt32(stream))
- of 2:
- expectWireType(wireType, WireType.Varint, WireType.LengthDelimited)
- if wireType == WireType.LengthDelimited:
- let
- size = readVarint(stream)
- start = uint64(getPosition(stream))
- var consumed = 0'u64
- while consumed < size:
- addspan(result, readInt32(stream))
- consumed = uint64(getPosition(stream)) - start
- if consumed != size:
- raise newException(Exception, "packed field size mismatch")
- else:
- addspan(result, readInt32(stream))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- setleading_comments(result, readString(stream))
- of 4:
- expectWireType(wireType, WireType.LengthDelimited)
- settrailing_comments(result, readString(stream))
- of 6:
- expectWireType(wireType, WireType.LengthDelimited)
- addleading_detached_comments(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_SourceCodeInfo_Location): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_SourceCodeInfo_Location(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_SourceCodeInfo_Location*(data: string): google_protobuf_SourceCodeInfo_Location =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_SourceCodeInfo_Location(pbs)
-
-
-proc newgoogle_protobuf_SourceCodeInfo*(): google_protobuf_SourceCodeInfo =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.location = @[]
-
-proc clearlocation*(message: google_protobuf_SourceCodeInfo) =
- message.location = @[]
- excl(message.hasField, [1])
-
-proc haslocation*(message: google_protobuf_SourceCodeInfo): bool =
- result = contains(message.hasField, 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)
-
-proc addlocation*(message: google_protobuf_SourceCodeInfo, value: google_protobuf_SourceCodeInfo_Location) =
- add(message.location, value)
- incl(message.hasField, 1)
-
-proc location*(message: google_protobuf_SourceCodeInfo): seq[google_protobuf_SourceCodeInfo_Location] {.inline.} =
- message.location
-
-proc `location=`*(message: google_protobuf_SourceCodeInfo, value: seq[google_protobuf_SourceCodeInfo_Location]) {.inline.} =
- setlocation(message, value)
-
-proc sizeOfgoogle_protobuf_SourceCodeInfo*(message: google_protobuf_SourceCodeInfo): uint64 =
- for value in message.location:
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_SourceCodeInfo_Location(value))
-
-proc writegoogle_protobuf_SourceCodeInfo*(stream: ProtobufStream, message: google_protobuf_SourceCodeInfo) =
- for value in message.location:
- writeMessage(stream, value, 1)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_SourceCodeInfo*(stream: ProtobufStream): google_protobuf_SourceCodeInfo =
- result = newgoogle_protobuf_SourceCodeInfo()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addlocation(result, newgoogle_protobuf_SourceCodeInfo_Location(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_SourceCodeInfo): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_SourceCodeInfo(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_SourceCodeInfo*(data: string): google_protobuf_SourceCodeInfo =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_SourceCodeInfo(pbs)
-
-
-proc newgoogle_protobuf_FieldOptions*(): google_protobuf_FieldOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.ctype = google_protobuf_FieldOptions_CType.STRING
- result.packed = false
- result.jstype = google_protobuf_FieldOptions_JSType.JS_NORMAL
- result.lazy = false
- result.deprecated = false
- result.weak = false
- result.uninterpreted_option = @[]
-
-proc clearctype*(message: google_protobuf_FieldOptions) =
- message.ctype = google_protobuf_FieldOptions_CType.STRING
- excl(message.hasField, [1])
-
-proc hasctype*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 1)
-
-proc setctype*(message: google_protobuf_FieldOptions, value: google_protobuf_FieldOptions_CType) =
- message.ctype = value
- incl(message.hasField, 1)
-
-proc ctype*(message: google_protobuf_FieldOptions): google_protobuf_FieldOptions_CType {.inline.} =
- message.ctype
-
-proc `ctype=`*(message: google_protobuf_FieldOptions, value: google_protobuf_FieldOptions_CType) {.inline.} =
- setctype(message, value)
-
-proc clearpacked*(message: google_protobuf_FieldOptions) =
- message.packed = false
- excl(message.hasField, [2])
-
-proc haspacked*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 2)
-
-proc setpacked*(message: google_protobuf_FieldOptions, value: bool) =
- message.packed = value
- incl(message.hasField, 2)
-
-proc packed*(message: google_protobuf_FieldOptions): bool {.inline.} =
- message.packed
-
-proc `packed=`*(message: google_protobuf_FieldOptions, value: bool) {.inline.} =
- setpacked(message, value)
-
-proc clearjstype*(message: google_protobuf_FieldOptions) =
- message.jstype = google_protobuf_FieldOptions_JSType.JS_NORMAL
- excl(message.hasField, [6])
-
-proc hasjstype*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 6)
-
-proc setjstype*(message: google_protobuf_FieldOptions, value: google_protobuf_FieldOptions_JSType) =
- message.jstype = value
- incl(message.hasField, 6)
-
-proc jstype*(message: google_protobuf_FieldOptions): google_protobuf_FieldOptions_JSType {.inline.} =
- message.jstype
-
-proc `jstype=`*(message: google_protobuf_FieldOptions, value: google_protobuf_FieldOptions_JSType) {.inline.} =
- setjstype(message, value)
-
-proc clearlazy*(message: google_protobuf_FieldOptions) =
- message.lazy = false
- excl(message.hasField, [5])
-
-proc haslazy*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 5)
-
-proc setlazy*(message: google_protobuf_FieldOptions, value: bool) =
- message.lazy = value
- incl(message.hasField, 5)
-
-proc lazy*(message: google_protobuf_FieldOptions): bool {.inline.} =
- message.lazy
-
-proc `lazy=`*(message: google_protobuf_FieldOptions, value: bool) {.inline.} =
- setlazy(message, value)
-
-proc cleardeprecated*(message: google_protobuf_FieldOptions) =
- message.deprecated = false
- excl(message.hasField, [3])
-
-proc hasdeprecated*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 3)
-
-proc setdeprecated*(message: google_protobuf_FieldOptions, value: bool) =
- message.deprecated = value
- incl(message.hasField, 3)
-
-proc deprecated*(message: google_protobuf_FieldOptions): bool {.inline.} =
- message.deprecated
-
-proc `deprecated=`*(message: google_protobuf_FieldOptions, value: bool) {.inline.} =
- setdeprecated(message, value)
-
-proc clearweak*(message: google_protobuf_FieldOptions) =
- message.weak = false
- excl(message.hasField, [10])
-
-proc hasweak*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 10)
-
-proc setweak*(message: google_protobuf_FieldOptions, value: bool) =
- message.weak = value
- incl(message.hasField, 10)
-
-proc weak*(message: google_protobuf_FieldOptions): bool {.inline.} =
- message.weak
-
-proc `weak=`*(message: google_protobuf_FieldOptions, value: bool) {.inline.} =
- setweak(message, value)
-
-proc clearuninterpreted_option*(message: google_protobuf_FieldOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_FieldOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_FieldOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_FieldOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_FieldOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_FieldOptions*(message: google_protobuf_FieldOptions): uint64 =
- if hasctype(message):
- result = result + sizeOfTag(1, WireType.Varint)
- result = result + sizeOfEnum[google_protobuf_FieldOptions_CType](message.ctype)
- if haspacked(message):
- result = result + sizeOfTag(2, WireType.Varint)
- result = result + sizeOfBool(message.packed)
- if hasjstype(message):
- result = result + sizeOfTag(6, WireType.Varint)
- result = result + sizeOfEnum[google_protobuf_FieldOptions_JSType](message.jstype)
- if haslazy(message):
- result = result + sizeOfTag(5, WireType.Varint)
- result = result + sizeOfBool(message.lazy)
- if hasdeprecated(message):
- result = result + sizeOfTag(3, WireType.Varint)
- result = result + sizeOfBool(message.deprecated)
- if hasweak(message):
- result = result + sizeOfTag(10, WireType.Varint)
- result = result + sizeOfBool(message.weak)
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-proc writegoogle_protobuf_FieldOptions*(stream: ProtobufStream, message: google_protobuf_FieldOptions) =
- if hasctype(message):
- writeEnum(stream, message.ctype, 1)
- if haspacked(message):
- writeBool(stream, message.packed, 2)
- if hasjstype(message):
- writeEnum(stream, message.jstype, 6)
- if haslazy(message):
- writeBool(stream, message.lazy, 5)
- if hasdeprecated(message):
- writeBool(stream, message.deprecated, 3)
- if hasweak(message):
- writeBool(stream, message.weak, 10)
- for value in message.uninterpreted_option:
- writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_FieldOptions*(stream: ProtobufStream): google_protobuf_FieldOptions =
- result = newgoogle_protobuf_FieldOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.Varint)
- setctype(result, readEnum[google_protobuf_FieldOptions_CType](stream))
- of 2:
- expectWireType(wireType, WireType.Varint)
- setpacked(result, readBool(stream))
- of 6:
- expectWireType(wireType, WireType.Varint)
- setjstype(result, readEnum[google_protobuf_FieldOptions_JSType](stream))
- of 5:
- expectWireType(wireType, WireType.Varint)
- setlazy(result, readBool(stream))
- of 3:
- expectWireType(wireType, WireType.Varint)
- setdeprecated(result, readBool(stream))
- of 10:
- expectWireType(wireType, WireType.Varint)
- setweak(result, readBool(stream))
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_FieldOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_FieldOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_FieldOptions*(data: string): google_protobuf_FieldOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_FieldOptions(pbs)
-
-
-proc newgoogle_protobuf_FieldDescriptorProto*(): google_protobuf_FieldDescriptorProto =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = ""
- result.number = 0
- result.label = google_protobuf_FieldDescriptorProto_Label.LABEL_OPTIONAL
- result.ftype = google_protobuf_FieldDescriptorProto_Type.TYPE_DOUBLE
- result.type_name = ""
- result.extendee = ""
- result.default_value = ""
- result.oneof_index = 0
- result.json_name = ""
- result.options = nil
-
-proc clearname*(message: google_protobuf_FieldDescriptorProto) =
- message.name = ""
- excl(message.hasField, [1])
-
-proc hasname*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 1)
-
-proc setname*(message: google_protobuf_FieldDescriptorProto, value: string) =
- message.name = value
- incl(message.hasField, 1)
-
-proc name*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_FieldDescriptorProto, value: string) {.inline.} =
- setname(message, value)
-
-proc clearnumber*(message: google_protobuf_FieldDescriptorProto) =
- message.number = 0
- excl(message.hasField, [3])
-
-proc hasnumber*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 3)
-
-proc setnumber*(message: google_protobuf_FieldDescriptorProto, value: int32) =
- message.number = value
- incl(message.hasField, 3)
-
-proc number*(message: google_protobuf_FieldDescriptorProto): int32 {.inline.} =
- message.number
-
-proc `number=`*(message: google_protobuf_FieldDescriptorProto, value: int32) {.inline.} =
- setnumber(message, value)
-
-proc clearlabel*(message: google_protobuf_FieldDescriptorProto) =
- message.label = google_protobuf_FieldDescriptorProto_Label.LABEL_OPTIONAL
- excl(message.hasField, [4])
-
-proc haslabel*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 4)
-
-proc setlabel*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldDescriptorProto_Label) =
- message.label = value
- incl(message.hasField, 4)
-
-proc label*(message: google_protobuf_FieldDescriptorProto): google_protobuf_FieldDescriptorProto_Label {.inline.} =
- message.label
-
-proc `label=`*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldDescriptorProto_Label) {.inline.} =
- setlabel(message, value)
-
-proc clearftype*(message: google_protobuf_FieldDescriptorProto) =
- message.ftype = google_protobuf_FieldDescriptorProto_Type.TYPE_DOUBLE
- excl(message.hasField, [5])
-
-proc hasftype*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 5)
-
-proc setftype*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldDescriptorProto_Type) =
- message.ftype = value
- incl(message.hasField, 5)
-
-proc ftype*(message: google_protobuf_FieldDescriptorProto): google_protobuf_FieldDescriptorProto_Type {.inline.} =
- message.ftype
-
-proc `ftype=`*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldDescriptorProto_Type) {.inline.} =
- setftype(message, value)
-
-proc cleartype_name*(message: google_protobuf_FieldDescriptorProto) =
- message.type_name = ""
- excl(message.hasField, [6])
-
-proc hastype_name*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 6)
-
-proc settype_name*(message: google_protobuf_FieldDescriptorProto, value: string) =
- message.type_name = value
- incl(message.hasField, 6)
-
-proc type_name*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
- message.type_name
-
-proc `type_name=`*(message: google_protobuf_FieldDescriptorProto, value: string) {.inline.} =
- settype_name(message, value)
-
-proc clearextendee*(message: google_protobuf_FieldDescriptorProto) =
- message.extendee = ""
- excl(message.hasField, [2])
-
-proc hasextendee*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 2)
-
-proc setextendee*(message: google_protobuf_FieldDescriptorProto, value: string) =
- message.extendee = value
- incl(message.hasField, 2)
-
-proc extendee*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
- message.extendee
-
-proc `extendee=`*(message: google_protobuf_FieldDescriptorProto, value: string) {.inline.} =
- setextendee(message, value)
-
-proc cleardefault_value*(message: google_protobuf_FieldDescriptorProto) =
- message.default_value = ""
- excl(message.hasField, [7])
-
-proc hasdefault_value*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 7)
-
-proc setdefault_value*(message: google_protobuf_FieldDescriptorProto, value: string) =
- message.default_value = value
- incl(message.hasField, 7)
-
-proc default_value*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
- message.default_value
-
-proc `default_value=`*(message: google_protobuf_FieldDescriptorProto, value: string) {.inline.} =
- setdefault_value(message, value)
-
-proc clearoneof_index*(message: google_protobuf_FieldDescriptorProto) =
- message.oneof_index = 0
- excl(message.hasField, [9])
-
-proc hasoneof_index*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 9)
-
-proc setoneof_index*(message: google_protobuf_FieldDescriptorProto, value: int32) =
- message.oneof_index = value
- incl(message.hasField, 9)
-
-proc oneof_index*(message: google_protobuf_FieldDescriptorProto): int32 {.inline.} =
- message.oneof_index
-
-proc `oneof_index=`*(message: google_protobuf_FieldDescriptorProto, value: int32) {.inline.} =
- setoneof_index(message, value)
-
-proc clearjson_name*(message: google_protobuf_FieldDescriptorProto) =
- message.json_name = ""
- excl(message.hasField, [10])
-
-proc hasjson_name*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 10)
-
-proc setjson_name*(message: google_protobuf_FieldDescriptorProto, value: string) =
- message.json_name = value
- incl(message.hasField, 10)
-
-proc json_name*(message: google_protobuf_FieldDescriptorProto): string {.inline.} =
- message.json_name
-
-proc `json_name=`*(message: google_protobuf_FieldDescriptorProto, value: string) {.inline.} =
- setjson_name(message, value)
-
-proc clearoptions*(message: google_protobuf_FieldDescriptorProto) =
- message.options = nil
- excl(message.hasField, [8])
-
-proc hasoptions*(message: google_protobuf_FieldDescriptorProto): bool =
- result = contains(message.hasField, 8)
-
-proc setoptions*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldOptions) =
- message.options = value
- incl(message.hasField, 8)
-
-proc options*(message: google_protobuf_FieldDescriptorProto): google_protobuf_FieldOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_FieldDescriptorProto, value: google_protobuf_FieldOptions) {.inline.} =
- setoptions(message, value)
-
-proc sizeOfgoogle_protobuf_FieldDescriptorProto*(message: google_protobuf_FieldDescriptorProto): uint64 =
- if hasname(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name)
- if hasnumber(message):
- result = result + sizeOfTag(3, WireType.Varint)
- result = result + sizeOfInt32(message.number)
- if haslabel(message):
- result = result + sizeOfTag(4, WireType.Varint)
- result = result + sizeOfEnum[google_protobuf_FieldDescriptorProto_Label](message.label)
- if hasftype(message):
- result = result + sizeOfTag(5, WireType.Varint)
- result = result + sizeOfEnum[google_protobuf_FieldDescriptorProto_Type](message.ftype)
- if hastype_name(message):
- result = result + sizeOfTag(6, WireType.LengthDelimited)
- result = result + sizeOfString(message.type_name)
- if hasextendee(message):
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfString(message.extendee)
- if hasdefault_value(message):
- result = result + sizeOfTag(7, WireType.LengthDelimited)
- result = result + sizeOfString(message.default_value)
- if hasoneof_index(message):
- result = result + sizeOfTag(9, WireType.Varint)
- result = result + sizeOfInt32(message.oneof_index)
- if hasjson_name(message):
- result = result + sizeOfTag(10, WireType.LengthDelimited)
- result = result + sizeOfString(message.json_name)
- if hasoptions(message):
- result = result + sizeOfTag(8, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_FieldOptions(message.options))
-
-proc writegoogle_protobuf_FieldDescriptorProto*(stream: ProtobufStream, message: google_protobuf_FieldDescriptorProto) =
- if hasname(message):
- writeString(stream, message.name, 1)
- if hasnumber(message):
- writeInt32(stream, message.number, 3)
- if haslabel(message):
- writeEnum(stream, message.label, 4)
- if hasftype(message):
- writeEnum(stream, message.ftype, 5)
- if hastype_name(message):
- writeString(stream, message.type_name, 6)
- if hasextendee(message):
- writeString(stream, message.extendee, 2)
- if hasdefault_value(message):
- writeString(stream, message.default_value, 7)
- if hasoneof_index(message):
- writeInt32(stream, message.oneof_index, 9)
- if hasjson_name(message):
- writeString(stream, message.json_name, 10)
- if hasoptions(message):
- writeMessage(stream, message.options, 8)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_FieldDescriptorProto*(stream: ProtobufStream): google_protobuf_FieldDescriptorProto =
- result = newgoogle_protobuf_FieldDescriptorProto()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname(result, readString(stream))
- of 3:
- expectWireType(wireType, WireType.Varint)
- setnumber(result, readInt32(stream))
- of 4:
- expectWireType(wireType, WireType.Varint)
- setlabel(result, readEnum[google_protobuf_FieldDescriptorProto_Label](stream))
- of 5:
- expectWireType(wireType, WireType.Varint)
- setftype(result, readEnum[google_protobuf_FieldDescriptorProto_Type](stream))
- of 6:
- expectWireType(wireType, WireType.LengthDelimited)
- settype_name(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- setextendee(result, readString(stream))
- of 7:
- expectWireType(wireType, WireType.LengthDelimited)
- setdefault_value(result, readString(stream))
- of 9:
- expectWireType(wireType, WireType.Varint)
- setoneof_index(result, readInt32(stream))
- of 10:
- expectWireType(wireType, WireType.LengthDelimited)
- setjson_name(result, readString(stream))
- of 8:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_FieldOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_FieldDescriptorProto): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_FieldDescriptorProto(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_FieldDescriptorProto*(data: string): google_protobuf_FieldDescriptorProto =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_FieldDescriptorProto(pbs)
-
-
-proc newgoogle_protobuf_DescriptorProto_ExtensionRange*(): google_protobuf_DescriptorProto_ExtensionRange =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.start = 0
- result.fend = 0
- result.options = nil
-
-proc clearstart*(message: google_protobuf_DescriptorProto_ExtensionRange) =
- message.start = 0
- excl(message.hasField, [1])
-
-proc hasstart*(message: google_protobuf_DescriptorProto_ExtensionRange): bool =
- result = contains(message.hasField, 1)
-
-proc setstart*(message: google_protobuf_DescriptorProto_ExtensionRange, value: int32) =
- message.start = value
- incl(message.hasField, 1)
-
-proc start*(message: google_protobuf_DescriptorProto_ExtensionRange): int32 {.inline.} =
- message.start
-
-proc `start=`*(message: google_protobuf_DescriptorProto_ExtensionRange, value: int32) {.inline.} =
- setstart(message, value)
-
-proc clearfend*(message: google_protobuf_DescriptorProto_ExtensionRange) =
- message.fend = 0
- excl(message.hasField, [2])
-
-proc hasfend*(message: google_protobuf_DescriptorProto_ExtensionRange): bool =
- result = contains(message.hasField, 2)
-
-proc setfend*(message: google_protobuf_DescriptorProto_ExtensionRange, value: int32) =
- message.fend = value
- incl(message.hasField, 2)
-
-proc fend*(message: google_protobuf_DescriptorProto_ExtensionRange): int32 {.inline.} =
- message.fend
-
-proc `fend=`*(message: google_protobuf_DescriptorProto_ExtensionRange, value: int32) {.inline.} =
- setfend(message, value)
-
-proc clearoptions*(message: google_protobuf_DescriptorProto_ExtensionRange) =
- message.options = nil
- excl(message.hasField, [3])
-
-proc hasoptions*(message: google_protobuf_DescriptorProto_ExtensionRange): bool =
- result = contains(message.hasField, 3)
-
-proc setoptions*(message: google_protobuf_DescriptorProto_ExtensionRange, value: google_protobuf_ExtensionRangeOptions) =
- message.options = value
- incl(message.hasField, 3)
-
-proc options*(message: google_protobuf_DescriptorProto_ExtensionRange): google_protobuf_ExtensionRangeOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_DescriptorProto_ExtensionRange, value: google_protobuf_ExtensionRangeOptions) {.inline.} =
- setoptions(message, value)
-
-proc sizeOfgoogle_protobuf_DescriptorProto_ExtensionRange*(message: google_protobuf_DescriptorProto_ExtensionRange): uint64 =
- if hasstart(message):
- result = result + sizeOfTag(1, WireType.Varint)
- result = result + sizeOfInt32(message.start)
- if hasfend(message):
- result = result + sizeOfTag(2, WireType.Varint)
- result = result + sizeOfInt32(message.fend)
- if hasoptions(message):
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_ExtensionRangeOptions(message.options))
-
-proc writegoogle_protobuf_DescriptorProto_ExtensionRange*(stream: ProtobufStream, message: google_protobuf_DescriptorProto_ExtensionRange) =
- if hasstart(message):
- writeInt32(stream, message.start, 1)
- if hasfend(message):
- writeInt32(stream, message.fend, 2)
- if hasoptions(message):
- writeMessage(stream, message.options, 3)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_DescriptorProto_ExtensionRange*(stream: ProtobufStream): google_protobuf_DescriptorProto_ExtensionRange =
- result = newgoogle_protobuf_DescriptorProto_ExtensionRange()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.Varint)
- setstart(result, readInt32(stream))
- of 2:
- expectWireType(wireType, WireType.Varint)
- setfend(result, readInt32(stream))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_ExtensionRangeOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_DescriptorProto_ExtensionRange): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_DescriptorProto_ExtensionRange(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_DescriptorProto_ExtensionRange*(data: string): google_protobuf_DescriptorProto_ExtensionRange =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_DescriptorProto_ExtensionRange(pbs)
-
-
-proc newgoogle_protobuf_MessageOptions*(): google_protobuf_MessageOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.message_set_wire_format = false
- result.no_standard_descriptor_accessor = false
- result.deprecated = false
- result.map_entry = false
- result.uninterpreted_option = @[]
-
-proc clearmessage_set_wire_format*(message: google_protobuf_MessageOptions) =
- message.message_set_wire_format = false
- excl(message.hasField, [1])
-
-proc hasmessage_set_wire_format*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 1)
-
-proc setmessage_set_wire_format*(message: google_protobuf_MessageOptions, value: bool) =
- message.message_set_wire_format = value
- incl(message.hasField, 1)
-
-proc message_set_wire_format*(message: google_protobuf_MessageOptions): bool {.inline.} =
- message.message_set_wire_format
-
-proc `message_set_wire_format=`*(message: google_protobuf_MessageOptions, value: bool) {.inline.} =
- setmessage_set_wire_format(message, value)
-
-proc clearno_standard_descriptor_accessor*(message: google_protobuf_MessageOptions) =
- message.no_standard_descriptor_accessor = false
- excl(message.hasField, [2])
-
-proc hasno_standard_descriptor_accessor*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 2)
-
-proc setno_standard_descriptor_accessor*(message: google_protobuf_MessageOptions, value: bool) =
- message.no_standard_descriptor_accessor = value
- incl(message.hasField, 2)
-
-proc no_standard_descriptor_accessor*(message: google_protobuf_MessageOptions): bool {.inline.} =
- message.no_standard_descriptor_accessor
-
-proc `no_standard_descriptor_accessor=`*(message: google_protobuf_MessageOptions, value: bool) {.inline.} =
- setno_standard_descriptor_accessor(message, value)
-
-proc cleardeprecated*(message: google_protobuf_MessageOptions) =
- message.deprecated = false
- excl(message.hasField, [3])
-
-proc hasdeprecated*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 3)
-
-proc setdeprecated*(message: google_protobuf_MessageOptions, value: bool) =
- message.deprecated = value
- incl(message.hasField, 3)
-
-proc deprecated*(message: google_protobuf_MessageOptions): bool {.inline.} =
- message.deprecated
-
-proc `deprecated=`*(message: google_protobuf_MessageOptions, value: bool) {.inline.} =
- setdeprecated(message, value)
-
-proc clearmap_entry*(message: google_protobuf_MessageOptions) =
- message.map_entry = false
- excl(message.hasField, [7])
-
-proc hasmap_entry*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 7)
-
-proc setmap_entry*(message: google_protobuf_MessageOptions, value: bool) =
- message.map_entry = value
- incl(message.hasField, 7)
-
-proc map_entry*(message: google_protobuf_MessageOptions): bool {.inline.} =
- message.map_entry
-
-proc `map_entry=`*(message: google_protobuf_MessageOptions, value: bool) {.inline.} =
- setmap_entry(message, value)
-
-proc clearuninterpreted_option*(message: google_protobuf_MessageOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_MessageOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_MessageOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_MessageOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_MessageOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_MessageOptions*(message: google_protobuf_MessageOptions): uint64 =
- if hasmessage_set_wire_format(message):
- result = result + sizeOfTag(1, WireType.Varint)
- result = result + sizeOfBool(message.message_set_wire_format)
- if hasno_standard_descriptor_accessor(message):
- result = result + sizeOfTag(2, WireType.Varint)
- result = result + sizeOfBool(message.no_standard_descriptor_accessor)
- if hasdeprecated(message):
- result = result + sizeOfTag(3, WireType.Varint)
- result = result + sizeOfBool(message.deprecated)
- if hasmap_entry(message):
- result = result + sizeOfTag(7, WireType.Varint)
- result = result + sizeOfBool(message.map_entry)
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-proc writegoogle_protobuf_MessageOptions*(stream: ProtobufStream, message: google_protobuf_MessageOptions) =
- if hasmessage_set_wire_format(message):
- writeBool(stream, message.message_set_wire_format, 1)
- if hasno_standard_descriptor_accessor(message):
- writeBool(stream, message.no_standard_descriptor_accessor, 2)
- if hasdeprecated(message):
- writeBool(stream, message.deprecated, 3)
- if hasmap_entry(message):
- writeBool(stream, message.map_entry, 7)
- for value in message.uninterpreted_option:
- writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_MessageOptions*(stream: ProtobufStream): google_protobuf_MessageOptions =
- result = newgoogle_protobuf_MessageOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.Varint)
- setmessage_set_wire_format(result, readBool(stream))
- of 2:
- expectWireType(wireType, WireType.Varint)
- setno_standard_descriptor_accessor(result, readBool(stream))
- of 3:
- expectWireType(wireType, WireType.Varint)
- setdeprecated(result, readBool(stream))
- of 7:
- expectWireType(wireType, WireType.Varint)
- setmap_entry(result, readBool(stream))
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_MessageOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_MessageOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_MessageOptions*(data: string): google_protobuf_MessageOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_MessageOptions(pbs)
-
-
-proc newgoogle_protobuf_OneofOptions*(): google_protobuf_OneofOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.uninterpreted_option = @[]
-
-proc clearuninterpreted_option*(message: google_protobuf_OneofOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_OneofOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_OneofOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_OneofOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_OneofOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_OneofOptions*(message: google_protobuf_OneofOptions): uint64 =
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-proc writegoogle_protobuf_OneofOptions*(stream: ProtobufStream, message: google_protobuf_OneofOptions) =
- for value in message.uninterpreted_option:
- writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_OneofOptions*(stream: ProtobufStream): google_protobuf_OneofOptions =
- result = newgoogle_protobuf_OneofOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_OneofOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_OneofOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_OneofOptions*(data: string): google_protobuf_OneofOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_OneofOptions(pbs)
-
-
-proc newgoogle_protobuf_OneofDescriptorProto*(): google_protobuf_OneofDescriptorProto =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = ""
- result.options = nil
-
-proc clearname*(message: google_protobuf_OneofDescriptorProto) =
- message.name = ""
- excl(message.hasField, [1])
-
-proc hasname*(message: google_protobuf_OneofDescriptorProto): bool =
- result = contains(message.hasField, 1)
-
-proc setname*(message: google_protobuf_OneofDescriptorProto, value: string) =
- message.name = value
- incl(message.hasField, 1)
-
-proc name*(message: google_protobuf_OneofDescriptorProto): string {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_OneofDescriptorProto, value: string) {.inline.} =
- setname(message, value)
-
-proc clearoptions*(message: google_protobuf_OneofDescriptorProto) =
- message.options = nil
- excl(message.hasField, [2])
-
-proc hasoptions*(message: google_protobuf_OneofDescriptorProto): bool =
- result = contains(message.hasField, 2)
-
-proc setoptions*(message: google_protobuf_OneofDescriptorProto, value: google_protobuf_OneofOptions) =
- message.options = value
- incl(message.hasField, 2)
-
-proc options*(message: google_protobuf_OneofDescriptorProto): google_protobuf_OneofOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_OneofDescriptorProto, value: google_protobuf_OneofOptions) {.inline.} =
- setoptions(message, value)
-
-proc sizeOfgoogle_protobuf_OneofDescriptorProto*(message: google_protobuf_OneofDescriptorProto): uint64 =
- if hasname(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name)
- if hasoptions(message):
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_OneofOptions(message.options))
-
-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)
-
-proc readgoogle_protobuf_OneofDescriptorProto*(stream: ProtobufStream): google_protobuf_OneofDescriptorProto =
- result = newgoogle_protobuf_OneofDescriptorProto()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_OneofOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_OneofDescriptorProto): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_OneofDescriptorProto(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_OneofDescriptorProto*(data: string): google_protobuf_OneofDescriptorProto =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_OneofDescriptorProto(pbs)
-
-
-proc newgoogle_protobuf_DescriptorProto_ReservedRange*(): google_protobuf_DescriptorProto_ReservedRange =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.start = 0
- result.fend = 0
-
-proc clearstart*(message: google_protobuf_DescriptorProto_ReservedRange) =
- message.start = 0
- excl(message.hasField, [1])
-
-proc hasstart*(message: google_protobuf_DescriptorProto_ReservedRange): bool =
- result = contains(message.hasField, 1)
-
-proc setstart*(message: google_protobuf_DescriptorProto_ReservedRange, value: int32) =
- message.start = value
- incl(message.hasField, 1)
-
-proc start*(message: google_protobuf_DescriptorProto_ReservedRange): int32 {.inline.} =
- message.start
-
-proc `start=`*(message: google_protobuf_DescriptorProto_ReservedRange, value: int32) {.inline.} =
- setstart(message, value)
-
-proc clearfend*(message: google_protobuf_DescriptorProto_ReservedRange) =
- message.fend = 0
- excl(message.hasField, [2])
-
-proc hasfend*(message: google_protobuf_DescriptorProto_ReservedRange): bool =
- result = contains(message.hasField, 2)
-
-proc setfend*(message: google_protobuf_DescriptorProto_ReservedRange, value: int32) =
- message.fend = value
- incl(message.hasField, 2)
-
-proc fend*(message: google_protobuf_DescriptorProto_ReservedRange): int32 {.inline.} =
- message.fend
-
-proc `fend=`*(message: google_protobuf_DescriptorProto_ReservedRange, value: int32) {.inline.} =
- setfend(message, value)
-
-proc sizeOfgoogle_protobuf_DescriptorProto_ReservedRange*(message: google_protobuf_DescriptorProto_ReservedRange): uint64 =
- if hasstart(message):
- result = result + sizeOfTag(1, WireType.Varint)
- result = result + sizeOfInt32(message.start)
- if hasfend(message):
- result = result + sizeOfTag(2, WireType.Varint)
- result = result + sizeOfInt32(message.fend)
-
-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)
-
-proc readgoogle_protobuf_DescriptorProto_ReservedRange*(stream: ProtobufStream): google_protobuf_DescriptorProto_ReservedRange =
- result = newgoogle_protobuf_DescriptorProto_ReservedRange()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.Varint)
- setstart(result, readInt32(stream))
- of 2:
- expectWireType(wireType, WireType.Varint)
- setfend(result, readInt32(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_DescriptorProto_ReservedRange): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_DescriptorProto_ReservedRange(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_DescriptorProto_ReservedRange*(data: string): google_protobuf_DescriptorProto_ReservedRange =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_DescriptorProto_ReservedRange(pbs)
-
-
-proc newgoogle_protobuf_DescriptorProto*(): google_protobuf_DescriptorProto =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = ""
- result.field = @[]
- result.extension = @[]
- result.nested_type = @[]
- result.enum_type = @[]
- result.extension_range = @[]
- result.oneof_decl = @[]
- result.options = nil
- result.reserved_range = @[]
- result.reserved_name = @[]
-
-proc clearname*(message: google_protobuf_DescriptorProto) =
- message.name = ""
- excl(message.hasField, [1])
-
-proc hasname*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 1)
-
-proc setname*(message: google_protobuf_DescriptorProto, value: string) =
- message.name = value
- incl(message.hasField, 1)
-
-proc name*(message: google_protobuf_DescriptorProto): string {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_DescriptorProto, value: string) {.inline.} =
- setname(message, value)
-
-proc clearfield*(message: google_protobuf_DescriptorProto) =
- message.field = @[]
- excl(message.hasField, [2])
-
-proc hasfield*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 2) or (len(message.field) > 0)
-
-proc setfield*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) =
- message.field = value
- incl(message.hasField, 2)
-
-proc addfield*(message: google_protobuf_DescriptorProto, value: google_protobuf_FieldDescriptorProto) =
- add(message.field, value)
- incl(message.hasField, 2)
-
-proc field*(message: google_protobuf_DescriptorProto): seq[google_protobuf_FieldDescriptorProto] {.inline.} =
- message.field
-
-proc `field=`*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) {.inline.} =
- setfield(message, value)
-
-proc clearextension*(message: google_protobuf_DescriptorProto) =
- message.extension = @[]
- excl(message.hasField, [6])
-
-proc hasextension*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 6) or (len(message.extension) > 0)
-
-proc setextension*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) =
- message.extension = value
- incl(message.hasField, 6)
-
-proc addextension*(message: google_protobuf_DescriptorProto, value: google_protobuf_FieldDescriptorProto) =
- add(message.extension, value)
- incl(message.hasField, 6)
-
-proc extension*(message: google_protobuf_DescriptorProto): seq[google_protobuf_FieldDescriptorProto] {.inline.} =
- message.extension
-
-proc `extension=`*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) {.inline.} =
- setextension(message, value)
-
-proc clearnested_type*(message: google_protobuf_DescriptorProto) =
- message.nested_type = @[]
- excl(message.hasField, [3])
-
-proc hasnested_type*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addnested_type*(message: google_protobuf_DescriptorProto, value: google_protobuf_DescriptorProto) =
- add(message.nested_type, value)
- incl(message.hasField, 3)
-
-proc nested_type*(message: google_protobuf_DescriptorProto): seq[google_protobuf_DescriptorProto] {.inline.} =
- message.nested_type
-
-proc `nested_type=`*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_DescriptorProto]) {.inline.} =
- setnested_type(message, value)
-
-proc clearenum_type*(message: google_protobuf_DescriptorProto) =
- message.enum_type = @[]
- excl(message.hasField, [4])
-
-proc hasenum_type*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addenum_type*(message: google_protobuf_DescriptorProto, value: google_protobuf_EnumDescriptorProto) =
- add(message.enum_type, value)
- incl(message.hasField, 4)
-
-proc enum_type*(message: google_protobuf_DescriptorProto): seq[google_protobuf_EnumDescriptorProto] {.inline.} =
- message.enum_type
-
-proc `enum_type=`*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_EnumDescriptorProto]) {.inline.} =
- setenum_type(message, value)
-
-proc clearextension_range*(message: google_protobuf_DescriptorProto) =
- message.extension_range = @[]
- excl(message.hasField, [5])
-
-proc hasextension_range*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addextension_range*(message: google_protobuf_DescriptorProto, value: google_protobuf_DescriptorProto_ExtensionRange) =
- add(message.extension_range, value)
- incl(message.hasField, 5)
-
-proc extension_range*(message: google_protobuf_DescriptorProto): seq[google_protobuf_DescriptorProto_ExtensionRange] {.inline.} =
- message.extension_range
-
-proc `extension_range=`*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_DescriptorProto_ExtensionRange]) {.inline.} =
- setextension_range(message, value)
-
-proc clearoneof_decl*(message: google_protobuf_DescriptorProto) =
- message.oneof_decl = @[]
- excl(message.hasField, [8])
-
-proc hasoneof_decl*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addoneof_decl*(message: google_protobuf_DescriptorProto, value: google_protobuf_OneofDescriptorProto) =
- add(message.oneof_decl, value)
- incl(message.hasField, 8)
-
-proc oneof_decl*(message: google_protobuf_DescriptorProto): seq[google_protobuf_OneofDescriptorProto] {.inline.} =
- message.oneof_decl
-
-proc `oneof_decl=`*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_OneofDescriptorProto]) {.inline.} =
- setoneof_decl(message, value)
-
-proc clearoptions*(message: google_protobuf_DescriptorProto) =
- message.options = nil
- excl(message.hasField, [7])
-
-proc hasoptions*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 7)
-
-proc setoptions*(message: google_protobuf_DescriptorProto, value: google_protobuf_MessageOptions) =
- message.options = value
- incl(message.hasField, 7)
-
-proc options*(message: google_protobuf_DescriptorProto): google_protobuf_MessageOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_DescriptorProto, value: google_protobuf_MessageOptions) {.inline.} =
- setoptions(message, value)
-
-proc clearreserved_range*(message: google_protobuf_DescriptorProto) =
- message.reserved_range = @[]
- excl(message.hasField, [9])
-
-proc hasreserved_range*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addreserved_range*(message: google_protobuf_DescriptorProto, value: google_protobuf_DescriptorProto_ReservedRange) =
- add(message.reserved_range, value)
- incl(message.hasField, 9)
-
-proc reserved_range*(message: google_protobuf_DescriptorProto): seq[google_protobuf_DescriptorProto_ReservedRange] {.inline.} =
- message.reserved_range
-
-proc `reserved_range=`*(message: google_protobuf_DescriptorProto, value: seq[google_protobuf_DescriptorProto_ReservedRange]) {.inline.} =
- setreserved_range(message, value)
-
-proc clearreserved_name*(message: google_protobuf_DescriptorProto) =
- message.reserved_name = @[]
- excl(message.hasField, [10])
-
-proc hasreserved_name*(message: google_protobuf_DescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addreserved_name*(message: google_protobuf_DescriptorProto, value: string) =
- add(message.reserved_name, value)
- incl(message.hasField, 10)
-
-proc reserved_name*(message: google_protobuf_DescriptorProto): seq[string] {.inline.} =
- message.reserved_name
-
-proc `reserved_name=`*(message: google_protobuf_DescriptorProto, value: seq[string]) {.inline.} =
- setreserved_name(message, value)
-
-proc sizeOfgoogle_protobuf_DescriptorProto*(message: google_protobuf_DescriptorProto): uint64 =
- if hasname(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name)
- for value in message.field:
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_FieldDescriptorProto(value))
- for value in message.extension:
- result = result + sizeOfTag(6, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_FieldDescriptorProto(value))
- for value in message.nested_type:
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_DescriptorProto(value))
- for value in message.enum_type:
- result = result + sizeOfTag(4, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_EnumDescriptorProto(value))
- for value in message.extension_range:
- result = result + sizeOfTag(5, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_DescriptorProto_ExtensionRange(value))
- for value in message.oneof_decl:
- result = result + sizeOfTag(8, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_OneofDescriptorProto(value))
- if hasoptions(message):
- result = result + sizeOfTag(7, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_MessageOptions(message.options))
- for value in message.reserved_range:
- result = result + sizeOfTag(9, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_DescriptorProto_ReservedRange(value))
- for value in message.reserved_name:
- result = result + sizeOfTag(10, WireType.LengthDelimited)
- result = result + sizeOfString(value)
-
-proc writegoogle_protobuf_DescriptorProto*(stream: ProtobufStream, message: google_protobuf_DescriptorProto) =
- if hasname(message):
- writeString(stream, message.name, 1)
- for value in message.field:
- writeMessage(stream, value, 2)
- for value in message.extension:
- writeMessage(stream, value, 6)
- for value in message.nested_type:
- writeMessage(stream, value, 3)
- for value in message.enum_type:
- writeMessage(stream, value, 4)
- for value in message.extension_range:
- writeMessage(stream, value, 5)
- for value in message.oneof_decl:
- writeMessage(stream, value, 8)
- if hasoptions(message):
- writeMessage(stream, message.options, 7)
- for value in message.reserved_range:
- writeMessage(stream, value, 9)
- for value in message.reserved_name:
- writeString(stream, value, 10)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_DescriptorProto*(stream: ProtobufStream): google_protobuf_DescriptorProto =
- result = newgoogle_protobuf_DescriptorProto()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addfield(result, newgoogle_protobuf_FieldDescriptorProto(data))
- of 6:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addextension(result, newgoogle_protobuf_FieldDescriptorProto(data))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addnested_type(result, newgoogle_protobuf_DescriptorProto(data))
- of 4:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addenum_type(result, newgoogle_protobuf_EnumDescriptorProto(data))
- of 5:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addextension_range(result, newgoogle_protobuf_DescriptorProto_ExtensionRange(data))
- of 8:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addoneof_decl(result, newgoogle_protobuf_OneofDescriptorProto(data))
- of 7:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_MessageOptions(data))
- of 9:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addreserved_range(result, newgoogle_protobuf_DescriptorProto_ReservedRange(data))
- of 10:
- expectWireType(wireType, WireType.LengthDelimited)
- addreserved_name(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_DescriptorProto): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_DescriptorProto(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_DescriptorProto*(data: string): google_protobuf_DescriptorProto =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_DescriptorProto(pbs)
-
-
-proc newgoogle_protobuf_FileOptions*(): google_protobuf_FileOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.java_package = ""
- result.java_outer_classname = ""
- result.java_multiple_files = false
- result.java_generate_equals_and_hash = false
- result.java_string_check_utf8 = false
- result.optimize_for = google_protobuf_FileOptions_OptimizeMode.SPEED
- result.go_package = ""
- result.cc_generic_services = false
- result.java_generic_services = false
- result.py_generic_services = false
- result.php_generic_services = false
- result.deprecated = false
- result.cc_enable_arenas = false
- result.objc_class_prefix = ""
- result.csharp_namespace = ""
- result.swift_prefix = ""
- result.php_class_prefix = ""
- result.php_namespace = ""
- result.uninterpreted_option = @[]
-
-proc clearjava_package*(message: google_protobuf_FileOptions) =
- message.java_package = ""
- excl(message.hasField, [1])
-
-proc hasjava_package*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 1)
-
-proc setjava_package*(message: google_protobuf_FileOptions, value: string) =
- message.java_package = value
- incl(message.hasField, 1)
-
-proc java_package*(message: google_protobuf_FileOptions): string {.inline.} =
- message.java_package
-
-proc `java_package=`*(message: google_protobuf_FileOptions, value: string) {.inline.} =
- setjava_package(message, value)
-
-proc clearjava_outer_classname*(message: google_protobuf_FileOptions) =
- message.java_outer_classname = ""
- excl(message.hasField, [8])
-
-proc hasjava_outer_classname*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 8)
-
-proc setjava_outer_classname*(message: google_protobuf_FileOptions, value: string) =
- message.java_outer_classname = value
- incl(message.hasField, 8)
-
-proc java_outer_classname*(message: google_protobuf_FileOptions): string {.inline.} =
- message.java_outer_classname
-
-proc `java_outer_classname=`*(message: google_protobuf_FileOptions, value: string) {.inline.} =
- setjava_outer_classname(message, value)
-
-proc clearjava_multiple_files*(message: google_protobuf_FileOptions) =
- message.java_multiple_files = false
- excl(message.hasField, [10])
-
-proc hasjava_multiple_files*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 10)
-
-proc setjava_multiple_files*(message: google_protobuf_FileOptions, value: bool) =
- message.java_multiple_files = value
- incl(message.hasField, 10)
-
-proc java_multiple_files*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.java_multiple_files
-
-proc `java_multiple_files=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setjava_multiple_files(message, value)
-
-proc clearjava_generate_equals_and_hash*(message: google_protobuf_FileOptions) =
- message.java_generate_equals_and_hash = false
- excl(message.hasField, [20])
-
-proc hasjava_generate_equals_and_hash*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 20)
-
-proc setjava_generate_equals_and_hash*(message: google_protobuf_FileOptions, value: bool) =
- message.java_generate_equals_and_hash = value
- incl(message.hasField, 20)
-
-proc java_generate_equals_and_hash*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.java_generate_equals_and_hash
-
-proc `java_generate_equals_and_hash=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setjava_generate_equals_and_hash(message, value)
-
-proc clearjava_string_check_utf8*(message: google_protobuf_FileOptions) =
- message.java_string_check_utf8 = false
- excl(message.hasField, [27])
-
-proc hasjava_string_check_utf8*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 27)
-
-proc setjava_string_check_utf8*(message: google_protobuf_FileOptions, value: bool) =
- message.java_string_check_utf8 = value
- incl(message.hasField, 27)
-
-proc java_string_check_utf8*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.java_string_check_utf8
-
-proc `java_string_check_utf8=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setjava_string_check_utf8(message, value)
-
-proc clearoptimize_for*(message: google_protobuf_FileOptions) =
- message.optimize_for = google_protobuf_FileOptions_OptimizeMode.SPEED
- excl(message.hasField, [9])
-
-proc hasoptimize_for*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 9)
-
-proc setoptimize_for*(message: google_protobuf_FileOptions, value: google_protobuf_FileOptions_OptimizeMode) =
- message.optimize_for = value
- incl(message.hasField, 9)
-
-proc optimize_for*(message: google_protobuf_FileOptions): google_protobuf_FileOptions_OptimizeMode {.inline.} =
- message.optimize_for
-
-proc `optimize_for=`*(message: google_protobuf_FileOptions, value: google_protobuf_FileOptions_OptimizeMode) {.inline.} =
- setoptimize_for(message, value)
-
-proc cleargo_package*(message: google_protobuf_FileOptions) =
- message.go_package = ""
- excl(message.hasField, [11])
-
-proc hasgo_package*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 11)
-
-proc setgo_package*(message: google_protobuf_FileOptions, value: string) =
- message.go_package = value
- incl(message.hasField, 11)
-
-proc go_package*(message: google_protobuf_FileOptions): string {.inline.} =
- message.go_package
-
-proc `go_package=`*(message: google_protobuf_FileOptions, value: string) {.inline.} =
- setgo_package(message, value)
-
-proc clearcc_generic_services*(message: google_protobuf_FileOptions) =
- message.cc_generic_services = false
- excl(message.hasField, [16])
-
-proc hascc_generic_services*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 16)
-
-proc setcc_generic_services*(message: google_protobuf_FileOptions, value: bool) =
- message.cc_generic_services = value
- incl(message.hasField, 16)
-
-proc cc_generic_services*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.cc_generic_services
-
-proc `cc_generic_services=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setcc_generic_services(message, value)
-
-proc clearjava_generic_services*(message: google_protobuf_FileOptions) =
- message.java_generic_services = false
- excl(message.hasField, [17])
-
-proc hasjava_generic_services*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 17)
-
-proc setjava_generic_services*(message: google_protobuf_FileOptions, value: bool) =
- message.java_generic_services = value
- incl(message.hasField, 17)
-
-proc java_generic_services*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.java_generic_services
-
-proc `java_generic_services=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setjava_generic_services(message, value)
-
-proc clearpy_generic_services*(message: google_protobuf_FileOptions) =
- message.py_generic_services = false
- excl(message.hasField, [18])
-
-proc haspy_generic_services*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 18)
-
-proc setpy_generic_services*(message: google_protobuf_FileOptions, value: bool) =
- message.py_generic_services = value
- incl(message.hasField, 18)
-
-proc py_generic_services*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.py_generic_services
-
-proc `py_generic_services=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setpy_generic_services(message, value)
-
-proc clearphp_generic_services*(message: google_protobuf_FileOptions) =
- message.php_generic_services = false
- excl(message.hasField, [42])
-
-proc hasphp_generic_services*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 42)
-
-proc setphp_generic_services*(message: google_protobuf_FileOptions, value: bool) =
- message.php_generic_services = value
- incl(message.hasField, 42)
-
-proc php_generic_services*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.php_generic_services
-
-proc `php_generic_services=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setphp_generic_services(message, value)
-
-proc cleardeprecated*(message: google_protobuf_FileOptions) =
- message.deprecated = false
- excl(message.hasField, [23])
-
-proc hasdeprecated*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 23)
-
-proc setdeprecated*(message: google_protobuf_FileOptions, value: bool) =
- message.deprecated = value
- incl(message.hasField, 23)
-
-proc deprecated*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.deprecated
-
-proc `deprecated=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setdeprecated(message, value)
-
-proc clearcc_enable_arenas*(message: google_protobuf_FileOptions) =
- message.cc_enable_arenas = false
- excl(message.hasField, [31])
-
-proc hascc_enable_arenas*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 31)
-
-proc setcc_enable_arenas*(message: google_protobuf_FileOptions, value: bool) =
- message.cc_enable_arenas = value
- incl(message.hasField, 31)
-
-proc cc_enable_arenas*(message: google_protobuf_FileOptions): bool {.inline.} =
- message.cc_enable_arenas
-
-proc `cc_enable_arenas=`*(message: google_protobuf_FileOptions, value: bool) {.inline.} =
- setcc_enable_arenas(message, value)
-
-proc clearobjc_class_prefix*(message: google_protobuf_FileOptions) =
- message.objc_class_prefix = ""
- excl(message.hasField, [36])
-
-proc hasobjc_class_prefix*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 36)
-
-proc setobjc_class_prefix*(message: google_protobuf_FileOptions, value: string) =
- message.objc_class_prefix = value
- incl(message.hasField, 36)
-
-proc objc_class_prefix*(message: google_protobuf_FileOptions): string {.inline.} =
- message.objc_class_prefix
-
-proc `objc_class_prefix=`*(message: google_protobuf_FileOptions, value: string) {.inline.} =
- setobjc_class_prefix(message, value)
-
-proc clearcsharp_namespace*(message: google_protobuf_FileOptions) =
- message.csharp_namespace = ""
- excl(message.hasField, [37])
-
-proc hascsharp_namespace*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 37)
-
-proc setcsharp_namespace*(message: google_protobuf_FileOptions, value: string) =
- message.csharp_namespace = value
- incl(message.hasField, 37)
-
-proc csharp_namespace*(message: google_protobuf_FileOptions): string {.inline.} =
- message.csharp_namespace
-
-proc `csharp_namespace=`*(message: google_protobuf_FileOptions, value: string) {.inline.} =
- setcsharp_namespace(message, value)
-
-proc clearswift_prefix*(message: google_protobuf_FileOptions) =
- message.swift_prefix = ""
- excl(message.hasField, [39])
-
-proc hasswift_prefix*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 39)
-
-proc setswift_prefix*(message: google_protobuf_FileOptions, value: string) =
- message.swift_prefix = value
- incl(message.hasField, 39)
-
-proc swift_prefix*(message: google_protobuf_FileOptions): string {.inline.} =
- message.swift_prefix
-
-proc `swift_prefix=`*(message: google_protobuf_FileOptions, value: string) {.inline.} =
- setswift_prefix(message, value)
-
-proc clearphp_class_prefix*(message: google_protobuf_FileOptions) =
- message.php_class_prefix = ""
- excl(message.hasField, [40])
-
-proc hasphp_class_prefix*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 40)
-
-proc setphp_class_prefix*(message: google_protobuf_FileOptions, value: string) =
- message.php_class_prefix = value
- incl(message.hasField, 40)
-
-proc php_class_prefix*(message: google_protobuf_FileOptions): string {.inline.} =
- message.php_class_prefix
-
-proc `php_class_prefix=`*(message: google_protobuf_FileOptions, value: string) {.inline.} =
- setphp_class_prefix(message, value)
-
-proc clearphp_namespace*(message: google_protobuf_FileOptions) =
- message.php_namespace = ""
- excl(message.hasField, [41])
-
-proc hasphp_namespace*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 41)
-
-proc setphp_namespace*(message: google_protobuf_FileOptions, value: string) =
- message.php_namespace = value
- incl(message.hasField, 41)
-
-proc php_namespace*(message: google_protobuf_FileOptions): string {.inline.} =
- message.php_namespace
-
-proc `php_namespace=`*(message: google_protobuf_FileOptions, value: string) {.inline.} =
- setphp_namespace(message, value)
-
-proc clearuninterpreted_option*(message: google_protobuf_FileOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_FileOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_FileOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_FileOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_FileOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_FileOptions*(message: google_protobuf_FileOptions): uint64 =
- if hasjava_package(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.java_package)
- if hasjava_outer_classname(message):
- result = result + sizeOfTag(8, WireType.LengthDelimited)
- result = result + sizeOfString(message.java_outer_classname)
- if hasjava_multiple_files(message):
- result = result + sizeOfTag(10, WireType.Varint)
- result = result + sizeOfBool(message.java_multiple_files)
- if hasjava_generate_equals_and_hash(message):
- result = result + sizeOfTag(20, WireType.Varint)
- result = result + sizeOfBool(message.java_generate_equals_and_hash)
- if hasjava_string_check_utf8(message):
- result = result + sizeOfTag(27, WireType.Varint)
- result = result + sizeOfBool(message.java_string_check_utf8)
- if hasoptimize_for(message):
- result = result + sizeOfTag(9, WireType.Varint)
- result = result + sizeOfEnum[google_protobuf_FileOptions_OptimizeMode](message.optimize_for)
- if hasgo_package(message):
- result = result + sizeOfTag(11, WireType.LengthDelimited)
- result = result + sizeOfString(message.go_package)
- if hascc_generic_services(message):
- result = result + sizeOfTag(16, WireType.Varint)
- result = result + sizeOfBool(message.cc_generic_services)
- if hasjava_generic_services(message):
- result = result + sizeOfTag(17, WireType.Varint)
- result = result + sizeOfBool(message.java_generic_services)
- if haspy_generic_services(message):
- result = result + sizeOfTag(18, WireType.Varint)
- result = result + sizeOfBool(message.py_generic_services)
- if hasphp_generic_services(message):
- result = result + sizeOfTag(42, WireType.Varint)
- result = result + sizeOfBool(message.php_generic_services)
- if hasdeprecated(message):
- result = result + sizeOfTag(23, WireType.Varint)
- result = result + sizeOfBool(message.deprecated)
- if hascc_enable_arenas(message):
- result = result + sizeOfTag(31, WireType.Varint)
- result = result + sizeOfBool(message.cc_enable_arenas)
- if hasobjc_class_prefix(message):
- result = result + sizeOfTag(36, WireType.LengthDelimited)
- result = result + sizeOfString(message.objc_class_prefix)
- if hascsharp_namespace(message):
- result = result + sizeOfTag(37, WireType.LengthDelimited)
- result = result + sizeOfString(message.csharp_namespace)
- if hasswift_prefix(message):
- result = result + sizeOfTag(39, WireType.LengthDelimited)
- result = result + sizeOfString(message.swift_prefix)
- if hasphp_class_prefix(message):
- result = result + sizeOfTag(40, WireType.LengthDelimited)
- result = result + sizeOfString(message.php_class_prefix)
- if hasphp_namespace(message):
- result = result + sizeOfTag(41, WireType.LengthDelimited)
- result = result + sizeOfString(message.php_namespace)
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-proc writegoogle_protobuf_FileOptions*(stream: ProtobufStream, message: google_protobuf_FileOptions) =
- if hasjava_package(message):
- writeString(stream, message.java_package, 1)
- if hasjava_outer_classname(message):
- writeString(stream, message.java_outer_classname, 8)
- if hasjava_multiple_files(message):
- writeBool(stream, message.java_multiple_files, 10)
- if hasjava_generate_equals_and_hash(message):
- writeBool(stream, message.java_generate_equals_and_hash, 20)
- if hasjava_string_check_utf8(message):
- writeBool(stream, message.java_string_check_utf8, 27)
- if hasoptimize_for(message):
- writeEnum(stream, message.optimize_for, 9)
- if hasgo_package(message):
- writeString(stream, message.go_package, 11)
- if hascc_generic_services(message):
- writeBool(stream, message.cc_generic_services, 16)
- if hasjava_generic_services(message):
- writeBool(stream, message.java_generic_services, 17)
- if haspy_generic_services(message):
- writeBool(stream, message.py_generic_services, 18)
- if hasphp_generic_services(message):
- writeBool(stream, message.php_generic_services, 42)
- if hasdeprecated(message):
- writeBool(stream, message.deprecated, 23)
- if hascc_enable_arenas(message):
- writeBool(stream, message.cc_enable_arenas, 31)
- if hasobjc_class_prefix(message):
- writeString(stream, message.objc_class_prefix, 36)
- if hascsharp_namespace(message):
- writeString(stream, message.csharp_namespace, 37)
- if hasswift_prefix(message):
- writeString(stream, message.swift_prefix, 39)
- if hasphp_class_prefix(message):
- writeString(stream, message.php_class_prefix, 40)
- if hasphp_namespace(message):
- writeString(stream, message.php_namespace, 41)
- for value in message.uninterpreted_option:
- writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_FileOptions*(stream: ProtobufStream): google_protobuf_FileOptions =
- result = newgoogle_protobuf_FileOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setjava_package(result, readString(stream))
- of 8:
- expectWireType(wireType, WireType.LengthDelimited)
- setjava_outer_classname(result, readString(stream))
- of 10:
- expectWireType(wireType, WireType.Varint)
- setjava_multiple_files(result, readBool(stream))
- of 20:
- expectWireType(wireType, WireType.Varint)
- setjava_generate_equals_and_hash(result, readBool(stream))
- of 27:
- expectWireType(wireType, WireType.Varint)
- setjava_string_check_utf8(result, readBool(stream))
- of 9:
- expectWireType(wireType, WireType.Varint)
- setoptimize_for(result, readEnum[google_protobuf_FileOptions_OptimizeMode](stream))
- of 11:
- expectWireType(wireType, WireType.LengthDelimited)
- setgo_package(result, readString(stream))
- of 16:
- expectWireType(wireType, WireType.Varint)
- setcc_generic_services(result, readBool(stream))
- of 17:
- expectWireType(wireType, WireType.Varint)
- setjava_generic_services(result, readBool(stream))
- of 18:
- expectWireType(wireType, WireType.Varint)
- setpy_generic_services(result, readBool(stream))
- of 42:
- expectWireType(wireType, WireType.Varint)
- setphp_generic_services(result, readBool(stream))
- of 23:
- expectWireType(wireType, WireType.Varint)
- setdeprecated(result, readBool(stream))
- of 31:
- expectWireType(wireType, WireType.Varint)
- setcc_enable_arenas(result, readBool(stream))
- of 36:
- expectWireType(wireType, WireType.LengthDelimited)
- setobjc_class_prefix(result, readString(stream))
- of 37:
- expectWireType(wireType, WireType.LengthDelimited)
- setcsharp_namespace(result, readString(stream))
- of 39:
- expectWireType(wireType, WireType.LengthDelimited)
- setswift_prefix(result, readString(stream))
- of 40:
- expectWireType(wireType, WireType.LengthDelimited)
- setphp_class_prefix(result, readString(stream))
- of 41:
- expectWireType(wireType, WireType.LengthDelimited)
- setphp_namespace(result, readString(stream))
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_FileOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_FileOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_FileOptions*(data: string): google_protobuf_FileOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_FileOptions(pbs)
-
-
-proc newgoogle_protobuf_ServiceOptions*(): google_protobuf_ServiceOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.deprecated = false
- result.uninterpreted_option = @[]
-
-proc cleardeprecated*(message: google_protobuf_ServiceOptions) =
- message.deprecated = false
- excl(message.hasField, [33])
-
-proc hasdeprecated*(message: google_protobuf_ServiceOptions): bool =
- result = contains(message.hasField, 33)
-
-proc setdeprecated*(message: google_protobuf_ServiceOptions, value: bool) =
- message.deprecated = value
- incl(message.hasField, 33)
-
-proc deprecated*(message: google_protobuf_ServiceOptions): bool {.inline.} =
- message.deprecated
-
-proc `deprecated=`*(message: google_protobuf_ServiceOptions, value: bool) {.inline.} =
- setdeprecated(message, value)
-
-proc clearuninterpreted_option*(message: google_protobuf_ServiceOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_ServiceOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_ServiceOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_ServiceOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_ServiceOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_ServiceOptions*(message: google_protobuf_ServiceOptions): uint64 =
- if hasdeprecated(message):
- result = result + sizeOfTag(33, WireType.Varint)
- result = result + sizeOfBool(message.deprecated)
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-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)
-
-proc readgoogle_protobuf_ServiceOptions*(stream: ProtobufStream): google_protobuf_ServiceOptions =
- result = newgoogle_protobuf_ServiceOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 33:
- expectWireType(wireType, WireType.Varint)
- setdeprecated(result, readBool(stream))
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_ServiceOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_ServiceOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_ServiceOptions*(data: string): google_protobuf_ServiceOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_ServiceOptions(pbs)
-
-
-proc newgoogle_protobuf_MethodOptions*(): google_protobuf_MethodOptions =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- 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])
-
-proc hasdeprecated*(message: google_protobuf_MethodOptions): bool =
- result = contains(message.hasField, 33)
-
-proc setdeprecated*(message: google_protobuf_MethodOptions, value: bool) =
- message.deprecated = value
- incl(message.hasField, 33)
-
-proc deprecated*(message: google_protobuf_MethodOptions): bool {.inline.} =
- message.deprecated
-
-proc `deprecated=`*(message: google_protobuf_MethodOptions, value: bool) {.inline.} =
- setdeprecated(message, value)
-
-proc clearidempotency_level*(message: google_protobuf_MethodOptions) =
- message.idempotency_level = google_protobuf_MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN
- excl(message.hasField, [34])
-
-proc hasidempotency_level*(message: google_protobuf_MethodOptions): bool =
- result = contains(message.hasField, 34)
-
-proc setidempotency_level*(message: google_protobuf_MethodOptions, value: google_protobuf_MethodOptions_IdempotencyLevel) =
- message.idempotency_level = value
- incl(message.hasField, 34)
-
-proc idempotency_level*(message: google_protobuf_MethodOptions): google_protobuf_MethodOptions_IdempotencyLevel {.inline.} =
- message.idempotency_level
-
-proc `idempotency_level=`*(message: google_protobuf_MethodOptions, value: google_protobuf_MethodOptions_IdempotencyLevel) {.inline.} =
- setidempotency_level(message, value)
-
-proc clearuninterpreted_option*(message: google_protobuf_MethodOptions) =
- message.uninterpreted_option = @[]
- excl(message.hasField, [999])
-
-proc hasuninterpreted_option*(message: google_protobuf_MethodOptions): bool =
- result = contains(message.hasField, 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)
-
-proc adduninterpreted_option*(message: google_protobuf_MethodOptions, value: google_protobuf_UninterpretedOption) =
- add(message.uninterpreted_option, value)
- incl(message.hasField, 999)
-
-proc uninterpreted_option*(message: google_protobuf_MethodOptions): seq[google_protobuf_UninterpretedOption] {.inline.} =
- message.uninterpreted_option
-
-proc `uninterpreted_option=`*(message: google_protobuf_MethodOptions, value: seq[google_protobuf_UninterpretedOption]) {.inline.} =
- setuninterpreted_option(message, value)
-
-proc sizeOfgoogle_protobuf_MethodOptions*(message: google_protobuf_MethodOptions): uint64 =
- if hasdeprecated(message):
- result = result + sizeOfTag(33, WireType.Varint)
- result = result + sizeOfBool(message.deprecated)
- if hasidempotency_level(message):
- result = result + sizeOfTag(34, WireType.Varint)
- result = result + sizeOfEnum[google_protobuf_MethodOptions_IdempotencyLevel](message.idempotency_level)
- for value in message.uninterpreted_option:
- result = result + sizeOfTag(999, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_UninterpretedOption(value))
-
-proc writegoogle_protobuf_MethodOptions*(stream: ProtobufStream, message: google_protobuf_MethodOptions) =
- if hasdeprecated(message):
- writeBool(stream, message.deprecated, 33)
- if hasidempotency_level(message):
- writeEnum(stream, message.idempotency_level, 34)
- for value in message.uninterpreted_option:
- writeMessage(stream, value, 999)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_MethodOptions*(stream: ProtobufStream): google_protobuf_MethodOptions =
- result = newgoogle_protobuf_MethodOptions()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 33:
- expectWireType(wireType, WireType.Varint)
- setdeprecated(result, readBool(stream))
- of 34:
- expectWireType(wireType, WireType.Varint)
- setidempotency_level(result, readEnum[google_protobuf_MethodOptions_IdempotencyLevel](stream))
- of 999:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- adduninterpreted_option(result, newgoogle_protobuf_UninterpretedOption(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_MethodOptions): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_MethodOptions(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_MethodOptions*(data: string): google_protobuf_MethodOptions =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_MethodOptions(pbs)
-
-
-proc newgoogle_protobuf_MethodDescriptorProto*(): google_protobuf_MethodDescriptorProto =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = ""
- result.input_type = ""
- result.output_type = ""
- result.options = nil
- result.client_streaming = false
- result.server_streaming = false
-
-proc clearname*(message: google_protobuf_MethodDescriptorProto) =
- message.name = ""
- excl(message.hasField, [1])
-
-proc hasname*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 1)
-
-proc setname*(message: google_protobuf_MethodDescriptorProto, value: string) =
- message.name = value
- incl(message.hasField, 1)
-
-proc name*(message: google_protobuf_MethodDescriptorProto): string {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_MethodDescriptorProto, value: string) {.inline.} =
- setname(message, value)
-
-proc clearinput_type*(message: google_protobuf_MethodDescriptorProto) =
- message.input_type = ""
- excl(message.hasField, [2])
-
-proc hasinput_type*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 2)
-
-proc setinput_type*(message: google_protobuf_MethodDescriptorProto, value: string) =
- message.input_type = value
- incl(message.hasField, 2)
-
-proc input_type*(message: google_protobuf_MethodDescriptorProto): string {.inline.} =
- message.input_type
-
-proc `input_type=`*(message: google_protobuf_MethodDescriptorProto, value: string) {.inline.} =
- setinput_type(message, value)
-
-proc clearoutput_type*(message: google_protobuf_MethodDescriptorProto) =
- message.output_type = ""
- excl(message.hasField, [3])
-
-proc hasoutput_type*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 3)
-
-proc setoutput_type*(message: google_protobuf_MethodDescriptorProto, value: string) =
- message.output_type = value
- incl(message.hasField, 3)
-
-proc output_type*(message: google_protobuf_MethodDescriptorProto): string {.inline.} =
- message.output_type
-
-proc `output_type=`*(message: google_protobuf_MethodDescriptorProto, value: string) {.inline.} =
- setoutput_type(message, value)
-
-proc clearoptions*(message: google_protobuf_MethodDescriptorProto) =
- message.options = nil
- excl(message.hasField, [4])
-
-proc hasoptions*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 4)
-
-proc setoptions*(message: google_protobuf_MethodDescriptorProto, value: google_protobuf_MethodOptions) =
- message.options = value
- incl(message.hasField, 4)
-
-proc options*(message: google_protobuf_MethodDescriptorProto): google_protobuf_MethodOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_MethodDescriptorProto, value: google_protobuf_MethodOptions) {.inline.} =
- setoptions(message, value)
-
-proc clearclient_streaming*(message: google_protobuf_MethodDescriptorProto) =
- message.client_streaming = false
- excl(message.hasField, [5])
-
-proc hasclient_streaming*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 5)
-
-proc setclient_streaming*(message: google_protobuf_MethodDescriptorProto, value: bool) =
- message.client_streaming = value
- incl(message.hasField, 5)
-
-proc client_streaming*(message: google_protobuf_MethodDescriptorProto): bool {.inline.} =
- message.client_streaming
-
-proc `client_streaming=`*(message: google_protobuf_MethodDescriptorProto, value: bool) {.inline.} =
- setclient_streaming(message, value)
-
-proc clearserver_streaming*(message: google_protobuf_MethodDescriptorProto) =
- message.server_streaming = false
- excl(message.hasField, [6])
-
-proc hasserver_streaming*(message: google_protobuf_MethodDescriptorProto): bool =
- result = contains(message.hasField, 6)
-
-proc setserver_streaming*(message: google_protobuf_MethodDescriptorProto, value: bool) =
- message.server_streaming = value
- incl(message.hasField, 6)
-
-proc server_streaming*(message: google_protobuf_MethodDescriptorProto): bool {.inline.} =
- message.server_streaming
-
-proc `server_streaming=`*(message: google_protobuf_MethodDescriptorProto, value: bool) {.inline.} =
- setserver_streaming(message, value)
-
-proc sizeOfgoogle_protobuf_MethodDescriptorProto*(message: google_protobuf_MethodDescriptorProto): uint64 =
- if hasname(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name)
- if hasinput_type(message):
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfString(message.input_type)
- if hasoutput_type(message):
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfString(message.output_type)
- if hasoptions(message):
- result = result + sizeOfTag(4, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_MethodOptions(message.options))
- if hasclient_streaming(message):
- result = result + sizeOfTag(5, WireType.Varint)
- result = result + sizeOfBool(message.client_streaming)
- if hasserver_streaming(message):
- result = result + sizeOfTag(6, WireType.Varint)
- result = result + sizeOfBool(message.server_streaming)
-
-proc writegoogle_protobuf_MethodDescriptorProto*(stream: ProtobufStream, message: google_protobuf_MethodDescriptorProto) =
- if hasname(message):
- writeString(stream, message.name, 1)
- if hasinput_type(message):
- writeString(stream, message.input_type, 2)
- if hasoutput_type(message):
- writeString(stream, message.output_type, 3)
- if hasoptions(message):
- writeMessage(stream, message.options, 4)
- if hasclient_streaming(message):
- writeBool(stream, message.client_streaming, 5)
- if hasserver_streaming(message):
- writeBool(stream, message.server_streaming, 6)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_MethodDescriptorProto*(stream: ProtobufStream): google_protobuf_MethodDescriptorProto =
- result = newgoogle_protobuf_MethodDescriptorProto()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- setinput_type(result, readString(stream))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- setoutput_type(result, readString(stream))
- of 4:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_MethodOptions(data))
- of 5:
- expectWireType(wireType, WireType.Varint)
- setclient_streaming(result, readBool(stream))
- of 6:
- expectWireType(wireType, WireType.Varint)
- setserver_streaming(result, readBool(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_MethodDescriptorProto): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_MethodDescriptorProto(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_MethodDescriptorProto*(data: string): google_protobuf_MethodDescriptorProto =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_MethodDescriptorProto(pbs)
-
-
-proc newgoogle_protobuf_ServiceDescriptorProto*(): google_protobuf_ServiceDescriptorProto =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = ""
- result.fmethod = @[]
- result.options = nil
-
-proc clearname*(message: google_protobuf_ServiceDescriptorProto) =
- message.name = ""
- excl(message.hasField, [1])
-
-proc hasname*(message: google_protobuf_ServiceDescriptorProto): bool =
- result = contains(message.hasField, 1)
-
-proc setname*(message: google_protobuf_ServiceDescriptorProto, value: string) =
- message.name = value
- incl(message.hasField, 1)
-
-proc name*(message: google_protobuf_ServiceDescriptorProto): string {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_ServiceDescriptorProto, value: string) {.inline.} =
- setname(message, value)
-
-proc clearfmethod*(message: google_protobuf_ServiceDescriptorProto) =
- message.fmethod = @[]
- excl(message.hasField, [2])
-
-proc hasfmethod*(message: google_protobuf_ServiceDescriptorProto): bool =
- result = contains(message.hasField, 2) or (len(message.fmethod) > 0)
-
-proc setfmethod*(message: google_protobuf_ServiceDescriptorProto, value: seq[google_protobuf_MethodDescriptorProto]) =
- message.fmethod = value
- incl(message.hasField, 2)
-
-proc addfmethod*(message: google_protobuf_ServiceDescriptorProto, value: google_protobuf_MethodDescriptorProto) =
- add(message.fmethod, value)
- incl(message.hasField, 2)
-
-proc fmethod*(message: google_protobuf_ServiceDescriptorProto): seq[google_protobuf_MethodDescriptorProto] {.inline.} =
- message.fmethod
-
-proc `fmethod=`*(message: google_protobuf_ServiceDescriptorProto, value: seq[google_protobuf_MethodDescriptorProto]) {.inline.} =
- setfmethod(message, value)
-
-proc clearoptions*(message: google_protobuf_ServiceDescriptorProto) =
- message.options = nil
- excl(message.hasField, [3])
-
-proc hasoptions*(message: google_protobuf_ServiceDescriptorProto): bool =
- result = contains(message.hasField, 3)
-
-proc setoptions*(message: google_protobuf_ServiceDescriptorProto, value: google_protobuf_ServiceOptions) =
- message.options = value
- incl(message.hasField, 3)
-
-proc options*(message: google_protobuf_ServiceDescriptorProto): google_protobuf_ServiceOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_ServiceDescriptorProto, value: google_protobuf_ServiceOptions) {.inline.} =
- setoptions(message, value)
-
-proc sizeOfgoogle_protobuf_ServiceDescriptorProto*(message: google_protobuf_ServiceDescriptorProto): uint64 =
- if hasname(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name)
- for value in message.fmethod:
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_MethodDescriptorProto(value))
- if hasoptions(message):
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_ServiceOptions(message.options))
-
-proc writegoogle_protobuf_ServiceDescriptorProto*(stream: ProtobufStream, message: google_protobuf_ServiceDescriptorProto) =
- if hasname(message):
- writeString(stream, message.name, 1)
- for value in message.fmethod:
- writeMessage(stream, value, 2)
- if hasoptions(message):
- writeMessage(stream, message.options, 3)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_ServiceDescriptorProto*(stream: ProtobufStream): google_protobuf_ServiceDescriptorProto =
- result = newgoogle_protobuf_ServiceDescriptorProto()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addfmethod(result, newgoogle_protobuf_MethodDescriptorProto(data))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_ServiceOptions(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_ServiceDescriptorProto): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_ServiceDescriptorProto(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_ServiceDescriptorProto*(data: string): google_protobuf_ServiceDescriptorProto =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_ServiceDescriptorProto(pbs)
-
-
-proc newgoogle_protobuf_FileDescriptorProto*(): google_protobuf_FileDescriptorProto =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.name = ""
- result.package = ""
- result.dependency = @[]
- result.public_dependency = @[]
- result.weak_dependency = @[]
- result.message_type = @[]
- result.enum_type = @[]
- result.service = @[]
- result.extension = @[]
- result.options = nil
- result.source_code_info = nil
- result.syntax = ""
-
-proc clearname*(message: google_protobuf_FileDescriptorProto) =
- message.name = ""
- excl(message.hasField, [1])
-
-proc hasname*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 1)
-
-proc setname*(message: google_protobuf_FileDescriptorProto, value: string) =
- message.name = value
- incl(message.hasField, 1)
-
-proc name*(message: google_protobuf_FileDescriptorProto): string {.inline.} =
- message.name
-
-proc `name=`*(message: google_protobuf_FileDescriptorProto, value: string) {.inline.} =
- setname(message, value)
-
-proc clearpackage*(message: google_protobuf_FileDescriptorProto) =
- message.package = ""
- excl(message.hasField, [2])
-
-proc haspackage*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 2)
-
-proc setpackage*(message: google_protobuf_FileDescriptorProto, value: string) =
- message.package = value
- incl(message.hasField, 2)
-
-proc package*(message: google_protobuf_FileDescriptorProto): string {.inline.} =
- message.package
-
-proc `package=`*(message: google_protobuf_FileDescriptorProto, value: string) {.inline.} =
- setpackage(message, value)
-
-proc cleardependency*(message: google_protobuf_FileDescriptorProto) =
- message.dependency = @[]
- excl(message.hasField, [3])
-
-proc hasdependency*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 3) or (len(message.dependency) > 0)
-
-proc setdependency*(message: google_protobuf_FileDescriptorProto, value: seq[string]) =
- message.dependency = value
- incl(message.hasField, 3)
-
-proc adddependency*(message: google_protobuf_FileDescriptorProto, value: string) =
- add(message.dependency, value)
- incl(message.hasField, 3)
-
-proc dependency*(message: google_protobuf_FileDescriptorProto): seq[string] {.inline.} =
- message.dependency
-
-proc `dependency=`*(message: google_protobuf_FileDescriptorProto, value: seq[string]) {.inline.} =
- setdependency(message, value)
-
-proc clearpublic_dependency*(message: google_protobuf_FileDescriptorProto) =
- message.public_dependency = @[]
- excl(message.hasField, [10])
-
-proc haspublic_dependency*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addpublic_dependency*(message: google_protobuf_FileDescriptorProto, value: int32) =
- add(message.public_dependency, value)
- incl(message.hasField, 10)
-
-proc public_dependency*(message: google_protobuf_FileDescriptorProto): seq[int32] {.inline.} =
- message.public_dependency
-
-proc `public_dependency=`*(message: google_protobuf_FileDescriptorProto, value: seq[int32]) {.inline.} =
- setpublic_dependency(message, value)
-
-proc clearweak_dependency*(message: google_protobuf_FileDescriptorProto) =
- message.weak_dependency = @[]
- excl(message.hasField, [11])
-
-proc hasweak_dependency*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addweak_dependency*(message: google_protobuf_FileDescriptorProto, value: int32) =
- add(message.weak_dependency, value)
- incl(message.hasField, 11)
-
-proc weak_dependency*(message: google_protobuf_FileDescriptorProto): seq[int32] {.inline.} =
- message.weak_dependency
-
-proc `weak_dependency=`*(message: google_protobuf_FileDescriptorProto, value: seq[int32]) {.inline.} =
- setweak_dependency(message, value)
-
-proc clearmessage_type*(message: google_protobuf_FileDescriptorProto) =
- message.message_type = @[]
- excl(message.hasField, [4])
-
-proc hasmessage_type*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addmessage_type*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_DescriptorProto) =
- add(message.message_type, value)
- incl(message.hasField, 4)
-
-proc message_type*(message: google_protobuf_FileDescriptorProto): seq[google_protobuf_DescriptorProto] {.inline.} =
- message.message_type
-
-proc `message_type=`*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_DescriptorProto]) {.inline.} =
- setmessage_type(message, value)
-
-proc clearenum_type*(message: google_protobuf_FileDescriptorProto) =
- message.enum_type = @[]
- excl(message.hasField, [5])
-
-proc hasenum_type*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 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)
-
-proc addenum_type*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_EnumDescriptorProto) =
- add(message.enum_type, value)
- incl(message.hasField, 5)
-
-proc enum_type*(message: google_protobuf_FileDescriptorProto): seq[google_protobuf_EnumDescriptorProto] {.inline.} =
- message.enum_type
-
-proc `enum_type=`*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_EnumDescriptorProto]) {.inline.} =
- setenum_type(message, value)
-
-proc clearservice*(message: google_protobuf_FileDescriptorProto) =
- message.service = @[]
- excl(message.hasField, [6])
-
-proc hasservice*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 6) or (len(message.service) > 0)
-
-proc setservice*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_ServiceDescriptorProto]) =
- message.service = value
- incl(message.hasField, 6)
-
-proc addservice*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_ServiceDescriptorProto) =
- add(message.service, value)
- incl(message.hasField, 6)
-
-proc service*(message: google_protobuf_FileDescriptorProto): seq[google_protobuf_ServiceDescriptorProto] {.inline.} =
- message.service
-
-proc `service=`*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_ServiceDescriptorProto]) {.inline.} =
- setservice(message, value)
-
-proc clearextension*(message: google_protobuf_FileDescriptorProto) =
- message.extension = @[]
- excl(message.hasField, [7])
-
-proc hasextension*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 7) or (len(message.extension) > 0)
-
-proc setextension*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) =
- message.extension = value
- incl(message.hasField, 7)
-
-proc addextension*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_FieldDescriptorProto) =
- add(message.extension, value)
- incl(message.hasField, 7)
-
-proc extension*(message: google_protobuf_FileDescriptorProto): seq[google_protobuf_FieldDescriptorProto] {.inline.} =
- message.extension
-
-proc `extension=`*(message: google_protobuf_FileDescriptorProto, value: seq[google_protobuf_FieldDescriptorProto]) {.inline.} =
- setextension(message, value)
-
-proc clearoptions*(message: google_protobuf_FileDescriptorProto) =
- message.options = nil
- excl(message.hasField, [8])
-
-proc hasoptions*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 8)
-
-proc setoptions*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_FileOptions) =
- message.options = value
- incl(message.hasField, 8)
-
-proc options*(message: google_protobuf_FileDescriptorProto): google_protobuf_FileOptions {.inline.} =
- message.options
-
-proc `options=`*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_FileOptions) {.inline.} =
- setoptions(message, value)
-
-proc clearsource_code_info*(message: google_protobuf_FileDescriptorProto) =
- message.source_code_info = nil
- excl(message.hasField, [9])
-
-proc hassource_code_info*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 9)
-
-proc setsource_code_info*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_SourceCodeInfo) =
- message.source_code_info = value
- incl(message.hasField, 9)
-
-proc source_code_info*(message: google_protobuf_FileDescriptorProto): google_protobuf_SourceCodeInfo {.inline.} =
- message.source_code_info
-
-proc `source_code_info=`*(message: google_protobuf_FileDescriptorProto, value: google_protobuf_SourceCodeInfo) {.inline.} =
- setsource_code_info(message, value)
-
-proc clearsyntax*(message: google_protobuf_FileDescriptorProto) =
- message.syntax = ""
- excl(message.hasField, [12])
-
-proc hassyntax*(message: google_protobuf_FileDescriptorProto): bool =
- result = contains(message.hasField, 12)
-
-proc setsyntax*(message: google_protobuf_FileDescriptorProto, value: string) =
- message.syntax = value
- incl(message.hasField, 12)
-
-proc syntax*(message: google_protobuf_FileDescriptorProto): string {.inline.} =
- message.syntax
-
-proc `syntax=`*(message: google_protobuf_FileDescriptorProto, value: string) {.inline.} =
- setsyntax(message, value)
-
-proc sizeOfgoogle_protobuf_FileDescriptorProto*(message: google_protobuf_FileDescriptorProto): uint64 =
- if hasname(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfString(message.name)
- if haspackage(message):
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfString(message.package)
- for value in message.dependency:
- result = result + sizeOfTag(3, WireType.LengthDelimited)
- result = result + sizeOfString(value)
- if haspublic_dependency(message):
- result = result + sizeOfTag(10, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(packedFieldSize(message.public_dependency, FieldType.Int32))
- if hasweak_dependency(message):
- result = result + sizeOfTag(11, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(packedFieldSize(message.weak_dependency, FieldType.Int32))
- for value in message.message_type:
- result = result + sizeOfTag(4, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_DescriptorProto(value))
- for value in message.enum_type:
- result = result + sizeOfTag(5, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_EnumDescriptorProto(value))
- for value in message.service:
- result = result + sizeOfTag(6, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_ServiceDescriptorProto(value))
- for value in message.extension:
- result = result + sizeOfTag(7, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_FieldDescriptorProto(value))
- if hasoptions(message):
- result = result + sizeOfTag(8, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_FileOptions(message.options))
- if hassource_code_info(message):
- result = result + sizeOfTag(9, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_SourceCodeInfo(message.source_code_info))
- if hassyntax(message):
- result = result + sizeOfTag(12, WireType.LengthDelimited)
- result = result + sizeOfString(message.syntax)
-
-proc writegoogle_protobuf_FileDescriptorProto*(stream: ProtobufStream, message: google_protobuf_FileDescriptorProto) =
- if hasname(message):
- writeString(stream, message.name, 1)
- if haspackage(message):
- writeString(stream, message.package, 2)
- for value in message.dependency:
- writeString(stream, value, 3)
- for value in message.public_dependency:
- writeInt32(stream, value, 10)
- for value in message.weak_dependency:
- writeInt32(stream, value, 11)
- for value in message.message_type:
- writeMessage(stream, value, 4)
- for value in message.enum_type:
- writeMessage(stream, value, 5)
- for value in message.service:
- writeMessage(stream, value, 6)
- for value in message.extension:
- writeMessage(stream, value, 7)
- if hasoptions(message):
- writeMessage(stream, message.options, 8)
- if hassource_code_info(message):
- writeMessage(stream, message.source_code_info, 9)
- if hassyntax(message):
- writeString(stream, message.syntax, 12)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_FileDescriptorProto*(stream: ProtobufStream): google_protobuf_FileDescriptorProto =
- result = newgoogle_protobuf_FileDescriptorProto()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- setname(result, readString(stream))
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- setpackage(result, readString(stream))
- of 3:
- expectWireType(wireType, WireType.LengthDelimited)
- adddependency(result, readString(stream))
- of 10:
- expectWireType(wireType, WireType.Varint, WireType.LengthDelimited)
- if wireType == WireType.LengthDelimited:
- let
- size = readVarint(stream)
- start = uint64(getPosition(stream))
- var consumed = 0'u64
- while consumed < size:
- addpublic_dependency(result, readInt32(stream))
- consumed = uint64(getPosition(stream)) - start
- if consumed != size:
- raise newException(Exception, "packed field size mismatch")
- else:
- addpublic_dependency(result, readInt32(stream))
- of 11:
- expectWireType(wireType, WireType.Varint, WireType.LengthDelimited)
- if wireType == WireType.LengthDelimited:
- let
- size = readVarint(stream)
- start = uint64(getPosition(stream))
- var consumed = 0'u64
- while consumed < size:
- addweak_dependency(result, readInt32(stream))
- consumed = uint64(getPosition(stream)) - start
- if consumed != size:
- raise newException(Exception, "packed field size mismatch")
- else:
- addweak_dependency(result, readInt32(stream))
- of 4:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addmessage_type(result, newgoogle_protobuf_DescriptorProto(data))
- of 5:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addenum_type(result, newgoogle_protobuf_EnumDescriptorProto(data))
- of 6:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addservice(result, newgoogle_protobuf_ServiceDescriptorProto(data))
- of 7:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addextension(result, newgoogle_protobuf_FieldDescriptorProto(data))
- of 8:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setoptions(result, newgoogle_protobuf_FileOptions(data))
- of 9:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- setsource_code_info(result, newgoogle_protobuf_SourceCodeInfo(data))
- of 12:
- expectWireType(wireType, WireType.LengthDelimited)
- setsyntax(result, readString(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_FileDescriptorProto): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_FileDescriptorProto(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_FileDescriptorProto*(data: string): google_protobuf_FileDescriptorProto =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_FileDescriptorProto(pbs)
-
-
-proc newgoogle_protobuf_FileDescriptorSet*(): google_protobuf_FileDescriptorSet =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.file = @[]
-
-proc clearfile*(message: google_protobuf_FileDescriptorSet) =
- message.file = @[]
- excl(message.hasField, [1])
-
-proc hasfile*(message: google_protobuf_FileDescriptorSet): bool =
- result = contains(message.hasField, 1) or (len(message.file) > 0)
-
-proc setfile*(message: google_protobuf_FileDescriptorSet, value: seq[google_protobuf_FileDescriptorProto]) =
- message.file = value
- incl(message.hasField, 1)
-
-proc addfile*(message: google_protobuf_FileDescriptorSet, value: google_protobuf_FileDescriptorProto) =
- add(message.file, value)
- incl(message.hasField, 1)
-
-proc file*(message: google_protobuf_FileDescriptorSet): seq[google_protobuf_FileDescriptorProto] {.inline.} =
- message.file
-
-proc `file=`*(message: google_protobuf_FileDescriptorSet, value: seq[google_protobuf_FileDescriptorProto]) {.inline.} =
- setfile(message, value)
-
-proc sizeOfgoogle_protobuf_FileDescriptorSet*(message: google_protobuf_FileDescriptorSet): uint64 =
- for value in message.file:
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_FileDescriptorProto(value))
-
-proc writegoogle_protobuf_FileDescriptorSet*(stream: ProtobufStream, message: google_protobuf_FileDescriptorSet) =
- for value in message.file:
- writeMessage(stream, value, 1)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_FileDescriptorSet*(stream: ProtobufStream): google_protobuf_FileDescriptorSet =
- result = newgoogle_protobuf_FileDescriptorSet()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addfile(result, newgoogle_protobuf_FileDescriptorProto(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_FileDescriptorSet): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_FileDescriptorSet(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_FileDescriptorSet*(data: string): google_protobuf_FileDescriptorSet =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_FileDescriptorSet(pbs)
-
-
-proc newgoogle_protobuf_GeneratedCodeInfo_Annotation*(): google_protobuf_GeneratedCodeInfo_Annotation =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.path = @[]
- result.source_file = ""
- result.begin = 0
- result.fend = 0
-
-proc clearpath*(message: google_protobuf_GeneratedCodeInfo_Annotation) =
- message.path = @[]
- excl(message.hasField, [1])
-
-proc haspath*(message: google_protobuf_GeneratedCodeInfo_Annotation): bool =
- result = contains(message.hasField, 1) or (len(message.path) > 0)
-
-proc setpath*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: seq[int32]) =
- message.path = value
- incl(message.hasField, 1)
-
-proc addpath*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int32) =
- add(message.path, value)
- incl(message.hasField, 1)
-
-proc path*(message: google_protobuf_GeneratedCodeInfo_Annotation): seq[int32] {.inline.} =
- message.path
-
-proc `path=`*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: seq[int32]) {.inline.} =
- setpath(message, value)
-
-proc clearsource_file*(message: google_protobuf_GeneratedCodeInfo_Annotation) =
- message.source_file = ""
- excl(message.hasField, [2])
-
-proc hassource_file*(message: google_protobuf_GeneratedCodeInfo_Annotation): bool =
- result = contains(message.hasField, 2)
-
-proc setsource_file*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: string) =
- message.source_file = value
- incl(message.hasField, 2)
-
-proc source_file*(message: google_protobuf_GeneratedCodeInfo_Annotation): string {.inline.} =
- message.source_file
-
-proc `source_file=`*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: string) {.inline.} =
- setsource_file(message, value)
-
-proc clearbegin*(message: google_protobuf_GeneratedCodeInfo_Annotation) =
- message.begin = 0
- excl(message.hasField, [3])
-
-proc hasbegin*(message: google_protobuf_GeneratedCodeInfo_Annotation): bool =
- result = contains(message.hasField, 3)
-
-proc setbegin*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int32) =
- message.begin = value
- incl(message.hasField, 3)
-
-proc begin*(message: google_protobuf_GeneratedCodeInfo_Annotation): int32 {.inline.} =
- message.begin
-
-proc `begin=`*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int32) {.inline.} =
- setbegin(message, value)
-
-proc clearfend*(message: google_protobuf_GeneratedCodeInfo_Annotation) =
- message.fend = 0
- excl(message.hasField, [4])
-
-proc hasfend*(message: google_protobuf_GeneratedCodeInfo_Annotation): bool =
- result = contains(message.hasField, 4)
-
-proc setfend*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int32) =
- message.fend = value
- incl(message.hasField, 4)
-
-proc fend*(message: google_protobuf_GeneratedCodeInfo_Annotation): int32 {.inline.} =
- message.fend
-
-proc `fend=`*(message: google_protobuf_GeneratedCodeInfo_Annotation, value: int32) {.inline.} =
- setfend(message, value)
-
-proc sizeOfgoogle_protobuf_GeneratedCodeInfo_Annotation*(message: google_protobuf_GeneratedCodeInfo_Annotation): uint64 =
- if haspath(message):
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(packedFieldSize(message.path, FieldType.Int32))
- if hassource_file(message):
- result = result + sizeOfTag(2, WireType.LengthDelimited)
- result = result + sizeOfString(message.source_file)
- if hasbegin(message):
- result = result + sizeOfTag(3, WireType.Varint)
- result = result + sizeOfInt32(message.begin)
- if hasfend(message):
- result = result + sizeOfTag(4, WireType.Varint)
- result = result + sizeOfInt32(message.fend)
-
-proc writegoogle_protobuf_GeneratedCodeInfo_Annotation*(stream: ProtobufStream, message: google_protobuf_GeneratedCodeInfo_Annotation) =
- if haspath(message):
- writeTag(stream, 1, WireType.LengthDelimited)
- writeVarint(stream, packedFieldSize(message.path, FieldType.Int32))
- for value in message.path:
- writeInt32(stream, value)
- if hassource_file(message):
- writeString(stream, message.source_file, 2)
- if hasbegin(message):
- writeInt32(stream, message.begin, 3)
- if hasfend(message):
- writeInt32(stream, message.fend, 4)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_GeneratedCodeInfo_Annotation*(stream: ProtobufStream): google_protobuf_GeneratedCodeInfo_Annotation =
- result = newgoogle_protobuf_GeneratedCodeInfo_Annotation()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.Varint, WireType.LengthDelimited)
- if wireType == WireType.LengthDelimited:
- let
- size = readVarint(stream)
- start = uint64(getPosition(stream))
- var consumed = 0'u64
- while consumed < size:
- addpath(result, readInt32(stream))
- consumed = uint64(getPosition(stream)) - start
- if consumed != size:
- raise newException(Exception, "packed field size mismatch")
- else:
- addpath(result, readInt32(stream))
- of 2:
- expectWireType(wireType, WireType.LengthDelimited)
- setsource_file(result, readString(stream))
- of 3:
- expectWireType(wireType, WireType.Varint)
- setbegin(result, readInt32(stream))
- of 4:
- expectWireType(wireType, WireType.Varint)
- setfend(result, readInt32(stream))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_GeneratedCodeInfo_Annotation): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_GeneratedCodeInfo_Annotation(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_GeneratedCodeInfo_Annotation*(data: string): google_protobuf_GeneratedCodeInfo_Annotation =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_GeneratedCodeInfo_Annotation(pbs)
-
-
-proc newgoogle_protobuf_GeneratedCodeInfo*(): google_protobuf_GeneratedCodeInfo =
- new(result)
- result.hasField = initIntSet()
- result.unknownFields = @[]
- result.annotation = @[]
-
-proc clearannotation*(message: google_protobuf_GeneratedCodeInfo) =
- message.annotation = @[]
- excl(message.hasField, [1])
-
-proc hasannotation*(message: google_protobuf_GeneratedCodeInfo): bool =
- result = contains(message.hasField, 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)
-
-proc addannotation*(message: google_protobuf_GeneratedCodeInfo, value: google_protobuf_GeneratedCodeInfo_Annotation) =
- add(message.annotation, value)
- incl(message.hasField, 1)
-
-proc annotation*(message: google_protobuf_GeneratedCodeInfo): seq[google_protobuf_GeneratedCodeInfo_Annotation] {.inline.} =
- message.annotation
-
-proc `annotation=`*(message: google_protobuf_GeneratedCodeInfo, value: seq[google_protobuf_GeneratedCodeInfo_Annotation]) {.inline.} =
- setannotation(message, value)
-
-proc sizeOfgoogle_protobuf_GeneratedCodeInfo*(message: google_protobuf_GeneratedCodeInfo): uint64 =
- for value in message.annotation:
- result = result + sizeOfTag(1, WireType.LengthDelimited)
- result = result + sizeOfLengthDelimited(sizeOfgoogle_protobuf_GeneratedCodeInfo_Annotation(value))
-
-proc writegoogle_protobuf_GeneratedCodeInfo*(stream: ProtobufStream, message: google_protobuf_GeneratedCodeInfo) =
- for value in message.annotation:
- writeMessage(stream, value, 1)
- writeUnknownFields(stream, message.unknownFields)
-
-proc readgoogle_protobuf_GeneratedCodeInfo*(stream: ProtobufStream): google_protobuf_GeneratedCodeInfo =
- result = newgoogle_protobuf_GeneratedCodeInfo()
- while not atEnd(stream):
- let
- tag = readTag(stream)
- wireType = wireType(tag)
- case fieldNumber(tag)
- of 0:
- raise newException(InvalidFieldNumberError, "Invalid field number: 0")
- of 1:
- expectWireType(wireType, WireType.LengthDelimited)
- let data = readLengthDelimited(stream)
- addannotation(result, newgoogle_protobuf_GeneratedCodeInfo_Annotation(data))
- else: readUnknownField(stream, tag, result.unknownFields)
-
-proc serialize*(message: google_protobuf_GeneratedCodeInfo): string =
- let
- ss = newStringStream()
- pbs = newProtobufStream(ss)
- writegoogle_protobuf_GeneratedCodeInfo(pbs, message)
- result = ss.data
-
-proc newgoogle_protobuf_GeneratedCodeInfo*(data: string): google_protobuf_GeneratedCodeInfo =
- let
- ss = newStringStream(data)
- pbs = newProtobufStream(ss)
- result = readgoogle_protobuf_GeneratedCodeInfo(pbs)
-
-
diff --git a/src/nimpb_buildpkg/plugin.nim b/src/nimpb_buildpkg/plugin.nim
deleted file mode 100644
index abdad07..0000000
--- a/src/nimpb_buildpkg/plugin.nim
+++ /dev/null
@@ -1,1084 +0,0 @@
-import algorithm
-import os
-import pegs
-import sequtils
-import sets
-import strformat
-import strutils
-import tables
-
-import descriptor_pb
-
-import nimpb/nimpb
-
-type
- Names = distinct seq[string]
-
- Enum = ref object
- names: Names
- values: seq[tuple[name: string, number: int]]
- defaultValue: string
-
- Field = ref object
- number: int
- name: string
- label: google_protobuf_FieldDescriptorProto_Label
- ftype: google_protobuf_FieldDescriptorProto_Type
- typeName: string
- packed: bool
- oneof: Oneof
- mapEntry: Message
- defaultValue: string
- message: Message
- jsonName: string
-
- Message = ref object
- names: Names
- fields: seq[Field]
- oneofs: seq[Oneof]
- mapEntry: bool
- file: ProtoFile
-
- Oneof = ref object
- name: string
- fields: seq[Field]
-
- ProcessedFile = ref object
- name: string
- data: string
-
- ProtoFile = ref object
- fdesc: google_protobuf_FileDescriptorProto
- enums: seq[Enum]
- messages: seq[Message]
- syntax: Syntax
- dependencies: seq[ProtoFile]
- serviceGenerator: ServiceGenerator
-
- Syntax {.pure.} = enum
- Proto2
- Proto3
-
- ServiceGenerator* = proc (service: Service): string
-
- Service* = ref object
- name*: string
- package*: string
- methods*: seq[ServiceMethod]
-
- ServiceMethod* = ref object
- name*: string
- inputType*: string
- outputType*: string
- clientStreaming*: bool
- serverStreaming*: bool
-
-when defined(debug):
- proc log(msg: string) =
- stderr.write(msg)
- stderr.write("\n")
-else:
- proc log(msg: string) = discard
-
-proc initNamesFromTypeName(typename: string): Names =
- if typename[0] != '.':
- raise newException(Exception, "relative names not supported")
- let parts = split(typename[1..^1], ".")
- result = Names(parts)
-
-proc `$`(names: Names): string =
- let n = seq[string](names)
- result = join(n, "_")
-
-proc add(names: var Names, s: string) =
- add(seq[string](names), s)
-
-proc `&`(names: Names, s: string): Names =
- result = names
- add(result, s)
-
-proc isRepeated(field: Field): bool =
- result = field.label == google_protobuf_FieldDescriptorProtoLabel.LabelRepeated
-
-proc isMessage(field: Field): bool =
- result = field.ftype == google_protobuf_FieldDescriptorProtoType.TypeMessage
-
-proc isEnum(field: Field): bool =
- result = field.ftype == google_protobuf_FieldDescriptorProtoType.TypeEnum
-
-proc isNumeric(field: Field): bool =
- case field.ftype
- of google_protobuf_FieldDescriptorProtoType.TypeDouble, google_protobuf_FieldDescriptorProtoType.TypeFloat,
- google_protobuf_FieldDescriptorProtoType.TypeInt64, google_protobuf_FieldDescriptorProtoType.TypeUInt64,
- google_protobuf_FieldDescriptorProtoType.TypeInt32, google_protobuf_FieldDescriptorProtoType.TypeFixed64,
- google_protobuf_FieldDescriptorProtoType.TypeFixed32, google_protobuf_FieldDescriptorProtoType.TypeBool,
- google_protobuf_FieldDescriptorProtoType.TypeUInt32, google_protobuf_FieldDescriptorProtoType.TypeEnum,
- google_protobuf_FieldDescriptorProtoType.TypeSFixed32, google_protobuf_FieldDescriptorProtoType.TypeSFixed64,
- google_protobuf_FieldDescriptorProtoType.TypeSInt32, google_protobuf_FieldDescriptorProtoType.TypeSInt64:
- result = true
- else: discard
-
-proc isMapEntry(message: Message): bool =
- result = message.mapEntry
-
-proc isMapEntry(field: Field): bool =
- result = field.mapEntry != nil
-
-proc nimTypeName(field: Field): string =
- case field.ftype
- of google_protobuf_FieldDescriptorProtoType.TypeDouble: result = "float64"
- of google_protobuf_FieldDescriptorProtoType.TypeFloat: result = "float32"
- of google_protobuf_FieldDescriptorProtoType.TypeInt64: result = "int64"
- of google_protobuf_FieldDescriptorProtoType.TypeUInt64: result = "uint64"
- of google_protobuf_FieldDescriptorProtoType.TypeInt32: result = "int32"
- of google_protobuf_FieldDescriptorProtoType.TypeFixed64: result = "uint64"
- of google_protobuf_FieldDescriptorProtoType.TypeFixed32: result = "uint32"
- of google_protobuf_FieldDescriptorProtoType.TypeBool: result = "bool"
- of google_protobuf_FieldDescriptorProtoType.TypeString: result = "string"
- of google_protobuf_FieldDescriptorProtoType.TypeGroup: result = ""
- of google_protobuf_FieldDescriptorProtoType.TypeMessage: result = field.typeName
- of google_protobuf_FieldDescriptorProtoType.TypeBytes: result = "bytes"
- of google_protobuf_FieldDescriptorProtoType.TypeUInt32: result = "uint32"
- of google_protobuf_FieldDescriptorProtoType.TypeEnum: result = field.typeName
- of google_protobuf_FieldDescriptorProtoType.TypeSFixed32: result = "int32"
- of google_protobuf_FieldDescriptorProtoType.TypeSFixed64: result = "int64"
- of google_protobuf_FieldDescriptorProtoType.TypeSInt32: result = "int32"
- of google_protobuf_FieldDescriptorProtoType.TypeSInt64: result = "int64"
-
-proc mapKeyType(field: Field): string =
- for f in field.mapEntry.fields:
- if f.name == "key":
- return f.nimTypeName
-
-proc mapValueField(field: Field): Field =
- for f in field.mapEntry.fields:
- if f.name == "value":
- return f
-
-proc mapValueType(field: Field): string =
- for f in field.mapEntry.fields:
- if f.name == "value":
- return f.nimTypeName
-
-proc `$`(ft: google_protobuf_FieldDescriptorProtoType): string =
- case ft
- of google_protobuf_FieldDescriptorProtoType.TypeDouble: result = "Double"
- of google_protobuf_FieldDescriptorProtoType.TypeFloat: result = "Float"
- of google_protobuf_FieldDescriptorProtoType.TypeInt64: result = "Int64"
- of google_protobuf_FieldDescriptorProtoType.TypeUInt64: result = "UInt64"
- of google_protobuf_FieldDescriptorProtoType.TypeInt32: result = "Int32"
- of google_protobuf_FieldDescriptorProtoType.TypeFixed64: result = "Fixed64"
- of google_protobuf_FieldDescriptorProtoType.TypeFixed32: result = "Fixed32"
- of google_protobuf_FieldDescriptorProtoType.TypeBool: result = "Bool"
- of google_protobuf_FieldDescriptorProtoType.TypeString: result = "String"
- of google_protobuf_FieldDescriptorProtoType.TypeGroup: result = "Group"
- of google_protobuf_FieldDescriptorProtoType.TypeMessage: result = "Message"
- of google_protobuf_FieldDescriptorProtoType.TypeBytes: result = "Bytes"
- of google_protobuf_FieldDescriptorProtoType.TypeUInt32: result = "UInt32"
- of google_protobuf_FieldDescriptorProtoType.TypeEnum: result = "Enum"
- of google_protobuf_FieldDescriptorProtoType.TypeSFixed32: result = "SFixed32"
- of google_protobuf_FieldDescriptorProtoType.TypeSFixed64: result = "SFixed64"
- of google_protobuf_FieldDescriptorProtoType.TypeSInt32: result = "SInt32"
- of google_protobuf_FieldDescriptorProtoType.TypeSInt64: result = "SInt64"
-
-proc defaultValue(ftype: google_protobuf_FieldDescriptorProto_Type): string =
- case ftype
- of google_protobuf_FieldDescriptorProtoType.TypeDouble: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeFloat: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeInt64: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeUInt64: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeInt32: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeFixed64: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeFixed32: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeBool: result = "false"
- of google_protobuf_FieldDescriptorProtoType.TypeString: result = "\"\""
- of google_protobuf_FieldDescriptorProtoType.TypeGroup: result = ""
- of google_protobuf_FieldDescriptorProtoType.TypeMessage: result = "nil"
- of google_protobuf_FieldDescriptorProtoType.TypeBytes: result = "bytes(\"\")"
- of google_protobuf_FieldDescriptorProtoType.TypeUInt32: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeEnum: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeSFixed32: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeSFixed64: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeSInt32: result = "0"
- of google_protobuf_FieldDescriptorProtoType.TypeSInt64: result = "0"
-
-proc findEnum(file: ProtoFile, typeName: string): Enum =
- for e in file.enums:
- if $e.names == typeName:
- return e
- for dep in file.dependencies:
- result = findEnum(dep, typeName)
- if result != nil:
- break
-
-proc defaultValue(field: Field): string =
- if field.defaultValue != nil:
- if isEnum(field):
- return &"{field.typeName}.{field.defaultValue}"
- elif field.ftype == google_protobuf_FieldDescriptorProtoType.TypeString:
- return escape(field.defaultValue)
- else:
- return field.defaultValue
- elif isMapEntry(field):
- return &"newTable[{field.mapKeyType}, {field.mapValueType}]()"
- elif isRepeated(field):
- return "@[]"
- elif isEnum(field):
- let e = findEnum(field.message.file, field.typeName)
- if e != nil:
- result = e.defaultValue
- else:
- result = &"cast[{field.typeName}](0)"
- else:
- result = defaultValue(field.ftype)
-
-proc wiretypeStr(field: Field): string =
- result = "WireType."
- case field.ftype
- of google_protobuf_FieldDescriptorProtoType.TypeDouble: result &= "Fixed64"
- of google_protobuf_FieldDescriptorProtoType.TypeFloat: result &= "Fixed32"
- of google_protobuf_FieldDescriptorProtoType.TypeInt64: result &= "Varint"
- of google_protobuf_FieldDescriptorProtoType.TypeUInt64: result &= "Varint"
- of google_protobuf_FieldDescriptorProtoType.TypeInt32: result &= "Varint"
- of google_protobuf_FieldDescriptorProtoType.TypeFixed64: result &= "Fixed64"
- of google_protobuf_FieldDescriptorProtoType.TypeFixed32: result &= "Fixed32"
- of google_protobuf_FieldDescriptorProtoType.TypeBool: result &= "Varint"
- of google_protobuf_FieldDescriptorProtoType.TypeString: result &= "LengthDelimited"
- of google_protobuf_FieldDescriptorProtoType.TypeGroup: result &= ""
- of google_protobuf_FieldDescriptorProtoType.TypeMessage: result &= "LengthDelimited"
- of google_protobuf_FieldDescriptorProtoType.TypeBytes: result &= "LengthDelimited"
- of google_protobuf_FieldDescriptorProtoType.TypeUInt32: result &= "Varint"
- of google_protobuf_FieldDescriptorProtoType.TypeEnum: result &= &"Varint"
- of google_protobuf_FieldDescriptorProtoType.TypeSFixed32: result &= "Fixed32"
- of google_protobuf_FieldDescriptorProtoType.TypeSFixed64: result &= "Fixed64"
- of google_protobuf_FieldDescriptorProtoType.TypeSInt32: result &= "Varint"
- of google_protobuf_FieldDescriptorProtoType.TypeSInt64: result &= "Varint"
-
-proc fieldTypeStr(field: Field): string =
- result = "FieldType." & $field.ftype
-
-proc isKeyword(s: string): bool =
- case s
- of "addr", "and", "as", "asm", "bind", "block", "break", "case", "cast",
- "concept", "const", "continue", "converter", "defer", "discard",
- "distinct", "div", "do", "elif", "else", "end", "enum", "except",
- "export", "finally", "for", "from", "func", "if", "import", "in",
- "include", "interface", "is", "isnot", "iterator", "let", "macro",
- "method", "mixin", "mod", "nil", "not", "notin", "object", "of", "or",
- "out", "proc", "ptr", "raise", "ref", "return", "shl", "shr", "static",
- "template", "try", "tuple", "type", "using", "var", "when", "while",
- "xor", "yield":
- result = true
- else:
- result = false
-
-proc writeProc(field: Field): string =
- if isMapEntry(field):
- result = &"write{field.typeName}KV"
- elif isMessage(field):
- result = "writeMessage"
- elif isEnum(field):
- result = "writeEnum"
- else:
- result = &"write{field.typeName}"
-
-proc readProc(field: Field): string =
- if isMapEntry(field):
- result = &"read{field.typeName}KV"
- elif isEnum(field):
- result = &"readEnum[{field.typeName}]"
- else:
- result = &"read{field.typeName}"
-
-proc sizeOfProc(field: Field): string =
- if isMapEntry(field):
- result = &"sizeOf{field.typeName}KV"
- elif isEnum(field):
- result = &"sizeOfEnum[{field.typeName}]"
- else:
- result = &"sizeOf{field.typeName}"
-
-proc newField(file: ProtoFile, message: Message, desc: google_protobuf_FieldDescriptorProto): Field =
- new(result)
-
- result.name = desc.name
- result.number = desc.number
- result.label = desc.label
- result.ftype = desc.ftype
- result.typeName = ""
- result.packed = false
- result.mapEntry = nil
- result.message = message
-
- # Identifiers cannot start/end with underscore
- removePrefix(result.name, '_')
- removeSuffix(result.name, '_')
-
- # Consecutive underscores are not allowed
- result.name = replace(result.name, peg"'_' '_'+", "_")
-
- if isKeyword(result.name):
- result.name = "f" & result.name
-
- if isRepeated(result) and isNumeric(result):
- if hasOptions(desc):
- if hasPacked(desc.options):
- result.packed = desc.options.packed
- else:
- result.packed =
- if file.syntax == Syntax.Proto2:
- false
- else:
- true
- else:
- result.packed =
- if file.syntax == Syntax.Proto2:
- false
- else:
- true
-
- if hasOneof_index(desc):
- result.oneof = message.oneofs[desc.oneof_index]
- add(result.oneof.fields, result)
-
- if isMessage(result) or isEnum(result):
- result.typeName = $initNamesFromTypeName(desc.type_name)
- else:
- result.typeName = $result.ftype
-
- if hasDefaultValue(desc):
- result.defaultValue = desc.default_value
-
- if hasJsonName(desc):
- result.jsonName = desc.jsonName
-
- log(&"newField {result.name} {$result.ftype} {result.typeName} PACKED={result.packed} SYNTAX={file.syntax}")
-
-proc newOneof(name: string): Oneof =
- new(result)
- result.fields = @[]
- result.name = name
-
-proc newMessage(file: ProtoFile, names: Names, desc: google_protobuf_DescriptorProto): Message =
- new(result)
-
- result.names = names
- result.fields = @[]
- result.oneofs = @[]
- result.mapEntry = false
- result.file = file
-
- if hasOptions(desc) and hasMapEntry(desc.options):
- result.mapEntry = desc.options.mapEntry
-
- log(&"newMessage {$result.names}")
-
- for oneof in desc.oneof_decl:
- add(result.oneofs, newOneof(oneof.name))
-
- for field in desc.field:
- add(result.fields, newField(file, result, field))
-
-proc fixMapEntry(file: ProtoFile, message: Message): bool =
- for field in message.fields:
- for msg in file.messages:
- if $msg.names == field.typeName:
- if msg.mapEntry:
- log(&"fixing map {field.name} {msg.names}")
- field.mapEntry = msg
- result = true
-
-proc newEnum(names: Names, desc: google_protobuf_EnumDescriptorProto): Enum =
- new(result)
-
- result.names = names & desc.name
- result.values = @[]
-
- log(&"newEnum {$result.names}")
-
- for value in desc.value:
- add(result.values, (value.name, int(value.number)))
-
- result.defaultValue = &"{result.names}.{result.values[0].name}"
-
- type EnumValue = tuple[name: string, number: int]
-
- sort(result.values, proc (x, y: EnumValue): int =
- system.cmp(x.number, y.number)
- )
-
-proc newService(service: google_protobuf_ServiceDescriptorProto,
- file: ProtoFile): Service =
- new(result)
- result.name = service.name
- result.package = file.fdesc.package
- result.methods = @[]
-
- for meth in service.fmethod:
- var m: ServiceMethod
- new(m)
-
- m.name = meth.name
- m.inputType = $initNamesFromTypeName(meth.inputType)
- m.outputType = $initNamesFromTypeName(meth.outputType)
- m.clientStreaming = meth.clientStreaming
- m.serverStreaming = meth.serverStreaming
-
- add(result.methods, m)
-
-iterator messages(desc: google_protobuf_DescriptorProto, names: Names): tuple[names: Names, desc: google_protobuf_DescriptorProto] =
- var stack: seq[tuple[names: Names, desc: google_protobuf_DescriptorProto]] = @[]
-
- for nested in desc.nested_type:
- add(stack, (names, nested))
-
- while len(stack) > 0:
- let (names, submsg) = pop(stack)
-
- let subnames = names & submsg.name
- yield (subnames, submsg)
-
- for desc in submsg.nested_type:
- add(stack, (subnames, desc))
-
-iterator messages(fdesc: google_protobuf_FileDescriptorProto, names: Names): tuple[names: Names, desc: google_protobuf_DescriptorProto] =
- for desc in fdesc.message_type:
- let subnames = names & desc.name
- yield (subnames, desc)
-
- for x in messages(desc, subnames):
- yield x
-
-proc quoteReserved(name: string): string =
- case name
- of "type": result = &"`{name}`"
- else: result = name
-
-proc accessor(field: Field): string =
- if field.oneof != nil:
- result = &"{field.oneof.name}.{quoteReserved(field.name)}"
- else:
- result = quoteReserved(field.name)
-
-proc dependencies(field: Field): seq[string] =
- result = @[]
-
- if isMessage(field) or isEnum(field):
- add(result, field.typeName)
-
-proc dependencies(message: Message): seq[string] =
- result = @[]
-
- for field in message.fields:
- add(result, dependencies(field))
-
-proc toposort(graph: TableRef[string, HashSet[string]]): seq[string] =
- type State = enum Unknown, Gray, Black
-
- var
- enter = toSeq(keys(graph))
- state = newTable[string, State]()
- order: seq[string] = @[]
-
- proc dfs(node: string) =
- state[node] = Gray
- if node in graph:
- for k in graph[node]:
- let sk =
- if k in state:
- state[k]
- else:
- Unknown
-
- if sk == Gray:
- # cycle
- continue
- elif sk == Black:
- continue
-
- let idx = find(enter, k)
- if idx != -1:
- delete(enter, idx)
-
- dfs(k)
- insert(order, node, 0)
- state[node] = Black
-
- while len(enter) > 0:
- dfs(pop(enter))
-
- result = order
-
-iterator sortDependencies(messages: seq[Message]): Message =
- let
- deps = newTable[string, HashSet[string]]()
- byname = newTable[string, Message]()
-
- for message in messages:
- deps[$message.names] = toSet(dependencies(message))
- byname[$message.names] = message
-
- let order = reversed(toposort(deps))
-
- for name in order:
- if name in byname:
- yield byname[name]
-
-proc parseFile(name: string, fdesc: google_protobuf_FileDescriptorProto): ProtoFile =
- log(&"parsing {name}")
-
- new(result)
-
- result.fdesc = fdesc
- result.messages = @[]
- result.enums = @[]
- result.dependencies = @[]
-
- if hasSyntax(fdesc):
- if fdesc.syntax == "proto2":
- result.syntax = Syntax.Proto2
- elif fdesc.syntax == "proto3":
- result.syntax = Syntax.Proto3
- else:
- raise newException(Exception, "unrecognized syntax: " & fdesc.syntax)
- else:
- result.syntax = Syntax.Proto2
-
- let basename =
- if hasPackage(fdesc):
- Names(split(fdesc.package, "."))
- else:
- Names(@[])
-
- for e in fdesc.enum_type:
- add(result.enums, newEnum(basename, e))
-
- for name, message in messages(fdesc, basename):
- add(result.messages, newMessage(result, name, message))
-
- for e in message.enum_type:
- add(result.enums, newEnum(name, e))
-
-proc addLine(s: var string, line: string) =
- if not isNilOrWhitespace(line):
- s &= line
- s &= "\n"
-
-iterator genType(e: Enum): string =
- yield &"{e.names}* {{.pure.}} = enum"
- for item in e.values:
- let (name, number) = item
- yield indent(&"{name} = {number}", 4)
-
-proc fullType(field: Field): string =
- if isMapEntry(field):
- result = &"TableRef[{field.mapKeyType}, {field.mapValueType}]"
- else:
- result = field.nimTypeName
- if isRepeated(field):
- result = &"seq[{result}]"
-
-proc mapKeyField(message: Message): Field =
- for field in message.fields:
- if field.name == "key":
- return field
-
-proc mapValueField(message: Message): Field =
- for field in message.fields:
- if field.name == "value":
- return 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)
-
- for field in message.fields:
- if isMapEntry(field):
- yield indent(&"{field.name}: TableRef[{mapKeyType(field)}, {mapValueType(field)}]", 4)
- elif field.oneof == nil:
- yield indent(&"{quoteReserved(field.name)}: {field.fullType}", 4)
-
- for oneof in message.oneofs:
- yield indent(&"{oneof.name}: {message.names}_{oneof.name}_OneOf", 4)
-
- for oneof in message.oneofs:
- yield ""
- yield &"{message.names}_{oneof.name}_OneOf* {{.union.}} = object"
- for field in oneof.fields:
- yield indent(&"{quoteReserved(field.name)}: {field.fullType}", 4)
-
-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)
- for field in msg.fields:
- yield indent(&"result.{field.accessor} = {defaultValue(field)}", 4)
- yield ""
-
-iterator oneofSiblings(field: Field): Field =
- if field.oneof != nil:
- for sibling in field.oneof.fields:
- if sibling == field:
- continue
- yield sibling
-
-iterator genClearFieldProc(msg: Message, field: Field): string =
- yield &"proc clear{field.name}*(message: {msg.names}) ="
- yield indent(&"message.{field.accessor} = {defaultValue(field)}", 4)
- var numbers: seq[int] = @[field.number]
- for sibling in oneofSiblings(field):
- add(numbers, sibling.number)
- yield indent(&"excl(message.hasField, [{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)
- if isRepeated(field) or isMapEntry(field):
- check = &"{check} or (len(message.{field.accessor}) > 0)"
- yield check
- yield ""
-
-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)
- 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 ""
-
-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 ""
-
-iterator genFieldAccessorProcs(msg: Message, field: Field): string =
- yield &"proc {quoteReserved(field.name)}*(message: {msg.names}): {field.fullType} {{.inline.}} ="
- yield indent(&"message.{field.accessor}", 4)
- yield ""
-
- yield &"proc `{field.name}=`*(message: {msg.names}, value: {field.fullType}) {{.inline.}} ="
- yield indent(&"set{field.name}(message, value)", 4)
- yield ""
-
-iterator genWriteMapKVProc(msg: Message): string =
- let
- key = mapKeyField(msg)
- value = mapValueField(msg)
-
- yield &"proc write{msg.names}KV(stream: ProtobufStream, key: {key.fullType}, value: {value.fullType}) ="
- yield indent(&"{key.writeProc}(stream, key, {key.number})", 4)
- yield indent(&"{value.writeProc}(stream, value, {value.number})", 4)
- yield ""
-
-iterator genWriteMessageProc(msg: Message): string =
- yield &"proc write{msg.names}*(stream: ProtobufStream, message: {msg.names}) ="
-
- for field in msg.fields:
- if isMapEntry(field):
- yield indent(&"for key, value in message.{field.name}:", 4)
- yield indent(&"writeTag(stream, {field.number}, {wiretypeStr(field)})", 8)
- yield indent(&"writeVarint(stream, {field.sizeOfProc}(key, value))", 8)
- yield indent(&"{field.writeProc}(stream, key, value)", 8)
- elif isRepeated(field):
- if field.packed:
- yield indent(&"if has{field.name}(message):", 4)
- yield indent(&"writeTag(stream, {field.number}, WireType.LengthDelimited)", 8)
- yield indent(&"writeVarint(stream, packedFieldSize(message.{field.name}, {field.fieldTypeStr}))", 8)
- yield indent(&"for value in message.{field.name}:", 8)
- yield indent(&"{field.writeProc}(stream, value)", 12)
- else:
- yield indent(&"for value in message.{field.name}:", 4)
- yield indent(&"{field.writeProc}(stream, value, {field.number})", 8)
- else:
- 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 ""
-
-iterator genReadMapKVProc(msg: Message): string =
- let
- key = mapKeyField(msg)
- value = mapValueField(msg)
-
- yield &"proc read{msg.names}KV(stream: ProtobufStream, tbl: TableRef[{key.fullType}, {value.fullType}]) ="
-
- yield indent(&"var", 4)
- yield indent(&"key: {key.fullType}", 8)
- yield indent("gotKey = false", 8)
- yield indent(&"value: {value.fullType}", 8)
- yield indent("gotValue = false", 8)
- yield indent("while not atEnd(stream):", 4)
- yield indent("let", 8)
- yield indent("tag = readTag(stream)", 12)
- yield indent("wireType = wireType(tag)", 12)
- yield indent("case fieldNumber(tag)", 8)
- yield indent(&"of {key.number}:", 8)
- yield indent(&"key = {key.readProc}(stream)", 12)
- yield indent("gotKey = true", 12)
- yield indent(&"of {value.number}:", 8)
- if isMessage(value):
- yield indent("let", 12)
- yield indent("size = readVarint(stream)", 16)
- yield indent("data = safeReadStr(stream, int(size))", 16)
- yield indent("pbs = newProtobufStream(newStringStream(data))", 16)
- yield indent(&"value = {value.readProc}(pbs)", 12)
- else:
- yield indent(&"value = {value.readProc}(stream)", 12)
- yield indent("gotValue = true", 12)
- yield indent("else: skipField(stream, wireType)", 8)
- yield indent("if not gotKey:", 4)
- yield indent(&"raise newException(Exception, \"missing key\")", 8)
- yield indent("if not gotValue:", 4)
- yield indent(&"raise newException(Exception, \"missing value\")", 8)
- yield indent("tbl[key] = value", 4)
- yield ""
-
-iterator genReadMessageProc(msg: Message): string =
- yield &"proc read{msg.names}*(stream: ProtobufStream): {msg.names} ="
- yield indent(&"result = new{msg.names}()", 4)
- yield indent("while not atEnd(stream):", 4)
- yield indent("let", 8)
- yield indent("tag = readTag(stream)", 12)
- yield indent("wireType = wireType(tag)", 12)
- yield indent("case fieldNumber(tag)", 8)
- yield indent("of 0:", 8)
- yield indent("raise newException(InvalidFieldNumberError, \"Invalid field number: 0\")", 12)
- for field in msg.fields:
- let
- setter =
- if isRepeated(field):
- &"add{field.name}"
- else:
- &"set{field.name}"
- yield indent(&"of {field.number}:", 8)
- if isRepeated(field):
- if isMapEntry(field):
- yield indent(&"expectWireType(wireType, {field.wiretypeStr})", 12)
- yield indent("let", 12)
- yield indent("size = readVarint(stream)", 16)
- yield indent("data = safeReadStr(stream, int(size))", 16)
- yield indent("pbs = newProtobufStream(newStringStream(data))", 16)
- yield indent(&"{field.readProc}(pbs, result.{field.name})", 12)
- elif isNumeric(field):
- yield indent(&"expectWireType(wireType, {field.wiretypeStr}, WireType.LengthDelimited)", 12)
- yield indent("if wireType == WireType.LengthDelimited:", 12)
- yield indent("let", 16)
- yield indent("size = readVarint(stream)", 20)
- yield indent("start = uint64(getPosition(stream))", 20)
- yield indent("var consumed = 0'u64", 16)
- yield indent("while consumed < size:", 16)
- yield indent(&"{setter}(result, {field.readProc}(stream))", 20)
- yield indent("consumed = uint64(getPosition(stream)) - start", 20)
- yield indent("if consumed != size:", 16)
- yield indent("raise newException(Exception, \"packed field size mismatch\")", 20)
- yield indent("else:", 12)
- yield indent(&"{setter}(result, {field.readProc}(stream))", 16)
- elif isMessage(field):
- yield indent(&"expectWireType(wireType, {field.wiretypeStr})", 12)
- yield indent(&"let data = readLengthDelimited(stream)", 12)
- yield indent(&"{setter}(result, new{field.typeName}(data))", 12)
- else:
- yield indent(&"expectWireType(wireType, {field.wiretypeStr})", 12)
- yield indent(&"{setter}(result, {field.readProc}(stream))", 12)
- else:
- yield indent(&"expectWireType(wireType, {field.wiretypeStr})", 12)
- if isMessage(field):
- yield indent("let data = readLengthDelimited(stream)", 12)
- 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 ""
-
-iterator genSizeOfMapKVProc(message: Message): string =
- let
- key = mapKeyField(message)
- value = mapValueField(message)
-
- yield &"proc sizeOf{message.names}KV(key: {key.fullType}, value: {value.fullType}): uint64 ="
-
- # Key (cannot be message or other complex field)
- yield indent(&"result = result + sizeOfTag({key.number}, {key.wiretypeStr})", 4)
- yield indent(&"result = result + {key.sizeOfProc}(key)", 4)
-
- # Value
- yield indent(&"result = result + sizeOfTag({value.number}, {value.wiretypeStr})", 4)
- if isMessage(value):
- yield indent(&"result = result + sizeOfLengthDelimited({value.sizeOfProc}(value))", 4)
- else:
- yield indent(&"result = result + {value.sizeOfProc}(value)", 4)
-
- yield ""
-
-iterator genSizeOfMessageProc(msg: Message): string =
- yield &"proc sizeOf{msg.names}*(message: {msg.names}): uint64 ="
- for field in msg.fields:
- if isMapEntry(field):
- yield indent(&"if has{field.name}(message):", 4)
- yield indent(&"var sizeOfKV = 0'u64", 8)
- yield indent(&"for key, value in message.{field.name}:", 8)
- yield indent(&"sizeOfKV = sizeOfKV + {field.sizeOfProc}(key, value)", 12)
- yield indent(&"result = result + sizeOfTag({field.number}, {field.wiretypeStr})", 8)
- yield indent(&"result = result + sizeOfLengthDelimited(sizeOfKV)", 8)
- elif isRepeated(field):
- if isNumeric(field):
- yield indent(&"if has{field.name}(message):", 4)
- yield indent(&"result = result + sizeOfTag({field.number}, WireType.LengthDelimited)", 8)
- yield indent(&"result = result + sizeOfLengthDelimited(packedFieldSize(message.{field.name}, {field.fieldTypeStr}))", 8)
- else:
- yield indent(&"for value in message.{field.name}:", 4)
- yield indent(&"result = result + sizeOfTag({field.number}, {field.wiretypeStr})", 8)
- if isMessage(field):
- yield indent(&"result = result + sizeOfLengthDelimited({field.sizeOfProc}(value))", 8)
- else:
- yield indent(&"result = result + {field.sizeOfProc}(value)", 8)
- else:
- yield indent(&"if has{field.name}(message):", 4)
- yield indent(&"result = result + sizeOfTag({field.number}, {field.wiretypeStr})", 8)
- if isMessage(field):
- yield indent(&"result = result + sizeOfLengthDelimited({field.sizeOfProc}(message.{field.accessor}))", 8)
- 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 ""
-
-proc shouldGenerateJsonProcs(typeName: string): bool =
- const wktsHavingCustomProcs = [
- "google_protobuf_Any",
- "google_protobuf_BoolValue",
- "google_protobuf_BytesValue",
- "google_protobuf_DoubleValue",
- "google_protobuf_Duration",
- "google_protobuf_FieldMask",
- "google_protobuf_FloatValue",
- "google_protobuf_Int32Value",
- "google_protobuf_Int64Value",
- "google_protobuf_ListValue",
- "google_protobuf_NullValue",
- "google_protobuf_StringValue",
- "google_protobuf_Struct",
- "google_protobuf_Timestamp",
- "google_protobuf_UInt32Value",
- "google_protobuf_UInt64Value",
- "google_protobuf_Value",
- ]
-
- return typeName notin wktsHavingCustomProcs
-
-iterator genMessageToJsonProc(msg: Message): string =
- yield &"proc toJson*(message: {msg.names}): JsonNode ="
- yield indent("result = newJObject()", 4)
-
- proc fieldToJson(field: Field, v: string): string =
- case field.ftype
- of google_protobuf_FieldDescriptorProto_Type.TypeMessage,
- google_protobuf_FieldDescriptorProto_Type.TypeInt64,
- google_protobuf_FieldDescriptorProto_Type.TypeUInt64,
- google_protobuf_FieldDescriptorProto_Type.TypeSFixed64,
- google_protobuf_FieldDescriptorProto_Type.TypeFixed64,
- google_protobuf_FieldDescriptorProto_Type.TypeDouble,
- google_protobuf_FieldDescriptorProto_Type.TypeFloat:
- result = &"toJson({v})"
- of google_protobuf_FieldDescriptorProto_Type.TypeEnum:
- result = &"%(${v})"
- else:
- result = &"%{v}"
-
- for field in msg.fields:
- yield indent(&"if has{field.name}(message):", 4)
- if isMapEntry(field):
- yield indent("let obj = newJObject()", 8)
- yield indent(&"for key, value in message.{field.name}:", 8)
- let f = mapValueField(field)
- let j = fieldToJson(f, "value")
- yield indent(&"obj[$key] = {j}", 12)
- yield indent(&"result[\"{field.jsonName}\"] = obj", 8)
- elif isRepeated(field):
- yield indent(&"let arr = newJArray()", 8)
- yield indent(&"for value in message.{field.name}:", 8)
- let v = fieldToJson(field, "value")
- yield indent(&"add(arr, {v})", 12)
- yield indent(&"result[\"{field.jsonName}\"] = arr", 8)
- else:
- let v = fieldToJson(field, &"message.{field.name}")
- yield indent(&"result[\"{field.jsonName}\"] = {v}", 8)
-
- yield ""
-
-iterator genMessageProcForwards(msg: Message): string =
- # TODO: can we be more intelligent and only forward declare the minimum set
- # of procs?
- if not isMapEntry(msg):
- yield &"proc new{msg.names}*(): {msg.names}"
- yield &"proc new{msg.names}*(data: string): {msg.names}"
- yield &"proc write{msg.names}*(stream: ProtobufStream, message: {msg.names})"
- yield &"proc read{msg.names}*(stream: ProtobufStream): {msg.names}"
- yield &"proc sizeOf{msg.names}*(message: {msg.names}): uint64"
- if shouldGenerateJsonProcs($msg.names):
- yield &"proc toJson*(message: {msg.names}): JsonNode"
- else:
- let
- key = mapKeyField(msg)
- value = mapValueField(msg)
-
- yield &"proc write{msg.names}KV(stream: ProtobufStream, key: {key.fullType}, value: {value.fullType})"
- yield &"proc read{msg.names}KV(stream: ProtobufStream, tbl: TableRef[{key.fullType}, {value.fullType}])"
- yield &"proc sizeOf{msg.names}KV(key: {key.fullType}, value: {value.fullType}): uint64"
-
-iterator genProcs(msg: Message): string =
- if isMapEntry(msg):
- for line in genSizeOfMapKVProc(msg): yield line
- for line in genWriteMapKVProc(msg): yield line
- for line in genReadMapKVProc(msg): yield line
- else:
- for line in genNewMessageProc(msg): yield line
-
- for field in msg.fields:
- for line in genClearFieldProc(msg, field): yield line
- for line in genHasFieldProc(msg, field): yield line
- for line in genSetFieldProc(msg, field): yield line
-
- if isRepeated(field) and not isMapEntry(field):
- for line in genAddToFieldProc(msg, field): yield line
-
- for line in genFieldAccessorProcs(msg, field): yield line
-
- for line in genSizeOfMessageProc(msg): yield line
- for line in genWriteMessageProc(msg): yield line
- for line in genReadMessageProc(msg): yield line
-
- if shouldGenerateJsonProcs($msg.names):
- for line in genMessageToJsonProc(msg): yield line
-
- yield &"proc serialize*(message: {msg.names}): string ="
- yield indent("let", 4)
- yield indent("ss = newStringStream()", 8)
- yield indent("pbs = newProtobufStream(ss)", 8)
- yield indent(&"write{msg.names}(pbs, message)", 4)
- yield indent("result = ss.data", 4)
- yield ""
-
- yield &"proc new{msg.names}*(data: string): {msg.names} ="
- yield indent("let", 4)
- yield indent("ss = newStringStream(data)", 8)
- yield indent("pbs = newProtobufStream(ss)", 8)
- yield indent(&"result = read{msg.names}(pbs)", 4)
- yield ""
-
-proc processFile(fdesc: google_protobuf_FileDescriptorProto,
- otherFiles: TableRef[string, ProtoFile],
- serviceGenerator: ServiceGenerator): ProcessedFile =
- var (dir, name, _) = splitFile(fdesc.name)
- var pbfilename = (dir / name) & "_pb.nim"
-
- log(&"processing {fdesc.name}: {pbfilename}")
-
- new(result)
- result.name = pbfilename
- result.data = ""
-
- let parsed = parseFile(fdesc.name, fdesc)
-
- for dep in fdesc.dependency:
- if dep in otherFiles:
- add(parsed.dependencies, otherFiles[dep])
-
- var hasMaps = false
- for message in parsed.messages:
- let tmp = fixMapEntry(parsed, message)
- if tmp:
- hasMaps = true
-
- addLine(result.data, "# Generated by protoc_gen_nim. Do not edit!")
- addLine(result.data, "")
- addLine(result.data, "import base64")
- addLine(result.data, "import intsets")
- addLine(result.data, "import json")
- if hasMaps:
- addLine(result.data, "import tables")
- addLine(result.data, "export tables")
- addLine(result.data, "")
- addLine(result.data, "import nimpb/nimpb")
- addLine(result.data, "import nimpb/json as nimpb_json")
- addLine(result.data, "")
-
- for dep in fdesc.dependency:
- var (dir, depname, _) = splitFile(dep)
-
- if dir == "google/protobuf":
- dir = "nimpb/wkt"
-
- var deppbname = (dir / depname) & "_pb"
- addLine(result.data, &"import {deppbname}")
-
- if hasDependency(fdesc):
- addLine(result.data, "")
-
- addLine(result.data, "type")
-
- for e in parsed.enums:
- for line in genType(e): addLine(result.data, indent(line, 4))
-
- for message in parsed.messages:
- for line in genType(message): addLine(result.data, indent(line, 4))
-
- addLine(result.data, "")
-
- for message in sortDependencies(parsed.messages):
- for line in genMessageProcForwards(message):
- addLine(result.data, line)
- addLine(result.data, "")
-
- for message in sortDependencies(parsed.messages):
- for line in genProcs(message):
- addLine(result.data, line)
- addLine(result.data, "")
-
- if serviceGenerator != nil:
- for serviceDesc in fdesc.service:
- let service = newService(serviceDesc, parsed)
- addLine(result.data, "")
- add(result.data, serviceGenerator(service))
-
-proc processFileDescriptorSet*(filename: string,
- outdir: string,
- protos: openArray[string],
- serviceGenerator: ServiceGenerator) =
- let s = newProtobufStream(newFileStream(filename, fmRead))
-
- let fileSet = readgoogle_protobuf_FileDescriptorSet(s)
-
- var otherFiles = newTable[string, ProtoFile]()
-
- for file in fileSet.file:
- add(otherFiles, file.name, parseFile(file.name, file))
-
- # Protoc does not provide full paths for files in FileDescriptorSet. So it
- # can be that fileSet.file.name might match any file in protos. So we will
- # try to match the bare name and the named joined with the path of the first
- # file.
- let basePath = parentDir(protos[0])
-
- for file in fileSet.file:
- if (file.name in protos) or ((basePath / file.name) in protos):
- let processedFile = processFile(file, otherFiles, serviceGenerator)
-
- let fullPath = outdir / processedFile.name
-
- createDir(parentDir(fullPath))
-
- writeFile(fullPath, processedFile.data)