Exemplo n.º 1
0
        public IEnumerable <LocationInFile> FindInFileContents(MemberOrSearchTerm memberUsageToFind, string fileContents)
        {
            var results = new List <LocationInFile>();

            //remove comments:
            var cleanedLines = FortranParseHelper.CleanLines(fileContents.Split('\n'), false, false).ToList();

            int lineNr = 0;

            foreach (var line in cleanedLines)
            {
                lineNr++;
                SearchInLine(line, memberUsageToFind.Name, lineNr, results);
            }

            return(results);
        }
Exemplo n.º 2
0
        public IEnumerable <UsageResult> FindInFile(MemberOrSearchTerm memberUsageToFind, SyntaxTree syntaxTree)
        {
            var results      = new List <UsageResult>();
            var fileContents = syntaxTree.CodeFile.Contents;
            var locations    = FindInFileContents(memberUsageToFind, fileContents);

            foreach (var location in locations)
            {
                var enclosingMember = FortranParseHelper.GetEnclosingMember(syntaxTree.Members, location.Line);

                if (enclosingMember != null && enclosingMember == memberUsageToFind.Member)
                {
                    continue; //definition/declaration, not usage
                }
                results.Add(new UsageResult(syntaxTree, location, enclosingMember, location.LineStr));
            }

            return(results);
        }
Exemplo n.º 3
0
 public IList <UsageResult> FindInFiles(MemberOrSearchTerm memberUsageToFind, IEnumerable <SyntaxTree> syntaxTrees)
 {
     return(syntaxTrees.SelectMany(st => FindInFile(memberUsageToFind, st)).ToList());
 }