parent
fb22459275
commit
a649369e80
@ -1,64 +0,0 @@ |
||||
package main |
||||
|
||||
import ( |
||||
"encoding/gob" |
||||
"flag" |
||||
"fmt" |
||||
"os" |
||||
"path" |
||||
"reflect" |
||||
|
||||
"github.com/golang/mock/mockgen/model" |
||||
|
||||
pkg_ "github.com/ethereum/go-ethereum/log" |
||||
) |
||||
|
||||
var output = flag.String("output", "", "The output file name, or empty to use stdout.") |
||||
|
||||
func main() { |
||||
flag.Parse() |
||||
|
||||
its := []struct { |
||||
sym string |
||||
typ reflect.Type |
||||
}{ |
||||
|
||||
{"Logger", reflect.TypeOf((*pkg_.Logger)(nil)).Elem()}, |
||||
} |
||||
pkg := &model.Package{ |
||||
// NOTE: This behaves contrary to documented behaviour if the
|
||||
// package name is not the final component of the import path.
|
||||
// The reflect package doesn't expose the package name, though.
|
||||
Name: path.Base("github.com/ethereum/go-ethereum/log"), |
||||
} |
||||
|
||||
for _, it := range its { |
||||
intf, err := model.InterfaceFromInterfaceType(it.typ) |
||||
if err != nil { |
||||
fmt.Fprintf(os.Stderr, "Reflection: %v\n", err) |
||||
os.Exit(1) |
||||
} |
||||
intf.Name = it.sym |
||||
pkg.Interfaces = append(pkg.Interfaces, intf) |
||||
} |
||||
|
||||
outfile := os.Stdout |
||||
if len(*output) != 0 { |
||||
var err error |
||||
outfile, err = os.Create(*output) |
||||
if err != nil { |
||||
fmt.Fprintf(os.Stderr, "failed to open output file %q", *output) |
||||
} |
||||
defer func() { |
||||
if err := outfile.Close(); err != nil { |
||||
fmt.Fprintf(os.Stderr, "failed to close output file %q", *output) |
||||
os.Exit(1) |
||||
} |
||||
}() |
||||
} |
||||
|
||||
if err := gob.NewEncoder(outfile).Encode(pkg); err != nil { |
||||
fmt.Fprintf(os.Stderr, "gob encode: %v\n", err) |
||||
os.Exit(1) |
||||
} |
||||
} |
@ -1,64 +0,0 @@ |
||||
package main |
||||
|
||||
import ( |
||||
"encoding/gob" |
||||
"flag" |
||||
"fmt" |
||||
"os" |
||||
"path" |
||||
"reflect" |
||||
|
||||
"github.com/golang/mock/mockgen/model" |
||||
|
||||
pkg_ "github.com/ethereum/go-ethereum/log" |
||||
) |
||||
|
||||
var output = flag.String("output", "", "The output file name, or empty to use stdout.") |
||||
|
||||
func main() { |
||||
flag.Parse() |
||||
|
||||
its := []struct { |
||||
sym string |
||||
typ reflect.Type |
||||
}{ |
||||
|
||||
{"Handler", reflect.TypeOf((*pkg_.Handler)(nil)).Elem()}, |
||||
} |
||||
pkg := &model.Package{ |
||||
// NOTE: This behaves contrary to documented behaviour if the
|
||||
// package name is not the final component of the import path.
|
||||
// The reflect package doesn't expose the package name, though.
|
||||
Name: path.Base("github.com/ethereum/go-ethereum/log"), |
||||
} |
||||
|
||||
for _, it := range its { |
||||
intf, err := model.InterfaceFromInterfaceType(it.typ) |
||||
if err != nil { |
||||
fmt.Fprintf(os.Stderr, "Reflection: %v\n", err) |
||||
os.Exit(1) |
||||
} |
||||
intf.Name = it.sym |
||||
pkg.Interfaces = append(pkg.Interfaces, intf) |
||||
} |
||||
|
||||
outfile := os.Stdout |
||||
if len(*output) != 0 { |
||||
var err error |
||||
outfile, err = os.Create(*output) |
||||
if err != nil { |
||||
fmt.Fprintf(os.Stderr, "failed to open output file %q", *output) |
||||
} |
||||
defer func() { |
||||
if err := outfile.Close(); err != nil { |
||||
fmt.Fprintf(os.Stderr, "failed to close output file %q", *output) |
||||
os.Exit(1) |
||||
} |
||||
}() |
||||
} |
||||
|
||||
if err := gob.NewEncoder(outfile).Encode(pkg); err != nil { |
||||
fmt.Fprintf(os.Stderr, "gob encode: %v\n", err) |
||||
os.Exit(1) |
||||
} |
||||
} |
Loading…
Reference in new issue