package strip.javadoctag; import com.github.javaparser.Position; import com.github.javaparser.Range; import com.github.javaparser.ast.Node; import com.github.javaparser.ast.comments.JavadocComment; import com.github.javaparser.ast.visitor.ModifierVisitorAdapter; import java.util.ArrayList; import java.util.List; public class OneLineJavaDocTagScanner extends ModifierVisitorAdapter<Void> { private final String tagName; public List<Range> ranges; public OneLineJavaDocTagScanner(String tagName) { this.tagName = tagName; ranges = new ArrayList<>(); } @Override public Node visit(JavadocComment n, Void arg) { int beginLine = n.getRange().begin.line; String[] lines = n.getContent().split("\n"); for (String line : lines) { if (line.toLowerCase().contains("@" + tagName)) { ranges.add(new Range(new Position(beginLine, 1), new Position(beginLine, line.length() + 1))); } ++beginLine; } return n; } }