diff -r 915245453b81 debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/LineBreakpointImpl.java --- a/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/LineBreakpointImpl.java Wed Jun 11 12:22:11 2008 +0400 +++ b/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/LineBreakpointImpl.java Fri Jul 04 17:42:37 2008 +0300 @@ -158,7 +158,7 @@ lineNumber ); if (className != null && className.length() > 0) { - reader.storeCachedClassName(breakpoint, className); + reader.storeCachedClassName(breakpoint, className); } } } @@ -330,11 +330,26 @@ int lineNumber, String[] reason) throws AbsentInformationException, ObjectCollectedException, ClassNotPreparedException, InternalException { + List list = referenceType.locationsOfLine ( - stratum, - sourceName, - lineNumber - ); + stratum, + sourceName, + lineNumber + ); + + List types = referenceType.nestedTypes(); + for (Iterator iterator = types.iterator(); iterator.hasNext();) { + ReferenceType nestedRefType = (ReferenceType) iterator.next(); + + try { + List tmpList = nestedRefType.locationsOfLine(stratum, sourceName, lineNumber); + list.addAll(tmpList); + } + catch (AbsentInformationException e) { + // do nothing, we'll try to set the breakpoint for all referencetypes + // if not successful lets just log the exception + } + } if (logger.isLoggable(Level.FINER)) { logger.finer("LineBreakpoint: locations for ReferenceType=" +