package jetbrains.mps.debugger.java.runtime.state.customViewers;
/*Generated by MPS */
import jetbrains.mps.debugger.java.api.state.proxy.ValueWrapperFactory;
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.debugger.java.api.evaluation.proxies.IValueProxy;
import jetbrains.mps.debugger.java.api.evaluation.proxies.PrimitiveValueProxy;
import jetbrains.mps.debugger.java.api.evaluation.EvaluationUtils;
import jetbrains.mps.debugger.java.api.state.proxy.ValueWrapper;
import com.sun.jdi.ThreadReference;
import java.util.List;
import jetbrains.mps.debug.api.programState.IWatchable;
import java.util.ArrayList;
public class PrimitiveWrapperFactory extends ValueWrapperFactory {
@Override
public boolean canWrapValue(@NotNull IValueProxy value) {
return value instanceof PrimitiveValueProxy;
}
@Override
public String getWrappedType() {
return EvaluationUtils.JAVA_LANG_OBJECT;
}
@Override
public String getName() {
return "Primitive";
}
public ValueWrapper createValueWrapper(IValueProxy value, ThreadReference threadReference) {
return new PrimitiveWrapperFactory.JavaPrimitiveValue((PrimitiveValueProxy) value, threadReference);
}
private static class JavaPrimitiveValue extends ValueWrapper<PrimitiveValueProxy> {
public JavaPrimitiveValue(PrimitiveValueProxy value, ThreadReference threadReference) {
super(value, threadReference);
}
@Override
public boolean isStructure() {
return false;
}
@Override
public List<IWatchable> getSubvaluesImpl() {
return new ArrayList<IWatchable>();
}
}
}