changeset 16416:4fe215bc2da5

return null if phase is not found in PhaseSuite.findPhase
author Lukas Stadler <lukas.stadler@oracle.com>
date Mon, 07 Jul 2014 12:16:36 +0200
parents 24af0805e135
children 9fe3cb463079
files graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhaseSuite.java
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhaseSuite.java	Mon Jul 07 12:15:44 2014 +0200
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhaseSuite.java	Mon Jul 07 12:16:36 2014 +0200
@@ -53,17 +53,21 @@
 
     public final ListIterator<BasePhase<? super C>> findPhase(Class<? extends BasePhase<? super C>> phaseClass) {
         ListIterator<BasePhase<? super C>> it = phases.listIterator();
-        findNextPhase(it, phaseClass);
-        return it;
+        if (findNextPhase(it, phaseClass)) {
+            return it;
+        } else {
+            return null;
+        }
     }
 
-    public static <C> void findNextPhase(ListIterator<BasePhase<? super C>> it, Class<? extends BasePhase<? super C>> phaseClass) {
+    public static <C> boolean findNextPhase(ListIterator<BasePhase<? super C>> it, Class<? extends BasePhase<? super C>> phaseClass) {
         while (it.hasNext()) {
             BasePhase<? super C> phase = it.next();
             if (phaseClass.isInstance(phase)) {
-                break;
+                return true;
             }
         }
+        return false;
     }
 
     @Override