Object indexArg = machine.getArg(1, nArgCount);
if (!(indexArg instanceof Number))
{
throw new TypeMismatchException(getSymbol());
}
int nIndex = ((Number)indexArg).intValue();
int nByteCount = getByteCount();
byte[] nArray = getByteVectorArg(0, nArgCount, machine);
verifyIndexRange(nIndex, nByteCount, nArray.length);
if ((nIndex & (nByteCount - 1)) != 0)
{
throw new ScriptingException("err.scripting.invalidNativeAlignment",
new Object[]{getSymbol().getName(), Primitive.createInteger(nByteCount), indexArg});
}
Object value = machine.getArg(2, nArgCount);
if (!(value instanceof Number))
{
throw new TypeMismatchException(getSymbol());
}
setNumber(nArray, nIndex, (Number)value);
machine.returnValue(value, nArgCount);