// AddExistingFiles adds the specified files to the FileSet if they // are not already present. It panics if any pair of files in the // resulting FileSet would overlap. func AddExistingFiles(fset *token.FileSet, files []*token.File) { … } // FileSetFor returns a new FileSet containing a sequence of new Files with // the same base, size, and line as the input files, for use in APIs that // require a FileSet. // // Precondition: the input files must be non-overlapping, and sorted in order // of their Base. func FileSetFor(files ...*token.File) *token.FileSet { … } // CloneFileSet creates a new FileSet holding all files in fset. It does not // create copies of the token.Files in fset: they are added to the resulting // FileSet unmodified. func CloneFileSet(fset *token.FileSet) *token.FileSet { … }