diff --git a/src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java b/src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java index 1232e64..fd104e2 100644 --- a/src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java +++ b/src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java @@ -591,7 +591,7 @@ public class StackVarsProcessor { for (Entry> ent : mapVars.entrySet()) { FastSparseSet liveverset = mapLiveVars.get(ent.getKey()); - if (liveverset == null) { + if (liveverset == null || liveverset.isEmpty()) { return false; } @@ -600,13 +600,13 @@ public class StackVarsProcessor { domset.add(ssuversions.nodes.getWithKey(verpaar)); } - boolean isdom = false; + boolean isdom = true; for (Integer livever : liveverset) { VarVersionNode node = ssuversions.nodes.getWithKey(new VarVersionPair(ent.getKey().intValue(), livever.intValue())); - if (ssuversions.isDominatorSet(node, domset)) { - isdom = true; + if (!ssuversions.isDominatorSet(node, domset)) { + isdom = false; break; } }