protected int unicodeEscapeLexer ( int c ) throws IOException { int ret = 0 ; // ignore 'u' (assume c==\ now) and read 4 hex digits c = in . read ( ) ; code . clear ( ) ; try { for ( int i = 0 ; i < 4 ; i ++ ) { c = in . read ( ) ; if ( isEndOfFile ( c ) || isEndOfLine ( c ) ) { throw new NumberFormatException ( "number too short" ) ; } code . append ( ( char ) c ) ; } ret = Integer . parseInt ( code . toString ( ) , 16 ) ; } catch ( NumberFormatException e ) { throw new IOException ( "(line " + getLineNumber ( ) + ") Wrong unicode escape sequence found '" + code . toString ( ) + "'" + e . toString ( ) ) ; } return ret ; }
Decodes Unicode escapes .