do not set unneeded breakpoints on bridge methods in anonymous classes
authorEgor.Ushakov <egor.ushakov@jetbrains.com>
Thu, 3 Sep 2015 12:28:11 +0000 (15:28 +0300)
committerEgor.Ushakov <egor.ushakov@jetbrains.com>
Thu, 3 Sep 2015 12:33:00 +0000 (15:33 +0300)
java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/LineBreakpoint.java

index 0f33f7dfff150f42abaa71e8fd1528229c24f110..2b6784ed0c6e8b0cf2a0b3983ab72f69ae317465 100644 (file)
@@ -203,8 +203,9 @@ public class LineBreakpoint<P extends JavaBreakpointProperties> extends Breakpoi
     Method method = loc.method();
     // Some frameworks may create synthetic methods with lines mapped to user code, see IDEA-143852
     // if (DebuggerUtils.isSynthetic(method)) { return false; }
-    boolean res = !(method.isConstructor() && loc.codeIndex() == 0 && isAnonymousClass(classType));
-    if (!res) return false;
+    if (isAnonymousClass(classType)) {
+      if ((method.isConstructor() && loc.codeIndex() == 0) || method.isBridge()) return false;
+    }
     return ApplicationManager.getApplication().runReadAction(new Computable<Boolean>() {
       @Override
       public Boolean compute() {