@Override public Object createTerminal(Input input, int startIndex, int endIndex, List<Trivia> trivias, TokenType type) { boolean isEof = GenericTokenType.EOF.equals(type); LineColumnValue lineColumnValue = tokenPosition(input, startIndex, endIndex); return new InternalSyntaxToken(lineColumnValue.line, lineColumnValue.column, lineColumnValue.value, createTrivias(trivias), startIndex, endIndex, isEof); }
@Override public Object createTerminal(Input input, int startIndex, int endIndex, List<Trivia> trivias, TokenType type) { boolean isEof = GenericTokenType.EOF.equals(type); LineColumnValue lineColumnValue = tokenPosition(input, startIndex, endIndex); return new InternalSyntaxToken(lineColumnValue.line, lineColumnValue.column, lineColumnValue.value, createTrivias(trivias), startIndex, endIndex, isEof); }
@Override public Object createTerminal(Input input, int startIndex, int endIndex, List<Trivia> trivias, TokenType type) { boolean isEof = GenericTokenType.EOF.equals(type); LineColumnValue lineColumnValue = tokenPosition(input, startIndex, endIndex); return new InternalSyntaxToken(lineColumnValue.line, lineColumnValue.column, lineColumnValue.value, createTrivias(trivias), startIndex, endIndex, isEof); }
/** * {@inheritDoc} */ @Override public void visitToken(Token token) { if (EOF.equals(token.getType())) { getContext().peekSourceCode().setMeasure(metric, token.getLine()); } }
/** * {@inheritDoc} */ @Override public void visitToken(Token token) { if (!EOF.equals(token.getType())) { /* Handle all the lines of the token */ String[] tokenLines = token.getValue().split("\n", -1); int firstLineAlreadyCounted = lastTokenLine == token.getLine() ? 1 : 0; getContext().peekSourceCode().add(metric, tokenLines.length - firstLineAlreadyCounted); lastTokenLine = token.getLine() + tokenLines.length - 1; } }
@Override public Object createTerminal(Input input, int startIndex, int endIndex, List<Trivia> trivias, TokenType type) { char[] fileChars = input.input(); boolean hasByteOrderMark = fileChars.length > 0 && fileChars[0] == BYTE_ORDER_MARK; boolean isEof = GenericTokenType.EOF.equals(type); LineColumnValue lineColumnValue = tokenPosition(input, startIndex, endIndex); return new InternalSyntaxToken( lineColumnValue.line + lineOffset, column(hasByteOrderMark, lineColumnValue.line, lineColumnValue.column), lineColumnValue.value, createTrivias(trivias, hasByteOrderMark), startIndex - (hasByteOrderMark ? 1 : 0), isEof); }
@Override public Object createTerminal(Input input, int startIndex, int endIndex, List<Trivia> trivias, TokenType type) { char[] fileChars = input.input(); boolean hasByteOrderMark = fileChars.length > 0 && fileChars[0] == BYTE_ORDER_MARK; boolean isEof = GenericTokenType.EOF.equals(type); LineColumnValue lineColumnValue = tokenPosition(input, startIndex, endIndex); return new InternalSyntaxToken( lineColumnValue.line + lineOffset, column(hasByteOrderMark, lineColumnValue.line, lineColumnValue.column), lineColumnValue.value, createTrivias(trivias, hasByteOrderMark), startIndex - (hasByteOrderMark ? 1 : 0), isEof); }
@Override public Object createTerminal(Input input, int startIndex, int endIndex, List<Trivia> trivias, TokenType type) { char[] fileChars = input.input(); boolean hasByteOrderMark = fileChars.length > 0 && fileChars[0] == BYTE_ORDER_MARK; boolean isEof = GenericTokenType.EOF.equals(type); LineColumnValue lineColumnValue = tokenPosition(input, startIndex, endIndex); return new InternalSyntaxToken( lineColumnValue.line, column(hasByteOrderMark, lineColumnValue.line, lineColumnValue.column), lineColumnValue.value, createTrivias(trivias, hasByteOrderMark), isEof, isByteOrderMark(input, startIndex, endIndex)); }
@Override public Object createTerminal(Input input, int startIndex, int endIndex, List<Trivia> trivias, TokenType type) { char[] fileChars = input.input(); boolean hasByteOrderMark = fileChars.length > 0 && fileChars[0] == BYTE_ORDER_MARK; boolean isEof = GenericTokenType.EOF.equals(type); LineColumnValue lineColumnValue = tokenPosition(input, startIndex, endIndex); return new InternalSyntaxToken( lineColumnValue.line, column(hasByteOrderMark, lineColumnValue.line, lineColumnValue.column), lineColumnValue.value, createTrivias(trivias, hasByteOrderMark), isEof, isByteOrderMark(input, startIndex, endIndex)); }
private void highlightStringsAndKeywords(Highlightable.HighlightingBuilder highlighting, List<Token> tokens, SourceFileOffsets offsets) { for (Token token : tokens) { if (GenericTokenType.LITERAL.equals(token.getType())) { highlight(highlighting, offsets.startOffset(token), offsets.endOffset(token), "s"); } if (isKeyword(token.getType())) { highlight(highlighting, offsets.startOffset(token), offsets.endOffset(token), "k"); } } }
private Object visitTerminal(ParseNode node) { TokenType type = null; if (node.getMatcher() instanceof TriviaExpression) { TriviaExpression ruleMatcher = (TriviaExpression) node.getMatcher(); if (ruleMatcher.getTriviaKind() == TriviaKind.SKIPPED_TEXT) { return null; } else if (ruleMatcher.getTriviaKind() == TriviaKind.COMMENT) { addComment(node); return null; } else { throw new IllegalStateException("Unexpected trivia kind: " + ruleMatcher.getTriviaKind()); } } else if (node.getMatcher() instanceof TokenExpression) { TokenExpression ruleMatcher = (TokenExpression) node.getMatcher(); type = ruleMatcher.getTokenType(); if (GenericTokenType.COMMENT.equals(ruleMatcher.getTokenType())) { addComment(node); return null; } } Object result = nodeBuilder.createTerminal(input, node.getStartIndex(), node.getEndIndex(), trivias, type); trivias.clear(); return result; }
private Object visitTerminal(ParseNode node) { TokenType type = null; if (node.getMatcher() instanceof TriviaExpression) { TriviaExpression ruleMatcher = (TriviaExpression) node.getMatcher(); if (ruleMatcher.getTriviaKind() == TriviaKind.SKIPPED_TEXT) { return null; } else if (ruleMatcher.getTriviaKind() == TriviaKind.COMMENT) { addComment(node); return null; } else { throw new IllegalStateException("Unexpected trivia kind: " + ruleMatcher.getTriviaKind()); } } else if (node.getMatcher() instanceof TokenExpression) { TokenExpression ruleMatcher = (TokenExpression) node.getMatcher(); type = ruleMatcher.getTokenType(); if (GenericTokenType.COMMENT.equals(ruleMatcher.getTokenType())) { addComment(node); return null; } } Object result = nodeBuilder.createTerminal(input, node.getStartIndex(), node.getEndIndex(), trivias, type); trivias.clear(); return result; }
private void highlightStringsAndKeywords(Highlightable.HighlightingBuilder highlighting, List<Token> tokens, SourceFileOffsets offsets) { for (Token token : tokens) { if (GenericTokenType.LITERAL.equals(token.getType())) { highlight(highlighting, offsets.startOffset(token), offsets.endOffset(token), "s"); } if (isKeyword(token.getType())) { highlight(highlighting, offsets.startOffset(token), offsets.endOffset(token), "k"); } if (ScalaTokenType.ANNOTATION.equals(token.getType())) { highlight(highlighting, offsets.startOffset(token), offsets.endOffset(token), "a"); } } }