Example #1
0
 public static FilterOperatorBase Or(this FilterOperatorBase left, FilterOperatorBase right)
 {
     return new FilterOperatorOr
     {
         LeftValue = left,
         RightValue = right
     };
 }
Example #2
0
 public static FilterOperatorBase And(this FilterOperatorBase left, FilterOperatorBase right)
 {
     if (left is FilterOperatorOr)
     {
         left = new FilterBracket { Value = left };
     }
     if (right is FilterOperatorOr)
     {
         right = new FilterBracket { Value = right };
     }
     return new FilterOperatorAnd
     {
         LeftValue = left,
         RightValue = right
     };
 }
Example #3
0
 public FilterBracket(FilterOperatorBase inner)
 {
     this._inner = inner;
 }
Example #4
0
 private static FilterOperatorBase GenerateSink(
     TokenReader reader,
     FilterOperatorBase leftValue,
     TokenType type,
     FilterTwoValueOperator oper,
     Func<TokenReader, FilterOperatorBase> selfCall)
 {
     reader.AssertGet(type);
     var rightValue = selfCall(reader);
     oper.LeftValue = leftValue;
     oper.RightValue = rightValue;
     return oper;
 }