From 0fe6b8ba7804785e5dd346cd89e0472987ffbfa7 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Tue, 4 Sep 2012 15:25:30 +0200 Subject: [PATCH] fix crash during classloading on jdk 8 jvm --- .../model/impl/JpsElementCollectionImpl.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/jps/model-impl/src/org/jetbrains/jps/model/impl/JpsElementCollectionImpl.java b/jps/model-impl/src/org/jetbrains/jps/model/impl/JpsElementCollectionImpl.java index b92f3108a0ba..3d33d4f152e1 100644 --- a/jps/model-impl/src/org/jetbrains/jps/model/impl/JpsElementCollectionImpl.java +++ b/jps/model-impl/src/org/jetbrains/jps/model/impl/JpsElementCollectionImpl.java @@ -41,17 +41,7 @@ public class JpsElementCollectionImpl extends JpsElementBa } public Iterable getElementsOfType(@NotNull final JpsElementType

type) { - return new Iterable() { - @Override - public Iterator iterator() { - return new FilteringIterator(myElements.iterator(), new Condition() { - @Override - public boolean value(E e) { - return e instanceof JpsTypedElement && ((JpsTypedElement)e).getType().equals(type); - } - }); - } - }; + return new JpsElementIterable(type); } @NotNull @@ -120,4 +110,22 @@ public class JpsElementCollectionImpl extends JpsElementBa addChild(e); } } + + private class JpsElementIterable implements Iterable { + private final JpsElementType myType; + + public JpsElementIterable(JpsElementType type) { + myType = type; + } + + @Override + public Iterator iterator() { + return new FilteringIterator(myElements.iterator(), new Condition() { + @Override + public boolean value(E e) { + return e instanceof JpsTypedElement && ((JpsTypedElement)e).getType().equals(myType); + } + }); + } + } }