fix crash during classloading on jdk 8 jvm

This commit is contained in:
Eugene Zhuravlev
2012-09-04 16:06:44 +02:00
parent 5e815f5e4d
commit 0fe6b8ba78
@@ -41,17 +41,7 @@ public class JpsElementCollectionImpl<E extends JpsElement> extends JpsElementBa
}
public <X extends E, P extends JpsElement> Iterable<X> getElementsOfType(@NotNull final JpsElementType<P> type) {
return new Iterable<X>() {
@Override
public Iterator<X> iterator() {
return new FilteringIterator<E, X>(myElements.iterator(), new Condition<E>() {
@Override
public boolean value(E e) {
return e instanceof JpsTypedElement && ((JpsTypedElement<?>)e).getType().equals(type);
}
});
}
};
return new JpsElementIterable<X>(type);
}
@NotNull
@@ -120,4 +110,22 @@ public class JpsElementCollectionImpl<E extends JpsElement> extends JpsElementBa
addChild(e);
}
}
private class JpsElementIterable<X extends E> implements Iterable<X> {
private final JpsElementType<? extends JpsElement> myType;
public JpsElementIterable(JpsElementType<? extends JpsElement> type) {
myType = type;
}
@Override
public Iterator<X> iterator() {
return new FilteringIterator<E, X>(myElements.iterator(), new Condition<E>() {
@Override
public boolean value(E e) {
return e instanceof JpsTypedElement && ((JpsTypedElement<?>)e).getType().equals(myType);
}
});
}
}
}