示例#1
0
        static ErrorMatch ParseClangMatch(ReadOnlyLineBuffer Input, ErrorSeverity Severity)
        {
            string Indent = ExtractIndent(Input[0]);

            int MinOffset = Input.MatchBackwards(0, String.Format(@"^(?:{0}).*(?:In (member )?function|In file included from)", Indent));
            int MaxOffset = Input.MatchForwards(0, String.Format(@"^({0} |{0}{1}\s*note:| *\$)", Indent, ClangFileLinePattern));

            return(new ErrorMatch(Severity, ErrorPriority.High, "Compile", Input, MinOffset, MaxOffset));
        }
示例#2
0
 public ErrorMatch Match(ReadOnlyLineBuffer Input)
 {
     if (Input.IsMatch(@"error: linker command failed with exit code "))
     {
         int MinIdx = Input.MatchBackwards(0, ": In function |: undefined reference to |[^a-zA-Z]ld: ");
         return(new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Normal, "Link", Input, MinIdx, 0));
     }
     if (Input.IsMatch("Undefined symbols for architecture"))
     {
         int MaxOffset = Input.MatchForwardsUntil(0, "ld: symbol");
         return(new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Normal, "Link", Input, 0, MaxOffset));
     }
     if (Input.IsMatch(@"LINK : fatal error"))
     {
         return(new ErrorMatch(ErrorSeverity.Error, ErrorPriority.Normal, "Link", Input));
     }
     return(null);
 }