package jetbrains.mps.debugger.java.runtime.state.watchables; /*Generated by MPS */ import jetbrains.mps.debugger.java.api.state.watchables.JavaWatchable; import jetbrains.mps.debugger.java.runtime.state.values.FieldWatchpointValue; import com.sun.jdi.Field; import com.sun.jdi.Value; import com.sun.jdi.ThreadReference; import jetbrains.mps.debugger.java.api.state.proxy.JavaValue; import jetbrains.mps.debugger.java.api.state.customViewers.CustomViewersManager; import jetbrains.mps.debug.api.programState.WatchablesCategory; import jetbrains.mps.debugger.java.api.state.watchables.JavaWatchablesCategory; import jetbrains.mps.debug.api.programState.IValue; import javax.swing.Icon; import jetbrains.mps.debugger.java.api.ui.Icons; /*package*/ class JavaWatchpointWatchable extends JavaWatchable { private final FieldWatchpointValue myValue; public JavaWatchpointWatchable(Field field, Value currentValue, Value newValue, ThreadReference threadReference) { super(threadReference); JavaValue current = CustomViewersManager.getInstance().fromJdi(currentValue, threadReference); JavaValue neww = CustomViewersManager.getInstance().fromJdi(newValue, threadReference); myValue = new FieldWatchpointValue(field, false, current, neww, threadReference); } public JavaWatchpointWatchable(Field field, Value currentValue, ThreadReference threadReference) { super(threadReference); JavaValue current = CustomViewersManager.getInstance().fromJdi(currentValue, threadReference); myValue = new FieldWatchpointValue(field, true, current, null, threadReference); } @Override public String getName() { return "field watchpoint"; } @Override public WatchablesCategory getCategory() { return JavaWatchablesCategory.FIELD_WATCHPOINT; } @Override public IValue getValue() { return myValue; } @Override public Icon getPresentationIcon() { return Icons.VALUE_OBJECT; } }