示例#1
0
        public LinqExtensionMethodCallExpressionProcessor(IExpressionProcessorPipeline expressionProcessorPipeline)
        {
            if (expressionProcessorPipeline == null)
            {
                throw new ArgumentNullException(nameof(expressionProcessorPipeline));
            }

            expressionProcessors = new List <IExpressionProcessor <MethodCallExpression> >
            {
                new LinqAnyExtensionMethodCallExpressionProcessor(expressionProcessorPipeline)
            };
        }
示例#2
0
        public MethodCallExpressionProcessor(IExpressionProcessorPipeline expressionProcessorPipeline)
        {
            if (expressionProcessorPipeline == null)
            {
                throw new ArgumentNullException(nameof(expressionProcessorPipeline));
            }

            // TODO: Consider LINQ extension methods as well!
            expressionProcessors = new List <IExpressionProcessor <MethodCallExpression> >
            {
                new ObjectMethodCallExpressionProcessor(expressionProcessorPipeline),
                new IntegralTypesMethodCallExpressionProcessor(expressionProcessorPipeline),
                new StringMethodCallExpressionProcessor(expressionProcessorPipeline),
                new LinqExtensionMethodCallExpressionProcessor(expressionProcessorPipeline),
            };
        }
        // TODO: Handle properties which require special treatment, such as:
        // - DateTime(Offset).(Year|Month|Day|Hour|Minute|Second|Millisecond|etc.)
        public MemberExpressionProcessor(IExpressionProcessorPipeline expressionProcessorPipeline)
        {
            if (expressionProcessorPipeline == null)
            {
                throw new ArgumentNullException(nameof(expressionProcessorPipeline));
            }

            // TODO: Consider LINQ extension methods as well!
            expressionProcessors = new List <IExpressionProcessor <MemberExpression> >
            {
                new StringMemberExpressionProcessor(expressionProcessorPipeline),
                new NullableMemberExpressionProcessor(expressionProcessorPipeline),

                // This must come before CollectionCountMemberExpressionProcessor
                new DictionaryMemberExpressionProcessor(expressionProcessorPipeline),

                new CollectionCountMemberExpressionProcessor(expressionProcessorPipeline),

                // This must be the last one, otherwise this will wrongly return the specially treated ones as well!
                new HandleAllMemberExpressionProcessor(expressionProcessorPipeline)
            };
        }
 public IntegralTypesMethodCallExpressionProcessor(IExpressionProcessorPipeline expressionProcessorPipeline)
 {
     _expressionProcessorPipeline = expressionProcessorPipeline ?? throw new ArgumentNullException(nameof(expressionProcessorPipeline));
 }
 public HandleAllMemberExpressionProcessor(IExpressionProcessorPipeline expressionProcessorPipeline)
 {
     _expressionProcessorPipeline = expressionProcessorPipeline ?? throw new ArgumentNullException(nameof(expressionProcessorPipeline));
 }
 public LinqAnyExtensionMethodCallExpressionProcessor(IExpressionProcessorPipeline expressionProcessorPipeline)
 {
     _expressionProcessorPipeline = expressionProcessorPipeline ?? throw new ArgumentNullException(nameof(expressionProcessorPipeline));
 }
 public ConditionalExpressionProcessor(IExpressionProcessorPipeline expressionProcessorPipeline)
 {
     _expressionProcessorPipeline = expressionProcessorPipeline ?? throw new ArgumentNullException(nameof(expressionProcessorPipeline));
 }
示例#8
0
 public PatchScriptConditionBuilder(IExpressionProcessorPipeline expressionProcessorPipeline)
 {
     _expressionProcessorPipeline = expressionProcessorPipeline ?? throw new ArgumentNullException(nameof(expressionProcessorPipeline));
 }
示例#9
0
 public PatchScriptBuilder(IExpressionProcessorPipeline expressionProcessorPipeline, IPatchScriptConditionBuilder patchScriptConditionBuilder, IPatchScriptBodyBuilder patchScriptBodyBuilder)
 {
     _expressionProcessorPipeline = expressionProcessorPipeline ?? throw new ArgumentNullException(nameof(expressionProcessorPipeline));
     _patchScriptConditionBuilder = patchScriptConditionBuilder ?? throw new ArgumentNullException(nameof(patchScriptConditionBuilder));
     _patchScriptBodyBuilder      = patchScriptBodyBuilder ?? throw new ArgumentNullException(nameof(patchScriptBodyBuilder));
 }
示例#10
0
 public CollectionCountMemberExpressionProcessor(IExpressionProcessorPipeline expressionProcessorPipeline)
 {
     _expressionProcessorPipeline = expressionProcessorPipeline ?? throw new ArgumentNullException(nameof(expressionProcessorPipeline));
 }
示例#11
0
 public void Setup()
 {
     expressionProcessorPipeline = ExpressionProcessorPipelineFactory.CreateExpressionProcessorPipeline();
 }