private static int CompareElementAccessExpression(IElementAccessExpression left, IElementAccessExpression right) { // Standard left,right and null checks if (left == null && right == null) { return(0); } if (left == null) { return(1); } if (right == null) { return(-1); } var result = CompareExpression(left.Expression, right.Expression); if (result != 0) { return(result); } return(CompareExpression(left.ArgumentExpression, right.ArgumentExpression)); }
public override IAssignableExpression VisitElementAccessExpression(IElementAccessExpression expr, IList <IStatement> body) { return(new IndexAccessExpression { Reference = ToVariableRef(expr.Operand, body), Indices = GetArgumentList(expr.ArgumentList, body) }); }
public ElementAccessCompiler(IElementAccessExpression elementAccessExpression, AbstractILCompilerParams @params) : base(@params) { myElementAccessExpression = elementAccessExpression; }