package com.sourcetrail; import java.nio.file.Path; import org.eclipse.jdt.core.dom.ASTNode; import org.eclipse.jdt.core.dom.BodyDeclaration; import org.eclipse.jdt.core.dom.CompilationUnit; import org.eclipse.jdt.core.dom.Javadoc; public class Utility { public static Range getRange(ASTNode node, CompilationUnit compilationUnit) { int startPosition = node.getStartPosition() + 1; int endPosition = node.getStartPosition() + node.getLength() - 1; if (node instanceof BodyDeclaration && ((BodyDeclaration)node).getJavadoc() != null) { Javadoc javadoc = ((BodyDeclaration)node).getJavadoc(); startPosition = javadoc.getStartPosition() + javadoc.getLength() + 2; } return new Range( compilationUnit.getLineNumber(startPosition), compilationUnit.getColumnNumber(startPosition), compilationUnit.getLineNumber(endPosition), compilationUnit.getColumnNumber(endPosition) + 1); } public static String getFilenameWithoutExtension(Path filePath) { return filePath.getFileName().toString().replaceFirst("[.][^.]+$", ""); } }