aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOskari Timperi <oswjk@users.noreply.github.com>2018-10-10 20:04:45 -0700
committerGitHub <noreply@github.com>2018-10-10 20:04:45 -0700
commita55eb0b8a6efa097ad2e9a2be628229c86c24b7f (patch)
tree7ee6c465a2d3268ba164329f60d66519b8c12f01
parent4220eb1d41751d6dd74e6196bd122b12e434f968 (diff)
parent050616f9417794568c8b194c4c124ec6d9a5f4cd (diff)
downloadnimpb-a55eb0b8a6efa097ad2e9a2be628229c86c24b7f.tar.gz
nimpb-a55eb0b8a6efa097ad2e9a2be628229c86c24b7f.zip
Merge pull request #10 from oswjk/fixes-for-nim-0.19
Small fixes for Nim 0.19 compatibility
-rw-r--r--nimpb/compiler/generator.nim9
-rw-r--r--nimpb/compiler/nimpb_build.nim2
-rw-r--r--nimpb/json.nim2
3 files changed, 8 insertions, 5 deletions
diff --git a/nimpb/compiler/generator.nim b/nimpb/compiler/generator.nim
index 8dff420..e765e00 100644
--- a/nimpb/compiler/generator.nim
+++ b/nimpb/compiler/generator.nim
@@ -265,7 +265,7 @@ proc findEnum(file: ProtoFile, typeName: string): Enum =
break
proc defaultValue(field: Field): string =
- if field.defaultValue != nil:
+ if field.defaultValue != "":
if isEnum(field):
return &"{field.typeName}.{field.defaultValue}"
elif field.ftype == google_protobuf_FieldDescriptorProtoType.TypeString:
@@ -1065,7 +1065,10 @@ iterator genMessageFromJsonProc(msg: Message): string =
elif field.ftype == google_protobuf_FieldDescriptorProto_Type.TypeBool:
result = &"parseBool({n})"
elif isNumeric(field):
- result = &"parseInt[{field.nimTypeName}]({n})"
+ if isUnsigned(field):
+ result = &"parseUInt[{field.nimTypeName}]({n})"
+ else:
+ result = &"parseInt[{field.nimTypeName}]({n})"
elif field.ftype == google_protobuf_FieldDescriptorProto_Type.TypeString:
result = &"parseString({n})"
elif field.ftype == google_protobuf_FieldDescriptorProto_Type.TypeBytes:
@@ -1200,7 +1203,7 @@ proc hasGenService(serviceGenerator: ServiceGenerator): bool =
serviceGenerator != nil and serviceGenerator.genService != nil
proc ownFile(serviceGenerator: ServiceGenerator): bool =
- serviceGenerator != nil and serviceGenerator.fileSuffix != nil
+ serviceGenerator != nil and serviceGenerator.fileSuffix != ""
proc processFile(fdesc: google_protobuf_FileDescriptorProto,
otherFiles: TableRef[string, ProtoFile],
diff --git a/nimpb/compiler/nimpb_build.nim b/nimpb/compiler/nimpb_build.nim
index 55d5e70..96b2313 100644
--- a/nimpb/compiler/nimpb_build.nim
+++ b/nimpb/compiler/nimpb_build.nim
@@ -33,7 +33,7 @@ for kind, key, val in getopt():
usage()
of cmdEnd: assert(false)
-if outdir == nil:
+if outdir == "":
echo("error: --out is required")
quit(QuitFailure)
diff --git a/nimpb/json.nim b/nimpb/json.nim
index 8d34fc3..875c567 100644
--- a/nimpb/json.nim
+++ b/nimpb/json.nim
@@ -97,7 +97,7 @@ proc parseInt*[T: int32|int64](node: JsonNode): T =
proc high(t: typedesc[uint64]): uint64 = 18446744073709551615'u64
-proc parseInt*[T: uint32|uint64](node: JsonNode): T =
+proc parseUInt*[T: uint32|uint64](node: JsonNode): T =
var big: BiggestUInt
if node.kind == JString: