code: func (p *Parser) Parse(srcPath string, files []models.Path) (*Result, error) {
  	b, err := p.readFile(srcPath)
  	if err != nil {
  		return nil, err
  	}
  	fset := token.NewFileSet()
  	f, err := p.parseFile(fset, srcPath)
  	if err != nil {
  		return nil, err
  	}
  	fs, err := p.parseFiles(fset, f, files)
  	if err != nil {
  		return nil, err
  	}
  	return &Result{
  		Header: &models.Header{
  			Comments: parsePkgComment(f, f.Package),
  			Package:  f.Name.String(),
  			Imports:  parseImports(f.Imports),
  			Code:     goCode(b, f),
  		},
  		Funcs: p.parseFunctions(fset, f, fs),
  	}, nil
  }
docs: // Parse parses a given Go file at srcPath, along any files that share the same
  // package, into a domain model for generating tests.