setDefaults returns a new plugin.Options with zero fields sets to sensible defaults.
(o *plugin.Options)
| 30 | // setDefaults returns a new plugin.Options with zero fields sets to |
| 31 | // sensible defaults. |
| 32 | func setDefaults(o *plugin.Options) *plugin.Options { |
| 33 | d := &plugin.Options{} |
| 34 | if o != nil { |
| 35 | *d = *o |
| 36 | } |
| 37 | if d.Writer == nil { |
| 38 | d.Writer = oswriter{} |
| 39 | } |
| 40 | if d.Flagset == nil { |
| 41 | d.Flagset = &GoFlags{} |
| 42 | } |
| 43 | if d.Obj == nil { |
| 44 | d.Obj = &binutils.Binutils{} |
| 45 | } |
| 46 | if d.UI == nil { |
| 47 | d.UI = &stdUI{r: bufio.NewReader(os.Stdin)} |
| 48 | } |
| 49 | if d.HTTPTransport == nil { |
| 50 | d.HTTPTransport = transport.New(d.Flagset) |
| 51 | } |
| 52 | if d.Sym == nil { |
| 53 | d.Sym = &symbolizer.Symbolizer{Obj: d.Obj, UI: d.UI, Transport: d.HTTPTransport} |
| 54 | } |
| 55 | return d |
| 56 | } |
| 57 | |
| 58 | type stdUI struct { |
| 59 | r *bufio.Reader |
searching dependent graphs…