MCPcopy Index your code
hub / github.com/apache/groovy / collect

Method collect

src/main/java/groovy/lang/GroovyClassLoader.java:252–275  ·  view source on GitHub ↗
(final ClassCollector collector, final LinkedHashMap<ClassNode, ClassVisitor> generatedClasses)

Source from the content-addressed store, hash-verified

250 }
251
252 private static void collect(final ClassCollector collector, final LinkedHashMap<ClassNode, ClassVisitor> generatedClasses) {
253 // GROOVY-10687: drive ClassCollector after classgen -- interfaces first
254 var classes = new ArrayList<>(generatedClasses.keySet());
255 classes.sort(Comparator.comparingInt(cn -> {
256 int n;
257 if (cn.isInterface()) {
258 var interfaces = cn.getInterfaces();
259 n = interfaces.length;
260 for (var in : interfaces) {
261 n += in.getInterfaces().length;
262 }
263 } else {
264 n = 999;
265 while (cn != null) { n += 1;
266 cn = cn.getSuperClass();
267 }
268 }
269 return n;
270 }));
271
272 for (ClassNode cn : classes) {
273 collector.call(generatedClasses.get(cn), cn);
274 }
275 }
276
277 /**
278 * Checks if this class loader has compatible {@link CompilerConfiguration}

Callers 3

defineClassMethod · 0.95
doParseClassMethod · 0.95
writeInfoMethod · 0.45

Calls 7

isInterfaceMethod · 0.65
callMethod · 0.65
getMethod · 0.65
keySetMethod · 0.45
sortMethod · 0.45
getInterfacesMethod · 0.45
getSuperClassMethod · 0.45

Tested by

no test coverage detected