示例#1
0
        public static IDbProvider GetDbProvider(ExecuteEngine engine, MethodInfo method)
        {
            var attribute = method.GetCustomAttribute <ProviderAttribute>();
            var selector  = (IDbProviderSelector)engine.ServiceProvider.GetService(typeof(IDbProviderSelector));

            return(selector.GetProvider(attribute.Parameter));
        }
示例#2
0
        public void ConstructorTest4()
        {
            const string sourceName = "test";

            RoutineBuilder rb = new RoutineBuilder("main", sourceName);
            {
                var r0 = rb.Load(Parameter.GetBoolean(true), RoutineBuilder.NewAssign);
                var r1 = rb.Load(Parameter.GetBoolean(true), RoutineBuilder.NewAssign);

                rb.Store(r0, Parameter.GetReference("x"));
                rb.Store(r1, Parameter.GetReference("y"));

                var r2 = rb.Load(Parameter.GetReference("x"), RoutineBuilder.NewAssign);
                var r3 = rb.Load(Parameter.GetReference("y"), RoutineBuilder.NewAssign);

                var r4 = rb.Not(Parameter.GetRegister(r2), RoutineBuilder.NewAssign);
                var r5 = rb.Not(Parameter.GetRegister(r3), RoutineBuilder.NewAssign);

                var r6 = rb.BitwiseAnd(Parameter.GetRegister(r2), Parameter.GetRegister(r5), RoutineBuilder.NewAssign);
                var r7 = rb.BitwiseAnd(Parameter.GetRegister(r3), Parameter.GetRegister(r4), RoutineBuilder.NewAssign);

                var r8 = rb.BitwiseOr(Parameter.GetRegister(r6), Parameter.GetRegister(r7), RoutineBuilder.NewAssign);

                rb.Return(Parameter.GetRegister(r8));
            }
            Routine routine = rb.Build();
            var     k       = routine.Dump();

            RoutineVerifier rv = new RoutineVerifier(routine);

            Assert.IsTrue(rv.Verify());

            ExecuteEngine ee         = new ExecuteEngine(routine);
            var           luryObject = ee.Execute();
        }
示例#3
0
        public static IDbProvider GetDbProvider(ExecuteEngine engine, Type interfaceType)
        {
            var attribute = interfaceType.GetCustomAttribute <ProviderAttribute>();
            var selector  = (IDbProviderSelector)engine.ServiceProvider.GetService(typeof(IDbProviderSelector));

            return(selector.GetProvider(attribute.Parameter));
        }
示例#4
0
        public void ConstructorTest3()
        {
            const string sourceName = "test";

            RoutineBuilder rb = new RoutineBuilder("main", sourceName);
            {
                var inputX = Parameter.GetBoolean(true);
                var inputY = Parameter.GetBoolean(false);

                var r0 = rb.Not(inputX, RoutineBuilder.NewAssign);
                var r1 = rb.Not(inputY, RoutineBuilder.NewAssign);

                var r2 = rb.BitwiseAnd(inputX, Parameter.GetRegister(r1), RoutineBuilder.NewAssign);
                var r3 = rb.BitwiseAnd(Parameter.GetRegister(r0), inputY, RoutineBuilder.NewAssign);

                var r4 = rb.BitwiseOr(Parameter.GetRegister(r2), Parameter.GetRegister(r3), RoutineBuilder.NewAssign);

                rb.Return(Parameter.GetRegister(r4));
            }
            Routine routine = rb.Build();
            var     k       = routine.Dump();

            RoutineVerifier rv = new RoutineVerifier(routine);

            Assert.IsTrue(rv.Verify());

            ExecuteEngine ee         = new ExecuteEngine(routine);
            var           luryObject = ee.Execute();
        }
示例#5
0
 public void Setup()
 {
     engine = new ExecuteEngineConfig()
              .ToEngine();
     simpleCache  = new MethodResultMapperCache <SimpleDataEntity>(engine);
     simpleReader = new MockDataReader(SimpleDataEntity.Columns, new List <object[]>());
 }
示例#6
0
 public SmartMetrics(SmartResolver resolver, ExecuteEngine executeEngine)
 {
     this.resolver    = resolver;
     engineController = executeEngine;
 }
示例#7
0
        public static Func <object, object> CreateHandler(ExecuteEngine engine, Type type, MethodInfo method, int parameterIndex, Type declaringType, string propertyName)
        {
            var provider = GetCustomAttributeProvider(method, parameterIndex, declaringType, propertyName);

            return(engine.CreateHandler(type, provider));
        }
示例#8
0
        public static ExecuteEngine.OutParameterSetup CreateOutParameterSetup(ExecuteEngine engine, Type type, MethodInfo method, int parameterIndex, Type declaringType, string propertyName)
        {
            var provider = GetCustomAttributeProvider(method, parameterIndex, declaringType, propertyName);

            return(engine.CreateOutParameterSetup(type, provider));
        }
 public MethodResultMapperCache(ExecuteEngine engine)
 {
     this.engine = engine;
 }
示例#10
0
 public DataAccessorFactory(ExecuteEngine engine)
 {
     this.engine = engine;
 }
示例#11
0
 public TestFactory(ISqlLoader loader, IGeneratorOption option, ExecuteEngine engine)
 {
     this.loader = loader;
     this.option = option;
     Engine      = engine;
 }