/** * Returns all known subclasses of the given class, even non-direct sub classes. (i.e. it returns all known classes that are * assignable to the given class); * * @param className The class * @return All known subclasses */ public Set<ClassInfo> getAllKnownSubclasses(final DotName className) { final Set<ClassInfo> allKnown = new HashSet<ClassInfo>(); final Set<DotName> processedClasses = new HashSet<DotName>(); getAllKnownSubClasses(className, allKnown, processedClasses); return allKnown; }
/** * Returns all known subclasses of the given class, even non-direct sub classes. (i.e. it returns all known classes that are * assignable to the given class); * * @param className The class * @return All known subclasses */ public Set<ClassInfo> getAllKnownSubclasses(final DotName className) { final Set<ClassInfo> allKnown = new HashSet<ClassInfo>(); final Set<DotName> processedClasses = new HashSet<DotName>(); getAllKnownSubClasses(className, allKnown, processedClasses); return allKnown; }
/** * Returns all known subclasses of the given class, even non-direct sub classes. (i.e. it returns all known classes that are * assignable to the given class); * * @param className The class * @return All known subclasses */ public Set<ClassInfo> getAllKnownSubclasses(final DotName className) { final Set<ClassInfo> allKnown = new HashSet<ClassInfo>(); final Set<DotName> processedClasses = new HashSet<DotName>(); getAllKnownSubClasses(className, allKnown, processedClasses); return allKnown; }
/** * Returns all known subclasses of the given class, even non-direct sub classes. (i.e. it returns all known classes that are * assignable to the given class); * * @param className The class * @return All known subclasses */ public Set<ClassInfo> getAllKnownSubclasses(final DotName className) { final Set<ClassInfo> allKnown = new HashSet<ClassInfo>(); final Set<DotName> processedClasses = new HashSet<DotName>(); getAllKnownSubClasses(className, allKnown, processedClasses); return allKnown; }
private void getAllKnownSubClasses(DotName className, Set<ClassInfo> allKnown, Set<DotName> processedClasses) { final Set<DotName> subClassesToProcess = new HashSet<DotName>(); subClassesToProcess.add(className); while (!subClassesToProcess.isEmpty()) { final Iterator<DotName> toProcess = subClassesToProcess.iterator(); DotName name = toProcess.next(); toProcess.remove(); processedClasses.add(name); getAllKnownSubClasses(name, allKnown, subClassesToProcess, processedClasses); } }
private void getAllKnownSubClasses(DotName className, Set<ClassInfo> allKnown, Set<DotName> processedClasses) { final Set<DotName> subClassesToProcess = new HashSet<DotName>(); subClassesToProcess.add(className); while (!subClassesToProcess.isEmpty()) { final Iterator<DotName> toProcess = subClassesToProcess.iterator(); DotName name = toProcess.next(); toProcess.remove(); processedClasses.add(name); getAllKnownSubClasses(name, allKnown, subClassesToProcess, processedClasses); } }
private void getAllKnownSubClasses(DotName className, Set<ClassInfo> allKnown, Set<DotName> processedClasses) { final Set<DotName> subClassesToProcess = new HashSet<DotName>(); subClassesToProcess.add(className); while (!subClassesToProcess.isEmpty()) { final Iterator<DotName> toProcess = subClassesToProcess.iterator(); DotName name = toProcess.next(); toProcess.remove(); processedClasses.add(name); getAllKnownSubClasses(name, allKnown, subClassesToProcess, processedClasses); } }
private void getAllKnownSubClasses(DotName className, Set<ClassInfo> allKnown, Set<DotName> processedClasses) { final Set<DotName> subClassesToProcess = new HashSet<DotName>(); subClassesToProcess.add(className); while (!subClassesToProcess.isEmpty()) { final Iterator<DotName> toProcess = subClassesToProcess.iterator(); DotName name = toProcess.next(); toProcess.remove(); processedClasses.add(name); getAllKnownSubClasses(name, allKnown, subClassesToProcess, processedClasses); } }
private void getKnownImplementors(DotName name, Set<ClassInfo> allKnown, Set<DotName> subInterfacesToProcess, Set<DotName> processedClasses) { for (Index index : indexes) { final List<ClassInfo> list = index.getKnownDirectImplementors(name); if (list != null) { for (final ClassInfo clazz : list) { final DotName className = clazz.name(); if (!processedClasses.contains(className)) { if (Modifier.isInterface(clazz.flags())) { subInterfacesToProcess.add(className); } else { if (!allKnown.contains(clazz)) { allKnown.add(clazz); processedClasses.add(className); getAllKnownSubClasses(className, allKnown, processedClasses); } } } } } } }
private void getKnownImplementors(DotName name, Set<ClassInfo> allKnown, Set<DotName> subInterfacesToProcess, Set<DotName> processedClasses) { for (Index index : indexes) { final List<ClassInfo> list = index.getKnownDirectImplementors(name); if (list != null) { for (final ClassInfo clazz : list) { final DotName className = clazz.name(); if (!processedClasses.contains(className)) { if (Modifier.isInterface(clazz.flags())) { subInterfacesToProcess.add(className); } else { if (!allKnown.contains(clazz)) { allKnown.add(clazz); processedClasses.add(className); getAllKnownSubClasses(className, allKnown, processedClasses); } } } } } } }
private void getKnownImplementors(DotName name, Set<ClassInfo> allKnown, Set<DotName> subInterfacesToProcess, Set<DotName> processedClasses) { for (Index index : indexes) { final List<ClassInfo> list = index.getKnownDirectImplementors(name); if (list != null) { for (final ClassInfo clazz : list) { final DotName className = clazz.name(); if (!processedClasses.contains(className)) { if (Modifier.isInterface(clazz.flags())) { subInterfacesToProcess.add(className); } else { if (!allKnown.contains(clazz)) { allKnown.add(clazz); processedClasses.add(className); getAllKnownSubClasses(className, allKnown, processedClasses); } } } } } } }
private void getKnownImplementors(DotName name, Set<ClassInfo> allKnown, Set<DotName> subInterfacesToProcess, Set<DotName> processedClasses) { for (Index index : indexes) { final List<ClassInfo> list = index.getKnownDirectImplementors(name); if (list != null) { for (final ClassInfo clazz : list) { final DotName className = clazz.name(); if (!processedClasses.contains(className)) { if (Modifier.isInterface(clazz.flags())) { subInterfacesToProcess.add(className); } else { if (!allKnown.contains(clazz)) { allKnown.add(clazz); processedClasses.add(className); getAllKnownSubClasses(className, allKnown, processedClasses); } } } } } } }