Example #1
0
        public static bool IsAnyPotentiallyUpdatable(CompilerMessage[] messages, NodeFinishedMessage nodeResult, ObjectsFromDisk dataFromBuildProgram)
        {
            var matches   = messages.Select(m => MicrosoftCSharpCompilerOutputParser.sCompilerOutput.Match(m.message)).Where(m => m.Success).ToArray();
            var typeNames = matches.Select(MissingTypeNameFor).Where(t => t != null).ToArray();

            if (!typeNames.Any())
            {
                return(false);
            }

            var assemblyData = Helpers.FindOutputDataAssemblyInfoFor(nodeResult, dataFromBuildProgram);
            var lines        = new NPath(assemblyData.MovedFromExtractorFile).ReadAllLines();

            return(typeNames.Any(t => lines.Contains(t)));
        }