/** * Basic lookup helper for retrieving a graph node given an inference * variable type. */ public Node findNode(Type t) { for (Node n : nodes) { if (n.data.contains(t)) { return n; } } return null; }
public boolean containsAll(Collection<?> c) { for (Object x: c) { if (!contains(x)) return false; } return true; }
public boolean containsAll(Collection<?> c) { for (Object x: c) { if (!contains(x)) return false; } return true; }
/** * Basic lookup helper for retrieving a graph node given an inference * variable type. */ public Node findNode(Type t) { for (Node n : nodes) { if (n.data.contains(t)) { return n; } } return null; }
public boolean containsAll(Collection<?> c) { for (Object x: c) { if (!contains(x)) return false; } return true; }
public void addFile(File f) { if (!filenames.contains(f)) filenames.append(f); }
public void addFile(File f) { if (!filenames.contains(f)) filenames.append(f); }
private void findSCC(N v) { visitNode(v); for (TarjanNode<D> tn : v.getAllDependencies()) { @SuppressWarnings("unchecked") N n = (N)tn; if (n.index == -1) { //it's the first time we see this node findSCC(n); v.lowlink = Math.min(v.lowlink, n.lowlink); } else if (stack.contains(n)) { //this node is already reachable from current root v.lowlink = Math.min(v.lowlink, n.index); } } if (v.lowlink == v.index) { //v is the root of a SCC addSCC(v); } }
&& (isValidJavaSourceFile(filename) || isValidJavaClassFile(filename)) && !packages.contains(packageName)) { packages.append(packageName); addedPackage = true;
deps2.put(dk, depsByKind); if (data.contains(d.data.first())) { depsByKind.add(this); } else {
deps2.put(dk, depsByKind); if (data.contains(d.data.first())) { depsByKind.add(this); } else {
final List<Type> freeVarsIn(List<Type> ts) { ListBuffer<Type> buf = new ListBuffer<>(); for (Type t : ts) { buf.appendList(freeVarsIn(t)); } ListBuffer<Type> buf2 = new ListBuffer<>(); for (Type t : buf) { if (!buf2.contains(t)) { buf2.add(t); } } return buf2.toList(); }
final List<Type> freeVarsIn(List<Type> ts) { ListBuffer<Type> buf = new ListBuffer<>(); for (Type t : ts) { buf.appendList(freeVarsIn(t)); } ListBuffer<Type> buf2 = new ListBuffer<>(); for (Type t : buf) { if (!buf2.contains(t)) { buf2.add(t); } } return buf2.toList(); }
private static <D, N extends TarjanNode<D>> int tarjan(N v, int index, ListBuffer<N> stack, ListBuffer<List<N>> cycles) { v.index = index; v.lowlink = index; index++; stack.prepend(v); v.active = true; for (TarjanNode<D> nd: v.getAllDependencies()) { @SuppressWarnings("unchecked") N n = (N)nd; if (n.index == -1) { tarjan(n, index, stack, cycles); v.lowlink = Math.min(v.lowlink, n.lowlink); } else if (stack.contains(n)) { v.lowlink = Math.min(v.lowlink, n.index); } } if (v.lowlink == v.index) { N n; ListBuffer<N> cycle = new ListBuffer<>(); do { n = stack.remove(); n.active = false; cycle.add(n); } while (n != v); cycles.add(cycle.toList()); } return index; }
private void searchSubPackages(List<String> subPackages, Map<String,Boolean> includedPackages, ListBuffer<String> packages, Map<String, List<JavaFileObject>> packageFiles, StandardLocation location, Set<JavaFileObject.Kind> kinds) throws IOException { for (String subPackage: subPackages) { if (!isIncluded(subPackage, includedPackages)) continue; for (JavaFileObject fo: docenv.fileManager.list(location, subPackage, kinds, true)) { String binaryName = docenv.fileManager.inferBinaryName(location, fo); String packageName = getPackageName(binaryName); String simpleName = getSimpleName(binaryName); if (isIncluded(packageName, includedPackages) && isValidClassName(simpleName)) { List<JavaFileObject> list = packageFiles.get(packageName); list = (list == null ? List.of(fo) : list.prepend(fo)); packageFiles.put(packageName, list); if (!packages.contains(packageName)) packages.add(packageName); } } } }
Symbol s = sel.selected.type.tsym; PackageDocImpl pdoc = env.getPackageDoc(s.packge()); if (!importedPackages.contains(pdoc)) importedPackages.append(pdoc);
/** * Adds all inner classes of this class, and their * inner classes recursively, to the list l. */ void addAllClasses(ListBuffer<ClassDocImpl> l, boolean filtered) { try { if (isSynthetic()) return; // sometimes synthetic classes are not marked synthetic if (!JavadocTool.isValidClassName(tsym.name.toString())) return; if (filtered && !env.shouldDocument(tsym)) return; if (l.contains(this)) return; l.append(this); List<ClassDocImpl> more = List.nil(); for (Scope.Entry e = tsym.members().elems; e != null; e = e.sibling) { if (e.sym != null && e.sym.kind == Kinds.TYP) { ClassSymbol s = (ClassSymbol)e.sym; ClassDocImpl c = env.getClassDoc(s); if (c.isSynthetic()) continue; if (c != null) more = more.prepend(c); } } // this extra step preserves the ordering from oldjavadoc for (; more.nonEmpty(); more=more.tail) { more.head.addAllClasses(l, filtered); } } catch (CompletionFailure e) { // quietly ignore completion failures } }