Community
Participate
Working Groups
* Show logical structure is on. * Expand map until you see key and value. * Select from variable "map" to "value" field. You need to multi-select to reproduce this. * You will see the "Create Watch Expression" action twice if you bring up the context menu. Testcase: TreeMap map = new TreeMap(); map.put("abc", "abc"); map.put("cbc", "abc"); map.put("dbc", "abc");
This behavior can be reproduced by selecting any JDIPlaceholderVariable along with any regular IVariable.
The WatchAction is contributed as an object contribution on IVariable. JDIPlaceholderVariable is an instance of IVariable, but it should not cause a second menu item to be created. This is how WatchAction is contributed. <objectContribution objectClass="org.eclipse.debug.core.model.IVariable" id="org.eclipse.debug.ui.WatchActions"> <action label="%Watch.label" icon="$nl$/icons/full/etool16/watch_exp.gif" helpContextId="variable_watch_action_context" class="org.eclipse.debug.internal.ui.actions.expressions.WatchAction" menubarPath="openOnGroup" enablesFor="+" id="org.eclipse.jdt.debug.ui.actions.WatchAction"> </action> </objectContribution> moving to workbench for comment
Kevin, can you give me an example of what a JDIPlaceholderVariable might be?
Sorry, a place holder variables are variables for which we only have a value (not a name). A logical structure is an example, the value that we display is the result of an evaluation, there's not usually a java variable directly associated with the value.
Promoting to RC3...
This looks totally bogus, and we should fix it. carefully.
Fixed in >20060503.
Verified in RC3.
*** Bug 53171 has been marked as a duplicate of this bug. ***