This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Incompatible API changes in debuggercore | ||
---|---|---|---|
Product: | debugger | Reporter: | Martin Entlicher <mentlicher> |
Component: | Code | Assignee: | Martin Entlicher <mentlicher> |
Status: | NEW --- | ||
Severity: | blocker | Keywords: | API |
Priority: | P2 | ||
Version: | 6.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | TASK | Exception Reporter: |
Description
Martin Entlicher
2007-11-06 10:39:54 UTC
One problem is in DebuggerManager. code like dl.breakpointAdded (breakpoint); dl.propertyChange (ev); and ((DebuggerManagerListener) l.elementAt (i)).watchRemoved (watch); // TODO: fix nonsense double firing ((DebuggerManagerListener) l.elementAt (i)).propertyChange (ev); does not look right, but can not be changed in a compatible way. Watch initialization is implemented via DebuggerManagerListener and (unlike breakpoint initialization) the listener implementation is supposed to add the created watches explicitely into DebuggerManager. This makes it impossible to distinguish between creation and addition. createWatch() is public, but removeWatch() is package-private and called from Watch.remove() - inconsistent. Watch is a final class - encapsulation of String, but Breakpoint is an abstract class. Perhaps this is O.K., but the reasons are not clear. |