private static int getThrowsPosition(MethodTree tree, VisitorState state) { for (ErrorProneToken token : state.getTokensForNode(tree)) { if (token.kind() == Tokens.TokenKind.THROWS) { return ((JCTree) tree).getStartPosition() + token.pos(); } } throw new AssertionError(); }
private static void addRemainingModifiers( Tree tree, VisitorState state, ModifiersTree originalModifiers, Collection<Modifier> toAdd, SuggestedFix.Builder fix) { if (toAdd.isEmpty()) { return; } int pos = state.getEndPosition(originalModifiers) != Position.NOPOS ? state.getEndPosition(originalModifiers) + 1 : ((JCTree) tree).getStartPosition(); int base = ((JCTree) tree).getStartPosition(); Optional<Integer> insert = state.getTokensForNode(tree).stream() .map(token -> token.pos() + base) .filter(thisPos -> thisPos >= pos) .findFirst(); int insertPos = insert.orElse(pos); // shouldn't ever be able to get to the else fix.replace(insertPos, insertPos, Joiner.on(' ').join(toAdd) + " "); }
modifierPositions.put(mod, -1); List<ErrorProneToken> tokens = state.getTokensForNode(originalModifiers); int base = ((JCTree) originalModifiers).getStartPosition(); for (ErrorProneToken tok : tokens) {
/** Remove modifiers from the given class, method, or field declaration. */ public static Optional<SuggestedFix> removeModifiers( Tree tree, VisitorState state, Modifier... modifiers) { Set<Modifier> toRemove = ImmutableSet.copyOf(modifiers); ModifiersTree originalModifiers = getModifiers(tree); if (originalModifiers == null) { return Optional.empty(); } SuggestedFix.Builder fix = SuggestedFix.builder(); List<ErrorProneToken> tokens = state.getTokensForNode(originalModifiers); int basePos = ((JCTree) originalModifiers).getStartPosition(); boolean empty = true; for (ErrorProneToken tok : tokens) { Modifier mod = getTokModifierKind(tok); if (toRemove.contains(mod)) { empty = false; fix.replace(basePos + tok.pos(), basePos + tok.endPos() + 1, ""); } } if (empty) { return Optional.empty(); } return Optional.of(fix.build()); }
int extendsPosInClass = endOfExtendsClause - startOfClass; List<ErrorProneToken> tokens = state.getTokensForNode(tree);
private static int getThrowsPosition(MethodTree tree, VisitorState state) { for (ErrorProneToken token : state.getTokensForNode(tree)) { if (token.kind() == Tokens.TokenKind.THROWS) { return ((JCTree) tree).getStartPosition() + token.pos(); } } throw new AssertionError(); }
private static void addRemainingModifiers( Tree tree, VisitorState state, ModifiersTree originalModifiers, Collection<Modifier> toAdd, SuggestedFix.Builder fix) { if (toAdd.isEmpty()) { return; } int pos = state.getEndPosition(originalModifiers) != Position.NOPOS ? state.getEndPosition(originalModifiers) + 1 : ((JCTree) tree).getStartPosition(); int base = ((JCTree) tree).getStartPosition(); Optional<Integer> insert = state.getTokensForNode(tree).stream() .map(token -> token.pos() + base) .filter(thisPos -> thisPos >= pos) .findFirst(); int insertPos = insert.orElse(pos); // shouldn't ever be able to get to the else fix.replace(insertPos, insertPos, Joiner.on(' ').join(toAdd) + " "); }
modifierPositions.put(mod, -1); List<ErrorProneToken> tokens = state.getTokensForNode(originalModifiers); int base = ((JCTree) originalModifiers).getStartPosition(); for (ErrorProneToken tok : tokens) {
/** Remove modifiers from the given class, method, or field declaration. */ public static Optional<SuggestedFix> removeModifiers( Tree tree, VisitorState state, Modifier... modifiers) { Set<Modifier> toRemove = ImmutableSet.copyOf(modifiers); ModifiersTree originalModifiers = getModifiers(tree); if (originalModifiers == null) { return Optional.empty(); } SuggestedFix.Builder fix = SuggestedFix.builder(); List<ErrorProneToken> tokens = state.getTokensForNode(originalModifiers); int basePos = ((JCTree) originalModifiers).getStartPosition(); boolean empty = true; for (ErrorProneToken tok : tokens) { Modifier mod = getTokModifierKind(tok); if (toRemove.contains(mod)) { empty = false; fix.replace(basePos + tok.pos(), basePos + tok.endPos() + 1, ""); } } if (empty) { return Optional.empty(); } return Optional.of(fix.build()); }
int extendsPosInClass = endOfExtendsClause - startOfClass; List<ErrorProneToken> tokens = state.getTokensForNode(tree);