public virtual Differences VisitQueryTypeFilter(QueryTypeFilter filter1, QueryTypeFilter filter2){ Differences differences = new Differences(filter1, filter2); if (filter1 == null || filter2 == null){ if (filter1 != filter2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } QueryTypeFilter changes = (QueryTypeFilter)filter2.Clone(); QueryTypeFilter deletions = (QueryTypeFilter)filter2.Clone(); QueryTypeFilter insertions = (QueryTypeFilter)filter2.Clone(); // filter1.Constraint; // filter1.Source; if (differences.NumberOfDifferences == 0){ differences.Changes = null; differences.Deletions = null; differences.Insertions = null; }else{ differences.Changes = changes; differences.Deletions = deletions; differences.Insertions = insertions; } return differences; }
public virtual Node VisitQueryTypeFilter(QueryTypeFilter filter, QueryTypeFilter changes, QueryTypeFilter deletions, QueryTypeFilter insertions){ this.UpdateSourceContext(filter, changes); if (filter == null) return changes; if (changes != null){ if (deletions == null || insertions == null) Debug.Assert(false); else{ } }else if (deletions != null) return null; return filter; }
public override Node VisitQueryTypeFilter(QueryTypeFilter qtf) { if (qtf == null) return null; qtf.Source = this.VisitExpression(qtf.Source); if (qtf.Source == null || qtf.Source.Type == null) return null; Cardinality card = this.typeSystem.GetCardinality(qtf.Source, this.TypeViewer); if (card != Cardinality.OneOrMore && card != Cardinality.ZeroOrMore) { this.HandleError(qtf.Source, Error.QueryNotStream); return null; } qtf.Constraint = this.VisitTypeReference(qtf.Constraint); if (qtf.Constraint == null) { this.HandleError(qtf, Error.QueryBadTypeFilter); return null; } if (qtf.Type == null) return null; return qtf; }
public virtual Node VisitQueryTypeFilter(QueryTypeFilter filter){ if (filter == null) return null; filter.Source = this.VisitExpression(filter.Source); return filter; }
public virtual void VisitQueryTypeFilter(QueryTypeFilter filter){ if (filter == null) return; this.VisitExpression(filter.Source); }
public override Node VisitQueryTypeFilter( QueryTypeFilter qtf ){ if (qtf == null) return null; qtf.Source = this.VisitExpression(qtf.Source); return qtf; }
public override Node VisitQueryTypeFilter(QueryTypeFilter filter){ if (filter == null) return null; return base.VisitQueryTypeFilter((QueryTypeFilter)filter.Clone()); }
public virtual Node VisitQueryTypeFilter(QueryTypeFilter filter1, QueryTypeFilter filter2){ if (filter1 == null) return null; if (filter2 == null) filter1.Source = this.VisitExpression(filter1.Source, null); else filter1.Source = this.VisitExpression(filter1.Source, filter2.Source); return filter1; }
public override Node VisitQueryTypeFilter( QueryTypeFilter qtf ) { base.VisitQueryTypeFilter(qtf); return this.Compose(qtf, this.GetComposer(qtf.Source)); }
public override Node VisitQueryTypeFilter(QueryTypeFilter qtf) { base.VisitQueryTypeFilter(qtf); return(this.Compose(qtf, this.GetComposer(qtf.Source))); }
public EventingVisitor(Action<QueryTypeFilter> visitQueryTypeFilter) { VisitedQueryTypeFilter += visitQueryTypeFilter; } public event Action<QueryTypeFilter> VisitedQueryTypeFilter; public override Node VisitQueryTypeFilter(QueryTypeFilter filter) { if (VisitedQueryTypeFilter != null) VisitedQueryTypeFilter(filter); return base.VisitQueryTypeFilter(filter); }