From 0d353a15536ada1d1aed1d72d8e687bf638eaa07 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Fri, 11 Nov 2016 19:26:46 +0300 Subject: [PATCH] check for AbstractMethodError earlier --- .../src/com/intellij/debugger/jdi/MethodBytecodeUtil.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/jdi/MethodBytecodeUtil.java b/java/debugger/impl/src/com/intellij/debugger/jdi/MethodBytecodeUtil.java index d4f54d1a390d..84cdad5c2209 100644 --- a/java/debugger/impl/src/com/intellij/debugger/jdi/MethodBytecodeUtil.java +++ b/java/debugger/impl/src/com/intellij/debugger/jdi/MethodBytecodeUtil.java @@ -263,13 +263,16 @@ public class MethodBytecodeUtil { visit(method, new MethodVisitor(Opcodes.API_VERSION) { @Override public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) { + if ("java/lang/AbstractMethodError".equals(owner)) { + return; + } ReferenceType declaringType = method.declaringType(); - ReferenceType cls = null; + ReferenceType cls; owner = owner.replace("/", "."); if (declaringType.name().equals(owner)) { cls = declaringType; } - else if (!"java.lang.AbstractMethodError".equals(owner)) { + else { cls = ContainerUtil.getFirstItem(vm.classesByName(owner)); } if (cls != null) {