/** * Create a new Parser. * @param S Lexer for getting tokens while parsing * @param keepDocComments true if javadoc comments should be kept * @param genEndPos true if end positions should be generated */ public Parser newParser(Lexer S, boolean keepDocComments, boolean genEndPos) { if (!genEndPos) return new Parser(this, S, keepDocComments); else return new EndPosParser(this, S, keepDocComments); } }
/** {@inheritDoc} */ @Override protected void storeEnd(JCTree tree, int endpos) { int errorEndPos = getErrorEndPos(); endPositions.put(tree, errorEndPos > endpos ? errorEndPos : endpos); }
/** {@inheritDoc} */ @Override protected <T extends JCTree> T to(T t) { storeEnd(t, S.endPos()); return t; }
/** {@inheritDoc} */ @Override JCExpression parExpression() { int pos = S.pos(); JCExpression t = super.parExpression(); return toP(F.at(pos).Parens(t)); }
public JCCompilationUnit parseCompilationUnit() { JCCompilationUnit result = super.parseCompilationUnit(); if (lexer instanceof CommentCollectingScanner) { List<CommentInfo> comments = ((CommentCollectingScanner)lexer).getComments(); JCCompilationUnit_comments.set(result, comments); } return result; } }
@Override public JCCompilationUnit compilationUnit() { JCCompilationUnit result = super.compilationUnit(); if (lexer instanceof CommentCollectingScanner) { List<CommentInfo> comments = ((CommentCollectingScanner)lexer).getComments(); JCCompilationUnit_comments.set(result, comments); } return result; } }
/** {@inheritDoc} */ @Override JCExpression parExpression() { int pos = S.pos(); JCExpression t = super.parExpression(); return toP(F.at(pos).Parens(t)); }
/** {@inheritDoc} */ @Override protected <T extends JCTree> T toP(T t) { storeEnd(t, S.prevEndPos()); return t; }
/** {@inheritDoc} */ @Override protected void storeEnd(JCTree tree, int endpos) { int errorEndPos = getErrorEndPos(); endPositions.put(tree, errorEndPos > endpos ? errorEndPos : endpos); }
/** * Create a new Parser. * @param S Lexer for getting tokens while parsing * @param keepDocComments true if javadoc comments should be kept * @param genEndPos true if end positions should be generated */ public Parser newParser(Lexer S, boolean keepDocComments, boolean genEndPos) { if (!genEndPos) return new Parser(this, S, keepDocComments); else return new EndPosParser(this, S, keepDocComments); } }
/** {@inheritDoc} */ @Override protected <T extends JCTree> T toP(T t) { storeEnd(t, S.prevEndPos()); return t; }
/** {@inheritDoc} */ @Override protected <T extends JCTree> T to(T t) { storeEnd(t, S.endPos()); return t; }