public virtual bool TryUnresolvableReference(Engine engine, Reference reference, out JsValue value) { var name = reference.GetReferencedName(); if (_args == null || name == null || name.StartsWith('$') == false) { value = name == "length" ? 0 : Null.Instance; return(true); } value = _args.Get(name.Substring(1)); return(true); }
public override bool TryUnresolvableReference(Engine engine, Reference reference, out JsValue value) { if (engine.ExecutionContext.ThisBinding == _selfInstance) { var name = reference.GetReferencedName(); if (name == null || name.StartsWith('$') == false) { return(base.TryUnresolvableReference(engine, reference, out value)); } name = name.Substring(1); value = _args.Get(name); return(true); } return(base.TryUnresolvableReference(engine, reference, out value)); }