commit | 559d47f1da45d9962390f3a7202fa437c879ae0a | [log] [tgz] |
---|---|---|
author | Joe Tsai <joetsai@digital-static.net> | Tue Mar 19 18:21:47 2019 -0700 |
committer | Joe Tsai <thebrokentoaster@gmail.com> | Wed Mar 20 04:16:33 2019 +0000 |
tree | 08a89cd6676181cf74135c45f3bdc91f9fac9c1c | |
parent | 4630b3daa634e31ff076c301ff51696fde743bf7 [diff] [blame] |
cmd/protoc-gen-go: fix init order for v1 registration The v1 registration leaks the message types out to the proto package. When doing that, it must ensure that the reflection data structures for those types are properly initialized first. We achieve that by doing v1 registration at the end of the reflection init function. Change-Id: If6df18df59d05bad50ff39c2eff6beb19e7466cc Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168348 Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/cmd/protoc-gen-go/internal_gengo/reflect.go b/cmd/protoc-gen-go/internal_gengo/reflect.go index 7f2d25f..c2f429e 100644 --- a/cmd/protoc-gen-go/internal_gengo/reflect.go +++ b/cmd/protoc-gen-go/internal_gengo/reflect.go
@@ -207,6 +207,8 @@ } } + genRegistrationV1(gen, g, f) + g.P(goTypesVarName(f), " = nil") // allow GC to reclaim resource g.P(depIdxsVarName(f), " = nil") // allow GC to reclaim resource g.P("}")