diff --git a/src/org/jetbrains/java/decompiler/modules/decompiler/decompose/DominatorTreeExceptionFilter.java b/src/org/jetbrains/java/decompiler/modules/decompiler/decompose/DominatorTreeExceptionFilter.java index d8b587f..ec1181d 100644 --- a/src/org/jetbrains/java/decompiler/modules/decompiler/decompose/DominatorTreeExceptionFilter.java +++ b/src/org/jetbrains/java/decompiler/modules/decompiler/decompose/DominatorTreeExceptionFilter.java @@ -1,4 +1,4 @@ -// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package org.jetbrains.java.decompiler.modules.decompiler.decompose; import org.jetbrains.java.decompiler.modules.decompiler.StatEdge; @@ -127,16 +127,15 @@ public class DominatorTreeExceptionFilter { Set range = entry.getValue(); if (range.contains(id)) { - Integer exit; - if (!range.contains(childid)) { exit = childid; } + else if (map.containsKey(handler)) { + exit = -1; + } else { - // after replacing 'new Integer(-1)' with '-1' Eclipse throws a NullPointerException on the following line - // could be a bug in Eclipse or some obscure specification glitch, FIXME: needs further investigation - exit = map.containsKey(handler) ? new Integer(-1) : mapChild.get(handler); + exit = mapChild.get(handler); } if (exit != null) {