source.go
func NewSource(base, inner *File, includes []*File) *source {
	return &source{
		base:     base,
		inner:    inner,
		includes: includes,
	}
}
func NewSource(base, inner *File, includes []*File) *source {
	return &source{
		base:     base,
		inner:    inner,
		includes: includes,
	}
}
// NewSource creates and returns source.