func (s *FileSrc) NewReader() io.Reader {
	var rds []io.Reader
	for i := range s.Files {
		rds = append(rds, s.Reader(i))
	}
	return io.MultiReader(rds...)
}
NewReader returns an io.Reader for reading all files.
package build
import (
	"bufio"
	"bytes"
	"io"
	"io/ioutil"
	"log"
	"os"
	"github.com/nickng/gospal/ssa"
	"github.com/pkg/errors"
)
type Builder interface {
	Build() (*ssa.Info, error)
}
type FileSrc struct {
	Files []string
}
func FromFiles(files ...string) Configurer {
	return newConfig(&FileSrc{Files: files})
}
func (s *FileSrc) Reader(i int) io.Reader {
	if i < len(s.Files) {
		f, err := os.Open(s.Files[i])
		defer f.Close()
		if err != nil {
			log.Fatal(errors.Wrapf(err, "failed to read from file: %s", s.Files[i]))
		}
		return bufio.NewReader(f)
	}
	return nil
}