/// <summary> /// Creates an appropriate setter for GetIndexNode. /// From: expr[a] /// To: expr[a] = ... /// </summary> private SetIndexNode SetterOf(GetIndexNode node) { return(new SetIndexNode { Expression = node.Expression, Index = node.Index }); }
/// <summary> /// accessor_idx = "[" line_expr "]" /// </summary> private GetIndexNode parseAccessorIdx() { if (!check(LexemType.SquareOpen)) return null; var node = new GetIndexNode(); node.Index = ensure(parseLineExpr, ParserMessages.IndexExpressionExpected); ensure(LexemType.SquareClose, ParserMessages.SymbolExpected, ']'); return node; }