private static IEnumerable <XmlToCursorData> GetXmlToCursorsThatHaveNestedProperties(VfpExpression expression) { return(XmlToCursorExpressionGatherer.Gather(expression) .Select(x => new XmlToCursorData(x)) .Where(x => x.TableProperty != null) .Where(x => x.TableProperty.Instance is VfpPropertyExpression) .Select(x => x)); }
private IEnumerable <XmlToCursorData> GetXmlToCursors(VfpExpression expression) { return(XmlToCursorExpressionGatherer.Gather(expression) .Where(x => !x.CursorName.StartsWith(XmlToCursorMoveToInnerExpressionRewriter.CursorNamePrefix)) // TODO: figure out how to rewrite these as inner joins .Select(x => new XmlToCursorData(x)) .Where(x => x.TableProperty != null) .Select(x => x).ToList().AsReadOnly()); }
public static IEnumerable <XmlToCursorExpression> Gather(Expression expression) { var gatherer = new XmlToCursorExpressionGatherer(); if (expression == null) { return(gatherer._expressions.ToReadOnly()); } gatherer.Visit(expression); return(gatherer._expressions.ToReadOnly()); }
private static bool HasXmlToCursorExpression(Expression expression) { return(XmlToCursorExpressionGatherer.Gather(expression).Any()); }
public static IEnumerable<XmlToCursorExpression> Gather(Expression expression) { var gatherer = new XmlToCursorExpressionGatherer(); if (expression == null) { return gatherer._expressions.ToReadOnly(); } gatherer.Visit(expression); return gatherer._expressions.ToReadOnly(); }