(GenericLexer lexer)
| 703 | } |
| 704 | |
| 705 | private int expectInt(GenericLexer lexer) throws SqlException { |
| 706 | CharSequence tok = tok(lexer, "integer"); |
| 707 | boolean negative; |
| 708 | if (Chars.equals(tok, '-')) { |
| 709 | negative = true; |
| 710 | tok = tok(lexer, "integer"); |
| 711 | } else { |
| 712 | negative = false; |
| 713 | } |
| 714 | try { |
| 715 | int result = Numbers.parseInt(tok); |
| 716 | return negative ? -result : result; |
| 717 | } catch (NumericException e) { |
| 718 | throw err(lexer, tok, "bad integer"); |
| 719 | } |
| 720 | } |
| 721 | |
| 722 | /** |
| 723 | * Parses an interval literal like "5s", "-2m", "+10h". Handles optional leading sign. |
no test coverage detected