Skip to content

Instantly share code, notes, and snippets.

@mkaczanowski
Created October 12, 2021 22:51
Show Gist options
  • Save mkaczanowski/92543677d9e6fe133083e1012edd0143 to your computer and use it in GitHub Desktop.
Save mkaczanowski/92543677d9e6fe133083e1012edd0143 to your computer and use it in GitHub Desktop.
protobuf changes
diff --git a/generator/generator.go b/generator/generator.go
index 352147b..58d560a 100644
--- a/generator/generator.go
+++ b/generator/generator.go
@@ -224,9 +224,9 @@ func (g *Generator) generateEnum(descriptor *descriptorpb.EnumDescriptorProto, b
enumNamesString += name
// Note: checking for zero isn't needed since it's enforced by protoc
- if value != oldValue+1 {
- return errors.New("enums must start at 0 and increment by 1: " + enumName + "." + name)
- }
+ //if value != oldValue+1 {
+ //return errors.New("enums must start at 0 and increment by 1: " + enumName + "." + name)
+ //}
oldValue = value
}
@@ -273,17 +273,26 @@ func (g *Generator) generateMessage(descriptor *descriptorpb.DescriptorProto, b
if err != nil {
return err
}
-
- fieldNumber := field.GetNumber()
- if fieldNumber != fieldCount+1 {
- return errors.New("field number does not increment by 1: " + structName + "." + fieldName)
+ if fieldName == "seconds" {
+ fieldName = "Seconds"
+ }
+ if fieldName == "type" {
+ fieldName = "Type"
}
+ if fieldName == "address" {
+ fieldName = "Address"
+ }
+
+ //fieldNumber := field.GetNumber()
+ //if fieldNumber != fieldCount+1 {
+ //return errors.New("field number does not increment by 1: " + structName + "." + fieldName)
+ //}
fieldCount++
// Forbid oneof
- if field.OneofIndex != nil {
- return errors.New("oneof fields are forbidden: " + structName + "." + fieldName)
- }
+ //if field.OneofIndex != nil {
+ //return errors.New("oneof fields are forbidden: " + structName + "." + fieldName)
+ //}
arrayStr := ""
if isFieldRepeated(field) {
@@ -397,13 +406,13 @@ func (g *Generator) generateMessageDecoder(structName string, fields []*descript
b.P("}")
b.P()
- b.P("// Check that the field number of monotonically increasing")
- b.P("if (field_number <= previous_field_number) {")
- b.Indent()
- b.P("return (false, pos, instance);")
- b.Unindent()
- b.P("}")
- b.P()
+ //b.P("// Check that the field number of monotonically increasing")
+ //b.P("if (field_number <= previous_field_number) {")
+ //b.Indent()
+ //b.P("return (false, pos, instance);")
+ //b.Unindent()
+ //b.P("}")
+ //b.P()
b.P("// Check that the wire type is correct")
b.P("success = check_key(field_number, wire_type);")
@@ -498,6 +507,15 @@ func (g *Generator) generateMessageDecoder(structName string, fields []*descript
// Individual field decoders
for _, field := range fields {
fieldName := field.GetName()
+ if fieldName == "seconds" {
+ fieldName = "Seconds"
+ }
+ if fieldName == "type" {
+ fieldName = "Type"
+ }
+ if fieldName == "address" {
+ fieldName = "Address"
+ }
fieldDescriptorType := field.GetType()
fieldNumber := field.GetNumber()
@@ -1017,6 +1035,15 @@ func (g *Generator) generateMessageEncoder(structName string, fields []*descript
if err != nil {
return err
}
+ if fieldName == "seconds" {
+ fieldName = "Seconds"
+ }
+ if fieldName == "type" {
+ fieldName = "Type"
+ }
+ if fieldName == "address" {
+ fieldName = "Address"
+ }
switch fieldDescriptorType {
case descriptorpb.FieldDescriptorProto_TYPE_MESSAGE:
@@ -1088,6 +1115,15 @@ func (g *Generator) generateMessageEncoder(structName string, fields []*descript
if err != nil {
return err
}
+ if fieldName == "seconds" {
+ fieldName = "Seconds"
+ }
+ if fieldName == "type" {
+ fieldName = "Type"
+ }
+ if fieldName == "address" {
+ fieldName = "Address"
+ }
switch fieldDescriptorType {
case descriptorpb.FieldDescriptorProto_TYPE_MESSAGE:
@@ -1273,6 +1309,15 @@ func (g *Generator) generateMessageEncoder(structName string, fields []*descript
if err != nil {
return err
}
+ if fieldName == "seconds" {
+ fieldName = "Seconds"
+ }
+ if fieldName == "type" {
+ fieldName = "Type"
+ }
+ if fieldName == "address" {
+ fieldName = "Address"
+ }
switch fieldDescriptorType {
case descriptorpb.FieldDescriptorProto_TYPE_MESSAGE:
@@ -1294,6 +1339,15 @@ func (g *Generator) generateMessageEncoder(structName string, fields []*descript
if err != nil {
return err
}
+ if fieldName == "seconds" {
+ fieldName = "Seconds"
+ }
+ if fieldName == "type" {
+ fieldName = "Type"
+ }
+ if fieldName == "address" {
+ fieldName = "Address"
+ }
switch fieldDescriptorType {
case descriptorpb.FieldDescriptorProto_TYPE_MESSAGE:
@@ -1367,7 +1421,7 @@ func checkKeyword(w string) error {
case
// Global Variables
"abi",
- "block",
+ //"block",
"gasleft",
"msg",
"now",
@@ -1385,9 +1439,9 @@ func checkKeyword(w string) error {
"this",
"super",
"selfdestruct",
- "type",
+ //"type",
// Function Visibility Specifiers
- "public",
+ //"public",
"private",
"external",
"internal",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment