public JsNode VisitArrayAccessResolveResult(ArrayAccessResolveResult res) { var node2 = new JsIndexerAccessExpression { Member = VisitExpression(res.Array), Arguments = VisitExpressions(res.Indexes) }; return(node2); }
public override JsExpression VisitArrayAccessResolveResult(ArrayAccessResolveResult rr, object data) { var array = VisitResolveResult(rr.Array, null); if (rr.Indexes.Count == 1) return CompileFactoryCall("ArrayIndex", new[] { typeof(Type), typeof(Expression), typeof(Expression) }, new[] { _instantiateType(rr.Type), array, VisitResolveResult(rr.Indexes[0], null) }); else return CompileFactoryCall("ArrayIndex", new[] { typeof(Type), typeof(Expression), typeof(Expression[]) }, new[] { _instantiateType(rr.Type), array, JsExpression.ArrayLiteral(rr.Indexes.Select(i => VisitResolveResult(i, null))) }); }
public override string VisitArrayAccessResolveResult(ArrayAccessResolveResult rr, object data) { var array = VisitResolveResult(rr.Array, null); if (rr.Indexes.Count == 1) { return(CompileFactoryCall("ArrayIndex", new[] { typeof(Type), typeof(Expression), typeof(Expression) }, new[] { ExpressionTreeBuilder.GetTypeName(rr.Type, this._emitter), array, VisitResolveResult(rr.Indexes[0], null) })); } else { return(CompileFactoryCall("ArrayIndex", new[] { typeof(Type), typeof(Expression), typeof(Expression[]) }, new[] { ExpressionTreeBuilder.GetTypeName(rr.Type, this._emitter), array, this._emitter.ToJavaScript(rr.Indexes.Select(i => new JRaw(this.VisitResolveResult(i, null))).ToArray()) })); } }
public virtual TResult VisitArrayAccessResolveResult(ArrayAccessResolveResult rr, TData data) { VisitChildResolveResults(rr, data); return(default(TResult)); }
string Visit(ArrayAccessResolveResult result) { throw new NotImplementedException(); }
Value Visit(ArrayAccessResolveResult result) { var val = Convert(result.Array).GetPermanentReference(evalThread); return(val.GetArrayElement(result.Indexes.Select(rr => (uint)(int)Convert(rr).PrimitiveValue).ToArray())); }
Value Visit(ArrayAccessResolveResult result) { var val = Convert(result.Array).GetPermanentReference(evalThread); return val.GetArrayElement(result.Indexes.Select(rr => (uint)(int)Convert(rr).PrimitiveValue).ToArray()); }
public virtual object VisitArrayAccessResolveResult(ArrayAccessResolveResult rr, object data) { VisitChildResolveResults(rr, data); return(null); }
public object VisitArrayAccessResolveResult(ArrayAccessResolveResult res) { throw new NotImplementedException(); }