public int getTokenStart() { return lexer().getTokenStart(); }
private void restoreElixirPosition(@Nullable LexerPosition elixirPosition) { if (elixirPosition != null) { elixirLexer.start(getBufferSequence(), eexLexer.getTokenStart(), eexLexer.getTokenEnd()); elixirLexer.restore(elixirPosition); } }
public void advance() { if (eexLexer.getTokenType() == ELIXIR) { elixirLexer.advance(); if (elixirLexer.getTokenType() == null) { eexLexer.advance(); } } else { eexLexer.advance(); if (eexLexer.getTokenType() == ELIXIR) { // start automatically does equivalent of `advance` since `elixirLexer` is also a look-ahead lexer elixirLexer.start(getBufferSequence(), eexLexer.getTokenStart(), eexLexer.getTokenEnd()); } } }
@Override public int getTokenStart() { int tokenStart = myDelegate.getTokenStart(); if (!afterPrefix && tokenStart == 0) { return 0; } if (afterEOF) { return prefix.length() + suffix.length() + tokenStart; } return prefix.length() + tokenStart; }
private void lexToken(Lexer lexer) { myTokenType = lexer.getTokenType(); if (myTokenType == LEFT_BRACE_CODE_START) { myTokenType = LEFT_BRACE; } myTokenStart = lexer.getTokenStart(); myState = lexer.getState(); myTokenEnd = lexer.getTokenEnd(); lexer.advance(); } }
final String tokenText = lexer.getTokenText(); int tokenStart = lexer.getTokenStart(); int tokenEnd = lexer.getTokenEnd(); int realLength = tokenEnd - tokenStart;
@Test public void testEmptyDelegate() throws Exception { String prefix = "prefix "; String suffix = " suffix"; PrefixSuffixAddingLexer lexer = new PrefixSuffixAddingLexer(new EmptyLexer(), prefix, BashTokenTypes.STRING2, suffix, BashTokenTypes.STRING2); assertPosition(lexer, 0, prefix.length(), 0, BashTokenTypes.STRING2, prefix); lexer.advance(); assertPosition(lexer, prefix.length(), prefix.length() + suffix.length(), 0, BashTokenTypes.STRING2, suffix); //after the first advance the delegate must still be at initial position Assert.assertEquals(0, lexer.getDelegate().getTokenStart()); lexer.advance(); Assert.assertNull(lexer.getTokenType()); assertPosition(lexer, prefix.length() + suffix.length(), prefix.length() + suffix.length(), 0, null, ""); }