blob: 175136fd0e53b43eaa078d2fcf4e2aa7c19d9860 [file] [log] [blame]
package org.eclipse.dltk.internal.debug.core.model;
import java.util.Arrays;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IIndexedValue;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.dltk.dbgp.IDbgpProperty;
import org.eclipse.dltk.debug.core.model.IScriptStackFrame;
import org.eclipse.dltk.debug.core.model.IScriptType;
import org.eclipse.dltk.debug.core.model.IScriptValue;
public class ScriptArrayValue extends ScriptValue implements IScriptValue,
IIndexedValue {
ScriptArrayValue(IScriptStackFrame frame, IDbgpProperty property, IScriptType type) {
super(frame, property, type);
}
public int getInitialOffset() {
return 0;
}
public int getSize() throws DebugException {
return variables.length;
}
public IVariable getVariable(int offset) throws DebugException {
return variables[offset];
}
public IVariable[] getVariables(int offset, int length)
throws DebugException {
return (IVariable[]) Arrays.copyOfRange(variables, offset, offset
+ length);
}
public Object getAdapter(Class adapter) {
if (adapter == IIndexedValue.class)
return this;
return super.getAdapter(adapter);
}
}