public List <string> GetPotentialIncludeFiles(IEnumerable <string> incdirs, IEnumerable <string> incfiles)
{
List <string> possibles = new List <string>();
List <string> includelines = new List <string>();
var fullSrc = Path.GetFullPath(SingleSourceFile);
foreach (var d in incdirs)
{
foreach (var f in (from x in incfiles where x.StartsWith(d, StringComparison.CurrentCultureIgnoreCase) select x))
{
if (f != fullSrc)
{
var incpath = f.Substring(d.Length);
includelines.Add(incpath.TrimStart('\\'));
}
}
}
HashSet <string> tmp = new HashSet <string>(includelines);
foreach (var y in tmp)
{
foreach (var x in incdirs)
{
var p = Path.Combine(x, y);
if (FileUtils.FileMissing(p))
{
possibles.Add(p);
}
else
{
break;
}
}
}
return(possibles);
}