package jetbrains.mps.debugger.java.runtime.evaluation.proxies;
/*Generated by MPS */
import jetbrains.mps.debugger.java.api.evaluation.proxies.INullValueProxy;
import jetbrains.mps.debugger.java.api.evaluation.proxies.IValueProxy;
import com.sun.jdi.ThreadReference;
import com.sun.jdi.Value;
import org.jetbrains.annotations.NotNull;
import jetbrains.mps.debugger.java.api.evaluation.EvaluationException;
/*package*/ class NullValueProxy implements INullValueProxy {
/*package*/ NullValueProxy() {
}
@Override
public IValueProxy getFieldValue(String fieldName) {
throw new NullPointerException("NPE; Getting field " + fieldName + " from null.");
}
@Override
public IValueProxy invokeMethod(String name, String jniSignature, ThreadReference threadReference, Object... args) {
throw new NullPointerException("NPE; Invoking method " + name + " with signature " + jniSignature + " for null.");
}
@Override
public IValueProxy invokeSuperMethod(String name, String jniSignature, ThreadReference threadReference, Object... args) {
throw new NullPointerException("NPE; Invoking super method " + name + " with signature " + jniSignature + " for null.");
}
@Override
public boolean isInstanceOf(String typename) {
return false;
}
@Override
public Value getJDIValue() {
return null;
}
@Override
public Object getJavaValue() {
return null;
}
@NotNull
@Override
public IValueProxy getElementAt(int index) {
throw new NullPointerException("NPE; Getting element of null array.");
}
@Override
public void setElement(Value element, int index) throws EvaluationException {
throw new NullPointerException("NPE; Setting element of null array.");
}
@Override
public int getLength() {
throw new NullPointerException("NPE; Getting length of null array.");
}
@Override
public boolean javaEquals(IValueProxy proxy) {
return proxy instanceof INullValueProxy;
}
public String getPresentation() {
return "null";
}
}