String file = null; boolean error = true; int startline = -1; int startcolumn = -1; int endline = -1; int endcolumn = -1; String message;  String ERROR_PREFIX = "error ";  String COMPILATION_PREFIX = "Compilation ";  String MAGIC_LINE_MARKER = ".cs(";  if ( line.startsWith( ERROR_PREFIX ) ) { message = line.substring( ERROR_PREFIX.length() ); } else if ( line.startsWith( COMPILATION_PREFIX ) ) {   return null; } else if ( line.indexOf( MAGIC_LINE_MARKER ) != -1 ) { int i = line.indexOf( MAGIC_LINE_MARKER );  int j = line.indexOf( ' ', i );  file = line.substring( 0, i + 3 );  String num = line.substring( i + MAGIC_LINE_MARKER.length(), j - 1 );  startline = Integer.parseInt( num );  endline = startline;  message = line.substring( j + 1 + ERROR_PREFIX.length() );  error = line.indexOf( ") error" ) != -1; } else { System.err.println( "Unknown output: " + line );  return null; }  return new CompilerError( file, error, startline, startcolumn, endline, endcolumn, message );
return DefaultCSharpCompilerParser.parseLine( line );
    public static CompilerError parseLine( String line )    {        String file = null;        boolean error = true;        int startline = -1;        int startcolumn = -1;        int endline = -1;        int endcolumn = -1;        String message;        String ERROR_PREFIX = "error ";        String COMPILATION_PREFIX = "Compilation ";        String MAGIC_LINE_MARKER = ".cs(";        if ( line.startsWith( ERROR_PREFIX ) )        {            message = line.substring( ERROR_PREFIX.length() );        }        else if ( line.startsWith( COMPILATION_PREFIX ) )        {            // ignore            return null;        }        else if ( line.indexOf( MAGIC_LINE_MARKER ) != -1 )        {            int i = line.indexOf( MAGIC_LINE_MARKER );            int j = line.indexOf( ' ', i );            file = line.substring( 0, i + 3 );            String num = line.substring( i + MAGIC_LINE_MARKER.length(), j - 1 );            startline = Integer.parseInt( num );            endline = startline;            message = line.substring( j + 1 + ERROR_PREFIX.length() );            error = line.indexOf( ") error" ) != -1;        }        else        {            System.err.println( "Unknown output: " + line );            return null;        }        return new CompilerError( file,                                  error,                                  startline,                                  startcolumn,                                  endline,                                  endcolumn,                                  message );    }