private FinallyTree parseFinallyBlock() { SourcePosition start = getTreeStartLocation(); eat(TokenType.FINALLY); BlockTree finallyBlock = parseBlock(); return new FinallyTree(getTreeLocation(start), finallyBlock); }
private FinallyTree parseFinallyBlock() { SourcePosition start = getTreeStartLocation(); eat(TokenType.FINALLY); BlockTree finallyBlock = parseBlock(); return new FinallyTree(getTreeLocation(start), finallyBlock); }
private CatchTree parseCatch() { SourcePosition start = getTreeStartLocation(); CatchTree catchBlock; eat(TokenType.CATCH); eat(TokenType.OPEN_PAREN); ParseTree exception; if (peekPatternStart()) { exception = parsePattern(PatternKind.INITIALIZER); } else { exception = parseIdentifierExpression(); } eat(TokenType.CLOSE_PAREN); BlockTree catchBody = parseBlock(); catchBlock = new CatchTree(getTreeLocation(start), exception, catchBody); return catchBlock; }
private CatchTree parseCatch() { SourcePosition start = getTreeStartLocation(); CatchTree catchBlock; eat(TokenType.CATCH); eat(TokenType.OPEN_PAREN); ParseTree exception; if (peekPatternStart()) { exception = parsePattern(PatternKind.INITIALIZER); } else { exception = parseIdentifierExpression(); } eat(TokenType.CLOSE_PAREN); BlockTree catchBody = parseBlock(); catchBlock = new CatchTree(getTreeLocation(start), exception, catchBody); return catchBlock; }
private ParseTree parseTryStatement() { SourcePosition start = getTreeStartLocation(); eat(TokenType.TRY); ParseTree body = parseBlock(); ParseTree catchBlock = null; if (peek(TokenType.CATCH)) { catchBlock = parseCatch(); } ParseTree finallyBlock = null; if (peek(TokenType.FINALLY)) { finallyBlock = parseFinallyBlock(); } if (catchBlock == null && finallyBlock == null) { reportError("'catch' or 'finally' expected."); } return new TryStatementTree(getTreeLocation(start), body, catchBlock, finallyBlock); }
private ParseTree parseTryStatement() { SourcePosition start = getTreeStartLocation(); eat(TokenType.TRY); ParseTree body = parseBlock(); ParseTree catchBlock = null; if (peek(TokenType.CATCH)) { catchBlock = parseCatch(); } ParseTree finallyBlock = null; if (peek(TokenType.FINALLY)) { finallyBlock = parseFinallyBlock(); } if (catchBlock == null && finallyBlock == null) { reportError("'catch' or 'finally' expected."); } return new TryStatementTree(getTreeLocation(start), body, catchBlock, finallyBlock); }
switch (peekType()) { case OPEN_CURLY: return parseBlock(); case CONST: case VAR:
switch (peekType()) { case OPEN_CURLY: return parseBlock(); case CONST: case VAR: