Skip to content

Commit cf0e4f9

Browse files
EItanyasoloio-bulldozer[bot]
authored andcommitted
fix oneof difference (#2)
* fix oneof difference * accidental line * remove ambiguity from test
1 parent 1a24aaf commit cf0e4f9

File tree

8 files changed

+269
-81
lines changed

8 files changed

+269
-81
lines changed

templates/go/functions.go

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,20 @@ func register(tpl *template.Template, params pgs.Parameters) {
1818
}
1919

2020
tpl.Funcs(map[string]interface{}{
21-
"snakeCase": fns.snakeCase,
22-
"cmt": pgs.C80,
23-
"isBytes": fns.isBytes,
24-
"lit": fns.lit,
25-
"lookup": fns.lookup,
26-
"msgTyp": fns.msgTyp,
27-
"name": fns.Name,
28-
"oneof": fns.oneofTypeName,
29-
"pkg": fns.PackageName,
30-
"typ": fns.Type,
31-
"externalEnums": fns.externalEnums,
32-
"enumPackages": fns.enumPackages,
33-
"render": fns.render,
21+
"fullPackageName": fns.fullPackageName,
22+
"snakeCase": fns.snakeCase,
23+
"cmt": pgs.C80,
24+
"isBytes": fns.isBytes,
25+
"lit": fns.lit,
26+
"lookup": fns.lookup,
27+
"msgTyp": fns.msgTyp,
28+
"name": fns.Name,
29+
"oneof": fns.oneofTypeName,
30+
"pkg": fns.PackageName,
31+
"typ": fns.Type,
32+
"externalEnums": fns.externalEnums,
33+
"enumPackages": fns.enumPackages,
34+
"render": fns.render,
3435
})
3536
}
3637

@@ -47,6 +48,10 @@ func (fns goSharedFuncs) pointerAccessor(field pgs.Field) string {
4748
return fmt.Sprintf("&m.%s", fns.Name(field))
4849
}
4950

51+
func (fns goSharedFuncs) fullPackageName(msg pgs.Message) string {
52+
return fmt.Sprintf("%s.%s.%s", msg.Package().ProtoName(), fns.ImportPath(msg), fns.Name(msg))
53+
}
54+
5055
func (fns goSharedFuncs) lookup(f pgs.Field, name string) string {
5156
return fmt.Sprintf(
5257
"_%s_%s_%s",
@@ -102,7 +107,6 @@ func (fns goSharedFuncs) oneofTypeName(f pgs.Field) pgsgo.TypeName {
102107
return pgsgo.TypeName(fns.OneofOption(f)).Pointer()
103108
}
104109

105-
106110
func (fns goSharedFuncs) msgTyp(message pgs.Message) pgsgo.TypeName {
107111
return pgsgo.TypeName(fns.Name(message))
108112
}

templates/go/msg.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ const msgTpl = `
55
func (m {{ (msgTyp .).Pointer }}) Hash(hasher hash.Hash64) (uint64, error) {
66
if m == nil { return 0, nil }
77
if hasher == nil { hasher = fnv.New64() }
8-
{{- if not (eq (len .Fields) 0) }}
98
var err error
10-
{{- end }}
9+
if _, err = hasher.Write([]byte("{{ fullPackageName . }}")); err != nil {
10+
return 0, err
11+
}
12+
1113
{{ range .NonOneOfFields }}
1214
{{ render . }}
1315
{{ end }}

templates/templates.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,12 @@ type FilePathFn func(f pgs.File, ctx pgsgo.Context, tpl *template.Template) *pgs
1414

1515
func Template(params pgs.Parameters) *template.Template {
1616
tpl := template.New("go")
17-
// shared.RegisterFunctions(tpl, params)
1817
golang.Register(tpl, params)
1918
return tpl
2019
}
2120

2221
func FilePathFor(tpl *template.Template, moduleName string) FilePathFn {
2322
switch tpl.Name() {
24-
// case "h":
25-
// return cc.CcFilePath
26-
// case "cc":
27-
// return cc.CcFilePath
28-
// case "java":
29-
// return java.JavaFilePath
3023
default:
3124
return func(f pgs.File, ctx pgsgo.Context, tpl *template.Template) *pgs.FilePath {
3225
out := ctx.OutputPath(f)

tests/api/hello.pb.go

Lines changed: 143 additions & 49 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)