boolean (final DebugProcessImpl debugProcess, ReferenceType classType, final Location loc) { // Some frameworks may create synthetic methods with lines mapped to user code, see IDEA-143852 // if (DebuggerUtils.isSynthetic(method)) { return false; } if (isAnonymousClass(classType)) { Method method = loc.method(); if ((method.isConstructor() && loc.codeIndex() == 0) || method.isBridge()) return false; } SourcePosition position = debugProcess.getPositionManager().getSourcePosition(loc); if (position == null) return false; return ReadAction.compute(() -> { JavaLineBreakpointType type = getXBreakpointType(); if (type == null) return true; return type.matchesPosition(this, position); }); }