package xapi.javac.dev.util; import com.sun.tools.javac.tree.JCTree.JCCompilationUnit; import com.sun.tools.javac.util.Name; public class NameUtil { private NameUtil() {} // No NameUtil for you! public static String getName(JCCompilationUnit unit) { Name flatName = unit.packge.flatName(); String name = unit.sourcefile.getName(); name = name.substring(0, name.length()-5); if (flatName.isEmpty()) { int ind = name.lastIndexOf('/'); return name.substring(ind+1); } else { String pkg = flatName.toString().replace('.', '/'); return name.substring(name.indexOf(pkg)+1); } } public static boolean equals(javax.lang.model.element.Name nodeName, javax.lang.model.element.Name name) { // When comparing names from different compilers, the equals() method // in name is optimized based on object identity, so we must resort to .toString() equality return nodeName.toString().equals(name.toString()); } }