public override void VisitNewPropertyListInstruction(NewPropListIns newPropList, Stack <Expression> expressionStack) { if (!(expressionStack.Pop() is ListExpression listExpression)) { throw new Exception(nameof(VisitNewPropertyListInstruction)); } if (listExpression.Items.Count % 2 != 0) { throw new InvalidOperationException("Preceding listExpression must be in property-value pairs"); } var properties = new Dictionary <Expression, Expression>(listExpression.Items.Count / 2); for (int i = 0; i < listExpression.Items.Count; i += 2) { properties.Add(listExpression.Items[i], listExpression.Items[i + 1]); } expressionStack.Push(new PropertyListExpression(properties)); }
public virtual void VisitNewPropertyListInstruction(NewPropListIns newPropList) => Default(newPropList);