/** * Reports an error at the current location. * @param message The message to report in String.format style. * @param arguments The arguments to fill in the message format. */ private void reportError(String message, Object... arguments) { errorReporter.reportError(scanner.getPosition(), message, arguments); } }
public SourcePosition getPosition() { return getPosition(getOffset()); }
private SkipTemplateCharactersResult createSkipTemplateCharactersResult(String message) { return new SkipTemplateCharactersResult(message, getPosition()); }
private void reportWarning(String format, Object... arguments) { errorReporter.reportWarning(getPosition(), format, arguments); }
public Parser( Config config, ErrorReporter errorReporter, SourceFile source, int offset, boolean initialGeneratorContext) { this.config = config; this.errorReporter = errorReporter; this.scanner = new Scanner(config.parseTypeSyntax, errorReporter, commentRecorder, source, offset); this.functionContextStack.addLast( initialGeneratorContext ? FunctionFlavor.GENERATOR : FunctionFlavor.NORMAL); lastSourcePosition = scanner.getPosition(); }
public SourcePosition getPosition() { return getPosition(getOffset()); }
private void reportError(String format, Object... arguments) { reportError(getPosition(), format, arguments); }
private Token scanTemplateLiteral(int beginIndex) { if (isAtEnd()) { reportError(getPosition(beginIndex), "Unterminated template literal"); } return nextTemplateLiteralTokenShared( TokenType.NO_SUBSTITUTION_TEMPLATE, TokenType.TEMPLATE_HEAD); }
/** * Reports an error at the current location. * @param message The message to report in String.format style. * @param arguments The arguments to fill in the message format. */ @FormatMethod private void reportError(@FormatString String message, Object... arguments) { errorReporter.reportError(scanner.getPosition(), message, arguments); }
@FormatMethod private void reportWarning(@FormatString String format, Object... arguments) { errorReporter.reportWarning(getPosition(), format, arguments); }
@FormatMethod private void reportError(@FormatString String format, Object... arguments) { reportError(getPosition(), format, arguments); }
private Token scanTemplateLiteral(int beginIndex) { if (isAtEnd()) { reportError(getPosition(beginIndex), "Unterminated template literal"); } return nextTemplateLiteralTokenShared( TokenType.NO_SUBSTITUTION_TEMPLATE, TokenType.TEMPLATE_HEAD); }
public TemplateLiteralToken nextTemplateLiteralToken() { Token token = nextToken(); if (isAtEnd() || token.type != TokenType.CLOSE_CURLY) { reportError(getPosition(index), "Expected '}' after expression in template literal"); } return nextTemplateLiteralTokenShared(TokenType.TEMPLATE_TAIL, TokenType.TEMPLATE_MIDDLE); }
public LiteralToken nextTemplateLiteralToken() { Token token = nextToken(); if (isAtEnd() || token.type != TokenType.CLOSE_CURLY) { reportError(getPosition(index), "Expected '}' after expression in template literal"); } return nextTemplateLiteralTokenShared( TokenType.TEMPLATE_TAIL, TokenType.TEMPLATE_MIDDLE); }
if (value == null) { reportError( getPosition(index), "Invalid escape sequence"); return createToken(TokenType.ERROR, beginToken); if (!isIdentifierStart(start)) { reportError( getPosition(beginToken), "Character '%c' (U+%04X) is not a valid identifier start char", start, (int) start);
if (value == null) { reportError( getPosition(index), "Invalid escape sequence"); return createToken(TokenType.ERROR, beginToken); if (!isIdentifierStart(start)) { reportError( getPosition(beginToken), "Character '%c' (U+%04X) is not a valid identifier start char", start, (int) start);
private Token scanStringLiteral(int beginIndex, char terminator) { while (peekStringLiteralChar(terminator)) { if (!skipStringLiteralChar()) { return new LiteralToken( TokenType.STRING, getTokenString(beginIndex), getTokenRange(beginIndex)); } } if (peekChar() != terminator) { reportError(getPosition(beginIndex), "Unterminated string literal"); } else { nextChar(); } return new LiteralToken( TokenType.STRING, getTokenString(beginIndex), getTokenRange(beginIndex)); }
private Token scanStringLiteral(int beginIndex, char terminator) { while (peekStringLiteralChar(terminator)) { if (!skipStringLiteralChar()) { return new LiteralToken( TokenType.STRING, getTokenString(beginIndex), getTokenRange(beginIndex)); } } if (peekChar() != terminator) { reportError(getPosition(beginIndex), "Unterminated string literal"); } else { nextChar(); } return new LiteralToken( TokenType.STRING, getTokenString(beginIndex), getTokenRange(beginIndex)); }
private LiteralToken nextTemplateLiteralTokenShared(TokenType endType, TokenType middleType) { int beginIndex = index; skipTemplateCharacters(); if (isAtEnd()) { reportError(getPosition(beginIndex), "Unterminated template literal"); } String value = getTokenString(beginIndex); switch (peekChar()) { case '`': nextChar(); return new LiteralToken(endType, value, getTokenRange(beginIndex - 1)); case '$': nextChar(); // $ nextChar(); // { return new LiteralToken(middleType, value, getTokenRange(beginIndex - 1)); default: // Should have reported error already return new LiteralToken(endType, value, getTokenRange(beginIndex - 1)); } }
SkipTemplateCharactersResult skipTemplateCharactersResult = skipTemplateCharacters(); if (isAtEnd()) { reportError(getPosition(beginIndex), "Unterminated template literal");