Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Unified Diff: third_party/go/src/golang.org/x/mobile/cmd/gobind/gen.go

Issue 1275153002: Remove third_party/golang.org/x/mobile as it is no longer used with Go 1.5. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Remove golang.org/x/mobile Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/go/src/golang.org/x/mobile/cmd/gobind/gen.go
diff --git a/third_party/go/src/golang.org/x/mobile/cmd/gobind/gen.go b/third_party/go/src/golang.org/x/mobile/cmd/gobind/gen.go
deleted file mode 100644
index d2563fa479e39223100cc430fb86c79410c48bb5..0000000000000000000000000000000000000000
--- a/third_party/go/src/golang.org/x/mobile/cmd/gobind/gen.go
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
- "fmt"
- "io"
- "os"
- "path/filepath"
- "unicode"
- "unicode/utf8"
-
- "go/ast"
- "go/build"
- "go/parser"
- "go/scanner"
- "go/token"
-
- "golang.org/x/mobile/bind"
- "golang.org/x/tools/go/loader"
- "golang.org/x/tools/go/types"
-)
-
-func genPkg(pkg *build.Package) {
- if len(pkg.CgoFiles) > 0 {
- errorf("gobind: cannot use cgo-dependent package as service definition: %s", pkg.CgoFiles[0])
- return
- }
-
- files := parseFiles(pkg.Dir, pkg.GoFiles)
- if len(files) == 0 {
- return // some error has been reported
- }
-
- conf := loader.Config{
- Fset: fset,
- }
- conf.TypeChecker.Error = func(err error) {
- errorf("%v", err)
- }
- conf.CreateFromFiles(pkg.ImportPath, files...)
- program, err := conf.Load()
- if err != nil {
- errorf("%v", err)
- return
- }
- p := program.Created[0].Pkg
-
- w, closer, err := writer(*lang, p)
- if err != nil {
- errorf("%v", err)
- return
- }
-
- switch *lang {
- case "java":
- err = bind.GenJava(w, fset, p)
- case "go":
- err = bind.GenGo(w, fset, p)
- default:
- errorf("unknown target language: %q", *lang)
- }
-
- if err != nil {
- if list, _ := err.(bind.ErrorList); len(list) > 0 {
- for _, err := range list {
- errorf("%v", err)
- }
- } else {
- errorf("%v", err)
- }
- }
- if err := closer(); err != nil {
- errorf("error in closing output: %v", err)
- }
-}
-
-var fset = token.NewFileSet()
-
-func parseFiles(dir string, filenames []string) []*ast.File {
- var files []*ast.File
- hasErr := false
- for _, filename := range filenames {
- path := filepath.Join(dir, filename)
- file, err := parser.ParseFile(fset, path, nil, parser.AllErrors)
- if err != nil {
- hasErr = true
- if list, _ := err.(scanner.ErrorList); len(list) > 0 {
- for _, err := range list {
- errorf("%v", err)
- }
- } else {
- errorf("%v", err)
- }
- }
- files = append(files, file)
- }
- if hasErr {
- return nil
- }
- return files
-}
-
-func writer(lang string, pkg *types.Package) (w io.Writer, closer func() error, err error) {
- if *outdir == "" {
- return os.Stdout, func() error { return nil }, nil
- }
-
- // TODO(hakim): support output of multiple files e.g. .h/.m files for objc.
-
- if err := os.MkdirAll(*outdir, 0755); err != nil {
- return nil, nil, fmt.Errorf("invalid output dir: %v\n", err)
- }
- fname := defaultFileName(lang, pkg)
- f, err := os.Create(filepath.Join(*outdir, fname))
- if err != nil {
- return nil, nil, fmt.Errorf("invalid output dir: %v\n", err)
- }
- return f, f.Close, nil
-}
-
-func defaultFileName(lang string, pkg *types.Package) string {
- switch lang {
- case "java":
- firstRune, size := utf8.DecodeRuneInString(pkg.Name())
- className := string(unicode.ToUpper(firstRune)) + pkg.Name()[size:]
- return className + ".java"
- case "go":
- return "go_" + pkg.Name() + ".go"
- }
- errorf("unknown target language: %q", lang)
- os.Exit(exitStatus)
- return ""
-}
« no previous file with comments | « third_party/go/src/golang.org/x/mobile/cmd/gobind/doc.go ('k') | third_party/go/src/golang.org/x/mobile/cmd/gobind/main.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698