private object GetArguments()
{
// <Function name>.arguments is deprecated, so we use a slow
// way of getting it that doesn't add to the invocation cost.
// TODO: add warning, error based on version
object value = DefaultGet("arguments");
if (value != ScriptableConstants.NOT_FOUND)
{
// Should after changing <Function name>.arguments its
// activation still be available during Function call?
// This code assumes it should not:
// defaultGet("arguments") != NOT_FOUND
// means assigned arguments
return value;
}
Context cx = Context.GetContext();
NativeCall activation = ScriptRuntime.FindFunctionActivation(cx, this);
return (activation == null) ? null : activation.Get("arguments", activation);
}