package jetbrains.mps.debugger.java.api.state.watchables;
/*Generated by MPS */
import jetbrains.mps.debug.api.programState.IWatchable;
import com.sun.jdi.Field;
import jetbrains.mps.debugger.java.api.state.proxy.JavaValue;
import com.sun.jdi.ThreadReference;
import jetbrains.mps.debugger.java.api.state.customViewers.CustomViewersManager;
import jetbrains.mps.debug.api.programState.WatchablesCategory;
import jetbrains.mps.debug.api.programState.IValue;
import javax.swing.Icon;
public class JavaStaticField extends JavaWatchable implements IWatchable {
private final Field myField;
private final JavaValue myCachedValue;
public JavaStaticField(Field field, ThreadReference threadReference) {
super(threadReference);
myField = field;
myCachedValue = CustomViewersManager.getInstance().fromJdi(myField.declaringType().getValue(myField), myThreadReference);
}
@Override
public String getName() {
return myField.name();
}
@Override
public WatchablesCategory getCategory() {
return WatchablesCategory.NONE;
}
@Override
public IValue getValue() {
return myCachedValue;
}
@Override
public Icon getPresentationIcon() {
return myCachedValue.getPresentationIcon();
}
}