private void AddItemReferences(string expression, OperationBuilder operationBuilder, IElementLocation elementLocation) { if (expression.Length == 0) { return; } else { ExpressionShredder.ItemExpressionCapture match = Expander <P, I> .ExpandSingleItemVectorExpressionIntoExpressionCapture( expression, ExpanderOptions.ExpandItems, elementLocation); if (match == null) { return; } AddReferencedItemLists(operationBuilder, match); } }
private ItemExpressionFragment <P, I> ProcessItemExpression(string expression, IElementLocation elementLocation, out bool isItemListExpression) { isItemListExpression = false; // Code corresponds to Expander.ExpandSingleItemVectorExpressionIntoItems if (expression.Length == 0) { return(null); } var capture = Expander <P, I> .ExpandSingleItemVectorExpressionIntoExpressionCapture(expression, ExpanderOptions.ExpandItems, elementLocation); if (capture == null) { return(null); } isItemListExpression = true; return(new ItemExpressionFragment <P, I>(capture, expression, this)); }