From 9640137a86e00f764ec3e99e1de008c76a2cdc2c Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Tue, 27 Sep 2016 17:01:10 +0200 Subject: [PATCH] bind: add missing unsafe import in generated code The ClassGen.genGo function always uses unsafe, contrary to what the check in GenGo says. With this CL, generated code always imports unsafe if there are any classes to be generated. Change-Id: Ic807111a26e494b4941790830b1950bb8b1f73d5 Reviewed-on: https://go-review.googlesource.com/29873 Reviewed-by: Hyang-Ah Hana Kim --- bind/genclasses.go | 4 +--- bind/testdata/classes.go.golden | 2 ++ bind/testdata/java.go.golden | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/bind/genclasses.go b/bind/genclasses.go index 1b797c3..0de3f23 100644 --- a/bind/genclasses.go +++ b/bind/genclasses.go @@ -162,18 +162,16 @@ func (g *ClassGen) GenPackage(idx int) { func (g *ClassGen) GenGo() { g.Printf(classesGoHeader) - impUnsafe := false for _, cls := range g.classes { for _, f := range cls.Funcs { if f.Public && g.isFuncSupported(f) { - impUnsafe = true pkgName := strings.Replace(cls.Name, ".", "/", -1) g.Printf("import %q\n", "Java/"+pkgName) break } } } - if impUnsafe { + if len(g.classes) > 0 { g.Printf("import \"unsafe\"\n\n") } g.Printf("type proxy interface { Bind_proxy_refnum__() int32 }\n\n") diff --git a/bind/testdata/classes.go.golden b/bind/testdata/classes.go.golden index d912b50..d769639 100644 --- a/bind/testdata/classes.go.golden +++ b/bind/testdata/classes.go.golden @@ -44,6 +44,8 @@ import ( _seq "golang.org/x/mobile/bind/seq" ) +import "unsafe" + type proxy interface { Bind_proxy_refnum__() int32 } // Suppress unused package error diff --git a/bind/testdata/java.go.golden b/bind/testdata/java.go.golden index e7914ea..43e67c2 100644 --- a/bind/testdata/java.go.golden +++ b/bind/testdata/java.go.golden @@ -39,6 +39,8 @@ import ( _seq "golang.org/x/mobile/bind/seq" ) +import "unsafe" + type proxy interface { Bind_proxy_refnum__() int32 } // Suppress unused package error