MCPcopy Create free account
hub / github.com/ReadyTalk/avian / getDeclaredClasses

Method getDeclaredClasses

classpath/java/lang/Class.java:422–456  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

420 }
421
422 public Class[] getDeclaredClasses() {
423 ClassAddendum addendum = vmClass.addendum;
424 if (addendum != null) {
425 InnerClassReference[] table = addendum.innerClassTable;
426 if (table != null) {
427 int count = 0;
428 for (int i = 0; i < table.length; ++i) {
429 InnerClassReference reference = table[i];
430 if (reference.outer != null
431 && Arrays.equals(vmClass.name, reference.outer))
432 {
433 ++ count;
434 }
435 }
436
437 Class[] result = new Class[count];
438 for (int i = 0; i < table.length; ++i) {
439 InnerClassReference reference = table[i];
440 if (reference.outer != null
441 && Arrays.equals(vmClass.name, reference.outer))
442 {
443 try {
444 result[--count] = getClassLoader().loadClass
445 (new String(reference.inner, 0, reference.inner.length - 1));
446 } catch (ClassNotFoundException e) {
447 throw new Error(e);
448 }
449 }
450 }
451
452 return result;
453 }
454 }
455 return new Class[0];
456 }
457
458 public Class getDeclaringClass() {
459 ClassAddendum addendum = vmClass.addendum;

Callers 1

innerClassesMethod · 0.95

Calls 3

equalsMethod · 0.95
getClassLoaderMethod · 0.95
loadClassMethod · 0.45

Tested by 1

innerClassesMethod · 0.76