Index: dom/org/eclipse/jdt/core/dom/CharacterLiteral.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CharacterLiteral.java,v retrieving revision 1.31 diff -u -r1.31 CharacterLiteral.java --- dom/org/eclipse/jdt/core/dom/CharacterLiteral.java 4 Apr 2005 17:35:08 -0000 1.31 +++ dom/org/eclipse/jdt/core/dom/CharacterLiteral.java 21 Sep 2005 01:26:43 -0000 @@ -265,22 +265,23 @@ throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$ } number = (number * 8) + Character.getNumericValue(nextChar); - } - nextChar = (char) scanner.getNextChar(); - if (nextChar == -1) { - throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$ - } - if (nextChar != '\'') { - if (!Character.isDigit(nextChar)) { + nextChar = (char) scanner.getNextChar(); + if (nextChar == -1) { throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$ } - number = (number * 8) + Character.getNumericValue(nextChar); + if (nextChar != '\'') { + if (!Character.isDigit(nextChar)) { + throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$ + } + number = (number * 8) + Character.getNumericValue(nextChar); + } + value = (char) number; + } else { + return (char) number; } - value = (char) number; } else { throw new IllegalArgumentException("illegal character literal");//$NON-NLS-1$ } - break; } nextChar = (char) scanner.getNextChar(); if (nextChar == -1) {