func (c *GraphContext) transform(raw *RawOutput, unit *unit.SourceUnit) *graph.Output { var out graph.Output for _, def := range raw.Defs { out.Defs = append(out.Defs, c.transformDef(def)) if doc := c.transformDefDoc(def); doc != nil { out.Docs = append(out.Docs, doc) } } for _, ref := range raw.Refs { if outRef, err := c.transformRef(ref); err == nil { out.Refs = append(out.Refs, outRef) } else { log.Printf("Could not transform ref %v: %s", ref, err) } } return &out }
func Graph(unit *unit.SourceUnit) (*graph.Output, error) { pkg, err := UnitDataAsBuildPackage(unit) if err != nil { return nil, err } o, err := doGraph(pkg) if err != nil { return nil, err } o2 := graph.Output{} for _, gs := range o.Defs { d, err := convertGoDef(gs) if err != nil { return nil, err } if d != nil { o2.Defs = append(o2.Defs, d) } } for _, gr := range o.Refs { r, err := convertGoRef(gr) if err != nil { return nil, err } if r != nil { o2.Refs = append(o2.Refs, r) } } for _, gd := range o.Docs { d, err := convertGoDoc(gd) if err != nil { return nil, err } if d != nil { o2.Docs = append(o2.Docs, d) } } return &o2, nil }