/** * Reads until a token is reached. * @param tok The token to read to. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public void readToToken(int tok) throws CoreException { int curr= 0; do { curr= readNext(false); } while (curr != tok); }
/** * Reads until a token is reached. * @param tok The token to read to. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public void readToToken(int tok) throws CoreException { int curr= 0; do { curr= readNext(false); } while (curr != tok); }
/** * Reads until a token is reached. * @param tok The token to read to. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public void readToToken(int tok) throws CoreException { int curr= 0; do { curr= readNext(false); } while (curr != tok); }
/** * Reads the next token from the given offset and returns the offset after the token. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread * @return Returns the start position of the next token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getNextEndOffset(int offset, boolean ignoreComments) throws CoreException { readNext(offset, ignoreComments); return getCurrentEndOffset(); }
/** * Reads the next token from the given offset and returns the offset after the token. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread * @return Returns the end position of the next token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getNextEndOffset(int offset, boolean ignoreComments) throws CoreException { readNext(offset, ignoreComments); return getCurrentEndOffset(); }
/** * Reads the next token from the given offset. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread. * @return Returns the token id. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int readNext(int offset, boolean ignoreComments) throws CoreException { setOffset(offset); return readNext(ignoreComments); }
/** * Reads the next token from the given offset and returns the start offset of the token. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread * @return Returns the start position of the next token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getNextStartOffset(int offset, boolean ignoreComments) throws CoreException { readNext(offset, ignoreComments); return getCurrentStartOffset(); }
/** * Reads the next token from the given offset and returns the offset after the token. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread * @return Returns the end position of the next token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getNextEndOffset(int offset, boolean ignoreComments) throws CoreException { readNext(offset, ignoreComments); return getCurrentEndOffset(); }
/** * Reads the next token from the given offset and returns the start offset of the token. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread * @return Returns the start position of the next token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getNextStartOffset(int offset, boolean ignoreComments) throws CoreException { readNext(offset, ignoreComments); return getCurrentStartOffset(); }
/** * Reads the next token from the given offset and returns the start offset of the token. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread * @return Returns the start position of the next token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getNextStartOffset(int offset, boolean ignoreComments) throws CoreException { readNext(offset, ignoreComments); return getCurrentStartOffset(); }
/** * Reads the next token from the given offset. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread. * @return Returns the token id. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int readNext(int offset, boolean ignoreComments) throws CoreException { setOffset(offset); return readNext(ignoreComments); }
/** * Reads the next token from the given offset. * @param offset The offset to start reading from. * @param ignoreComments If set, comments will be overread. * @return Returns the token id. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int readNext(int offset, boolean ignoreComments) throws CoreException { setOffset(offset); return readNext(ignoreComments); }
/** * Reads from the given offset until a token is reached and returns the offset after the previous token. * @param token The token to be found. * @param startOffset The offset to start scanning from. * @return Returns the end offset of the token previous to the given token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getPreviousTokenEndOffset(int token, int startOffset) throws CoreException { setOffset(startOffset); int res= startOffset; int curr= readNext(false); while (curr != token) { res= getCurrentEndOffset(); curr= readNext(false); } return res; }
/** * Reads from the given offset until a token is reached and returns the offset after the previous token. * @param token The token to be found. * @param startOffset The offset to start scanning from. * @return Returns the end offset of the token previous to the given token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getPreviousTokenEndOffset(int token, int startOffset) throws CoreException { setOffset(startOffset); int res= startOffset; int curr= readNext(false); while (curr != token) { res= getCurrentEndOffset(); curr= readNext(false); } return res; }
/** * Reads from the given offset until a token is reached and returns the offset after the previous token. * @param token The token to be found. * @param startOffset The offset to start scanning from. * @return Returns the end offset of the token previous to the given token. * @exception CoreException Thrown when the end of the file has been reached (code END_OF_FILE) * or a lexical error was detected while scanning (code LEXICAL_ERROR) */ public int getPreviousTokenEndOffset(int token, int startOffset) throws CoreException { setOffset(startOffset); int res= startOffset; int curr= readNext(false); while (curr != token) { res= getCurrentEndOffset(); curr= readNext(false); } return res; }
private boolean needsSemicolon(Expression expression) { if ((expression.getParent().getFlags() & ASTNode.RECOVERED) != 0) { try { TokenScanner scanner= new TokenScanner(getCompilationUnit()); return scanner.readNext(expression.getStartPosition() + expression.getLength(), true) != ITerminalSymbols.TokenNameSEMICOLON; } catch (CoreException e) { // ignore } } return false; }
private boolean needsSemicolon(Expression expression) { if ((expression.getParent().getFlags() & ASTNode.RECOVERED) != 0) { try { TokenScanner scanner= new TokenScanner(getCompilationUnit()); return scanner.readNext(expression.getStartPosition() + expression.getLength(), true) != ITerminalSymbols.TokenNameSEMICOLON; } catch (CoreException e) { // ignore } } return false; }
/** * Checks whether the given <code>exprStatement</code> has a semicolon at the end. * * @param exprStatement the {@link ExpressionStatement} to check the semicolon * @param cu the compilation unit * @return <code>true</code> if the given <code>exprStatement</code> has a semicolon at the end, * <code>false</code> otherwise */ public static boolean hasSemicolon(ExpressionStatement exprStatement, ICompilationUnit cu) { boolean hasSemicolon= true; if ((exprStatement.getFlags() & ASTNode.RECOVERED) != 0) { try { Expression expression= exprStatement.getExpression(); TokenScanner scanner= new TokenScanner(cu); hasSemicolon= scanner.readNext(expression.getStartPosition() + expression.getLength(), true) == ITerminalSymbols.TokenNameSEMICOLON; } catch (CoreException e) { hasSemicolon= false; } } return hasSemicolon; }
/** * Checks whether the given <code>exprStatement</code> has a semicolon at the end. * * @param exprStatement the {@link ExpressionStatement} to check the semicolon * @param cu the compilation unit * @return <code>true</code> if the given <code>exprStatement</code> has a semicolon at the end, * <code>false</code> otherwise */ public static boolean hasSemicolon(ExpressionStatement exprStatement, ICompilationUnit cu) { boolean hasSemicolon= true; if ((exprStatement.getFlags() & ASTNode.RECOVERED) != 0) { try { Expression expression= exprStatement.getExpression(); TokenScanner scanner= new TokenScanner(cu); hasSemicolon= scanner.readNext(expression.getStartPosition() + expression.getLength(), true) == ITerminalSymbols.TokenNameSEMICOLON; } catch (CoreException e) { hasSemicolon= false; } } return hasSemicolon; } }
try { while (true) { token= tokenizer.readNext(false); pos= tokenizer.getCurrentEndOffset();