MCPcopy Create free account
hub / github.com/golang/mobile / genJavaPackages

Function genJavaPackages

cmd/gobind/gen.go:240–291  ·  view source on GitHub ↗
(dir string, classes []*java.Class, embedders []importers.Struct)

Source from the content-addressed store, hash-verified

238}
239
240func genJavaPackages(dir string, classes []*java.Class, embedders []importers.Struct) error {
241 var buf bytes.Buffer
242 cg := &bind.ClassGen{
243 JavaPkg: *javaPkg,
244 Printer: &bind.Printer{
245 IndentEach: []byte("\t"),
246 Buf: &buf,
247 },
248 }
249 cg.Init(classes, embedders)
250 for i, jpkg := range cg.Packages() {
251 pkgDir := filepath.Join(dir, "src", "Java", jpkg)
252 if err := os.MkdirAll(pkgDir, 0700); err != nil {
253 return err
254 }
255 pkgFile := filepath.Join(pkgDir, "package.go")
256 buf.Reset()
257 cg.GenPackage(i)
258 if err := os.WriteFile(pkgFile, buf.Bytes(), 0600); err != nil {
259 return err
260 }
261 }
262 buf.Reset()
263 cg.GenInterfaces()
264 javaBase := filepath.Join(dir, "src", "Java")
265 if err := os.MkdirAll(javaBase, 0700); err != nil {
266 return err
267 }
268 if err := os.WriteFile(filepath.Join(javaBase, "interfaces.go"), buf.Bytes(), 0600); err != nil {
269 return err
270 }
271 goBase := filepath.Join(dir, "src", "gobind")
272 if err := os.MkdirAll(goBase, 0700); err != nil {
273 return err
274 }
275 buf.Reset()
276 cg.GenGo()
277 if err := os.WriteFile(filepath.Join(goBase, "classes_android.go"), buf.Bytes(), 0600); err != nil {
278 return err
279 }
280 buf.Reset()
281 cg.GenH()
282 if err := os.WriteFile(filepath.Join(goBase, "classes.h"), buf.Bytes(), 0600); err != nil {
283 return err
284 }
285 buf.Reset()
286 cg.GenC()
287 if err := os.WriteFile(filepath.Join(goBase, "classes_android.c"), buf.Bytes(), 0600); err != nil {
288 return err
289 }
290 return nil
291}
292
293func processErr(err error) {
294 if err != nil {

Callers 1

runFunction · 0.70

Calls 7

InitMethod · 0.95
PackagesMethod · 0.95
GenPackageMethod · 0.95
GenInterfacesMethod · 0.95
GenGoMethod · 0.95
GenHMethod · 0.95
GenCMethod · 0.95

Tested by

no test coverage detected