protected String formatSourceLine(JCDiagnostic d,int nSpaces){
  StringBuilder buf=new StringBuilder();
  DiagnosticSource source=d.getDiagnosticSource();
  int pos=d.getIntPosition();
  if (d.getIntPosition() == Position.NOPOS)   throw new AssertionError();
  String line=(source == null ? null : source.getLine(pos));
  if (line == null)   return "";
  buf.append(indent(line,nSpaces));
  int col=source.getColumnNumber(pos,false);
  if (config.isCaretEnabled()) {
    buf.append("\n");
    for (int i=0; i < col - 1; i++) {
      buf.append((line.charAt(i) == '\t') ? "\t" : " ");
    }
    buf.append(indent("^",nSpaces));
  }
  return buf.toString();
}

protected String formatSourceLine ( JCDiagnostic d , int nSpaces ) { StringBuilder buf = new StringBuilder ( ) ; DiagnosticSource source = d . getDiagnosticSource ( ) ; int pos = d . getIntPosition ( ) ; if ( d . getIntPosition ( ) == Position . NOPOS ) throw new AssertionError ( ) ; String line = ( source == null ? null : source . getLine ( pos ) ) ; if ( line == null ) return "" ; buf . append ( indent ( line , nSpaces ) ) ; int col = source . getColumnNumber ( pos , false ) ; if ( config . isCaretEnabled ( ) ) { buf . append ( "\n" ) ; for ( int i = 0 ; i < col - 1 ; i ++ ) { buf . append ( ( line . charAt ( i ) == '\t' ) ? "\t" : " " ) ; } buf . append ( indent ( "^" , nSpaces ) ) ; } return buf . toString ( ) ; }
format the faulty source code line and point to the error .
