public Files ( Directory dir, bool includeSegmentsFile ) : ICollection |
||
dir | Directory | |
includeSegmentsFile | bool | |
리턴 | ICollection |
public ICollection<string> Files(Directory dir, bool includeSegmentsFile)
{
var files = new HashSet<string>();
if (includeSegmentsFile)
{
string segmentFileName = SegmentsFileName;
if (segmentFileName != null)
{
files.Add(segmentFileName);
}
}
var size = Size();
for (int i = 0; i < size; i++)
{
var info = Info(i);
Debug.Assert(info.Info.Dir == dir);
if (info.Info.Dir == dir)
{
files.UnionWith(info.Files());
}
}
return files;
}
internal void DecRef(SegmentInfos segmentInfos) { foreach (string file in segmentInfos.Files(directory, false)) { DecRef(file); } }