@NonNull public final TokenHierarchy<?> getTokenHierarchy() throws IOException { if (this.tokens == null) { final CharBuffer charBuffer = getCharContent(true); this.tokens = TokenHierarchy.create(charBuffer, false, JavaTokenId.language(), null, null); //TODO: .createSnapshot(); } return this.tokens; }
TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language()); if (ts.move(offset) == 0 || !ts.moveNext()) { ts.movePrevious(); ts.token().id().primaryCategory().startsWith("keyword") || //NOI18N ts.token().id().primaryCategory().startsWith("string") || //NOI18N ts.token().id().primaryCategory().equals("literal")) //NOI18N
static int moveFwdToToken(TokenSequence<JavaTokenId> tokenSequence, final int pos, JavaTokenId id) { tokenSequence.move(pos); tokenSequence.moveNext(); // Assumes the pos is located within input bounds while (!id.equals(tokenSequence.token().id())) { if (!tokenSequence.moveNext()) return -1; } return tokenSequence.offset(); }
private static boolean isClashing(String varName, TypeMirror type, Iterable<? extends Element> locals) { try { if (JavaTokenId.valueOf(varName).primaryCategory().startsWith("keyword")) { return true; } } catch (Exception e) { } if (type != null && type.getKind() == TypeKind.DECLARED && ((DeclaredType) type).asElement().getSimpleName().contentEquals(varName)) { return true; } for (Element e : locals) { if ((e.getKind().isField() || e.getKind() == ElementKind.LOCAL_VARIABLE || e.getKind() == ElementKind.RESOURCE_VARIABLE || e.getKind() == ElementKind.PARAMETER || e.getKind() == ElementKind.EXCEPTION_PARAMETER) && varName.contentEquals(e.getSimpleName())) { return true; } } return false; }
public static final boolean isSeparator(JavaTokenId id) { return "separator".equals(id.primaryCategory()); //NOI18N }
public String head() { return " " + precToken.fixedText() + " "; } public String sep() { return ", "; }
|| ts.token().id().primaryCategory().startsWith("keyword") || //NOI18N ts.token().id().primaryCategory().startsWith("string") || //NOI18N ts.token().id().primaryCategory().equals("literal")) //NOI18N ? ts.offset() : startOffset;
private static void lazyInit() { if (inited.compareAndSet(false, true)) { preferences = MimeLookup.getLookup(JavaTokenId.language().mimeType()).lookup(Preferences.class); preferences.addPreferenceChangeListener(WeakListeners.create(PreferenceChangeListener.class, preferencesTracker, preferences)); preferencesTracker.preferenceChange(null); } }
if (offset > 0) { if (bottomUpSearch) { TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language()); if (len > 0 && ts.token().length() >= len) { if (ts.token().id() == JavaTokenId.IDENTIFIER || ts.token().id().primaryCategory().startsWith("keyword") || //NOI18N ts.token().id().primaryCategory().startsWith("string") || //NOI18N ts.token().id().primaryCategory().equals("literal")) //NOI18N TokenSequence<JavaTokenId> ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language()); || ts.token().id().primaryCategory().startsWith("keyword") || //NOI18N ts.token().id().primaryCategory().startsWith("string") || //NOI18N ts.token().id().primaryCategory().equals("literal"))) { //NOI18N offset++;
@Override public Boolean visitUnary(UnaryTree node, Void p) { JavaTokenId id = tokens.token().id(); if (OPERATOR.equals(id.primaryCategory())) { spaces(cs.spaceAroundUnaryOps() ? 1 : 0); col += tokens.token().length();
static int moveBackToToken(TokenSequence<JavaTokenId> tokenSequence, final int pos, JavaTokenId id) { tokenSequence.move(pos); tokenSequence.moveNext(); // Assumes the pos is located within input bounds while (!id.equals(tokenSequence.token().id())) { if (!tokenSequence.movePrevious()) return -1; } return tokenSequence.offset(); }
testPos = tokenSequence.offset(); if (JavaTokenId.COMMA == tokenSequence.token().id()) testPos += JavaTokenId.COMMA.fixedText().length();
private void mapComments(BlockTree block, String inputText, WorkingCopy copy, CommentHandler comments, SourcePositions positions) { TokenSequence<JavaTokenId> seq = TokenHierarchy.create(inputText, JavaTokenId.language()).tokenSequence(JavaTokenId.language()); AssignComments ti = new AssignComments(copy, block, seq, positions); ti.scan(block, null);
@Override public Boolean visitBinary(BinaryTree node, Void p) { int alignIndent = cs.alignMultilineBinaryOp() ? col : -1; scan(node.getLeftOperand(), p); if (cs.wrapAfterBinaryOps()) { boolean containedNewLine = spaces(cs.spaceAroundBinaryOps() ? 1 : 0, false); if (OPERATOR.equals(tokens.token().id().primaryCategory())) { col += tokens.token().length(); lastBlankLines = -1; lastBlankLinesTokenIndex = -1; tokens.moveNext(); if (containedNewLine) newline(); } wrapTree(cs.wrapBinaryOps(), alignIndent, cs.spaceAroundBinaryOps() ? 1 : 0, node.getRightOperand()); } else { wrapOperatorAndTree(cs.wrapBinaryOps(), alignIndent, cs.spaceAroundBinaryOps() ? 1 : 0, node.getRightOperand()); } return true; }
if (separator.equals(accept(separator)) && containedNewLine) { newline();
@Override public Boolean visitCompoundAssignment(CompoundAssignmentTree node, Void p) { int alignIndent = cs.alignMultilineAssignment() ? col : -1; scan(node.getVariable(), p); if (cs.wrapAfterAssignOps()) { boolean containedNewLine = spaces(cs.spaceAroundAssignOps() ? 1 : 0, false); if (OPERATOR.equals(tokens.token().id().primaryCategory())) { col += tokens.token().length(); lastBlankLines = -1; lastBlankLinesTokenIndex = -1; lastBlankLinesDiff = null; tokens.moveNext(); if (containedNewLine) newline(); } wrapTree(cs.wrapAssignOps(), alignIndent, cs.spaceAroundAssignOps() ? 1 : 0, node.getExpression()); } else { wrapOperatorAndTree(cs.wrapAssignOps(), alignIndent, cs.spaceAroundAssignOps() ? 1 : 0, node.getExpression()); } return true; }