diff options
| -rw-r--r-- | generator/protoc_gen_nim.nim | 37 | ||||
| -rw-r--r-- | src/nimpb/wkt/struct_pb.nim | 5 |
2 files changed, 19 insertions, 23 deletions
diff --git a/generator/protoc_gen_nim.nim b/generator/protoc_gen_nim.nim index b7c7e49..d1f77c8 100644 --- a/generator/protoc_gen_nim.nim +++ b/generator/protoc_gen_nim.nim @@ -511,24 +511,25 @@ proc mapValueField(message: Message): Field = return field iterator genType(message: Message): string = - yield &"{message.names}* = ref {message.names}Obj" - yield &"{message.names}Obj* = object of RootObj" - yield indent(&"hasField: IntSet", 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) + if not isMapEntry(message): + yield &"{message.names}* = ref {message.names}Obj" + yield &"{message.names}Obj* = object of RootObj" + yield indent(&"hasField: IntSet", 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} =" diff --git a/src/nimpb/wkt/struct_pb.nim b/src/nimpb/wkt/struct_pb.nim index 9b87501..b4c0c76 100644 --- a/src/nimpb/wkt/struct_pb.nim +++ b/src/nimpb/wkt/struct_pb.nim @@ -13,11 +13,6 @@ type google_protobuf_StructObj* = object of RootObj hasField: IntSet fields: TableRef[string, google_protobuf_Value] - google_protobuf_Struct_FieldsEntry* = ref google_protobuf_Struct_FieldsEntryObj - google_protobuf_Struct_FieldsEntryObj* = object of RootObj - hasField: IntSet - key: string - value: google_protobuf_Value google_protobuf_Value* = ref google_protobuf_ValueObj google_protobuf_ValueObj* = object of RootObj hasField: IntSet |
