com.sun.org.apache.bcel.internal.util.ClassQueue

Here are the examples of the java api class com.sun.org.apache.bcel.internal.util.ClassQueue taken from open source projects.

1. JavaClass#getAllInterfaces()

Project: openjdk
File: JavaClass.java
/**
   * Get all interfaces implemented by this JavaClass (transitively).
   */
public JavaClass[] getAllInterfaces() {
    ClassQueue queue = new ClassQueue();
    ClassVector vec = new ClassVector();
    queue.enqueue(this);
    while (!queue.empty()) {
        JavaClass clazz = queue.dequeue();
        JavaClass souper = clazz.getSuperClass();
        JavaClass[] interfaces = clazz.getInterfaces();
        if (clazz.isInterface()) {
            vec.addElement(clazz);
        } else {
            if (souper != null) {
                queue.enqueue(souper);
            }
        }
        for (int i = 0; i < interfaces.length; i++) {
            queue.enqueue(interfaces[i]);
        }
    }
    return vec.toArray();
}