Пример #1
0
        public void FuncLambda(int arg_i)
        {
            int local_i = 10;                                                                      Label.Breakpoint("bp12");

            {
                int scope_i = 20;                                                                  Label.Breakpoint("bp13");
            }

            String  mainVar = "mainVar";
            Lambda1 lambda1 = (argVar) => {
                string localVar = "localVar";                                                      Label.Breakpoint("bp14");
                Console.WriteLine(arg_i.ToString() + argVar + mainVar + localVar + field_i.ToString());
            };

            lambda1("argVar");

            Lambda2 lambda2 = (i) => {
                test_funct1();                                                                     Label.Breakpoint("bp15");
                test_funct2();
            };

            lambda2(5);

            Lambda3 lambda3 = () => {
                Console.WriteLine("none");                                                         Label.Breakpoint("bp16");
            };

            lambda3();

            Label.Checkpoint("func_lambda", "func_async", (Object context) => {
                Context Context = (Context)context;
                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp12");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "{MITestAsyncLambdaEvaluate.TestWithThis}", "MITestAsyncLambdaEvaluate.TestWithThis", "this");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "33", "int", "field_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "10", "int", "arg_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "0", "int", "local_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "string", "mainVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "MITestAsyncLambdaEvaluate.TestWithThis.Lambda1", "lambda1");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "MITestAsyncLambdaEvaluate.TestWithThis.Lambda2", "lambda2");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "MITestAsyncLambdaEvaluate.TestWithThis.Lambda3", "lambda3");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "scope_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "argVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "i", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "2", "int", "test_funct2()");
                Context.Continue(@"__FILE__:__LINE__");

                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp13");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "{MITestAsyncLambdaEvaluate.TestWithThis}", "MITestAsyncLambdaEvaluate.TestWithThis", "this");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "33", "int", "field_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "10", "int", "arg_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "10", "int", "local_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "0", "int", "scope_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "string", "mainVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "MITestAsyncLambdaEvaluate.TestWithThis.Lambda1", "lambda1");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "MITestAsyncLambdaEvaluate.TestWithThis.Lambda2", "lambda2");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "MITestAsyncLambdaEvaluate.TestWithThis.Lambda3", "lambda3");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "argVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "i", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "2", "int", "test_funct2()");
                Context.Continue(@"__FILE__:__LINE__");

                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp14");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "{MITestAsyncLambdaEvaluate.TestWithThis}", "MITestAsyncLambdaEvaluate.TestWithThis", "this");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "33", "int", "field_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"argVar\\\"", "string", "argVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "string", "localVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "10", "int", "arg_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"mainVar\\\"", "string", "mainVar");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "local_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "scope_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda1", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda3", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "i", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "2", "int", "test_funct2()");
                Context.Continue(@"__FILE__:__LINE__");

                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp15");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "{MITestAsyncLambdaEvaluate.TestWithThis}", "MITestAsyncLambdaEvaluate.TestWithThis", "this");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "33", "int", "field_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "5", "int", "i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "10", "int", "arg_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"mainVar\\\"", "string", "mainVar");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "argVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "local_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "scope_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda1", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda3", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "2", "int", "test_funct2()");
                Context.Continue(@"__FILE__:__LINE__");

                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp16");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "this", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "field_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "arg_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "mainVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "argVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "local_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "scope_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda1", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda3", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "test_funct2()", "Error");
                Context.Continue(@"__FILE__:__LINE__");
            });
        }
Пример #2
0
        static async Task FuncAsyncWithLambda(int arg_i)
        {
            await Task.Delay(500);

            String  mainVar = "mainVar";
            Lambda1 lambda1 = (argVar) => {
                string localVar = "localVar";                                                      Label.Breakpoint("bp7");
                Console.WriteLine(argVar + mainVar + localVar);

                int     mainVar2 = 5;
                Lambda2 lambda2  = (i) => {
                    string localVar2 = "localVar";                                                 Label.Breakpoint("bp8");
                    Console.WriteLine(arg_i.ToString() + argVar + mainVar + localVar + mainVar2.ToString() + i.ToString() + localVar2);
                };
                lambda2(5);

                Lambda3 lambda3 = () => {
                    Console.WriteLine("none");                                                     Label.Breakpoint("bp9");
                };
                lambda3();
            };

            lambda1("argVar");

            int local_i = 10;                                                                      Label.Breakpoint("bp10");

            {
                int scope_i = 20;                                                                  Label.Breakpoint("bp11");
            }

            Label.Checkpoint("static_func_async_with_lambda", "func_lambda", (Object context) => {
                Context Context = (Context)context;
                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp7");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "100", "int", "arg_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"argVar\\\"", "string", "argVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "MITestAsyncLambdaEvaluate.Program.Lambda2", "lambda2");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "MITestAsyncLambdaEvaluate.Program.Lambda3", "lambda3");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"mainVar\\\"", "string", "mainVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "string", "localVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "0", "int", "mainVar2");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "local_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "scope_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda1", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "this", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "test_funct2()", "Error");
                Context.Continue(@"__FILE__:__LINE__");

                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp8");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "100", "int", "arg_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "5", "int", "i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "null", "string", "localVar2");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"argVar\\\"", "string", "argVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"localVar\\\"", "string", "localVar");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "5", "int", "mainVar2");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"mainVar\\\"", "string", "mainVar");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "local_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "scope_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda1", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda3", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "this", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "test_funct2()", "Error");
                Context.Continue(@"__FILE__:__LINE__");

                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp9");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "arg_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "argVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "mainVar2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "mainVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "local_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "scope_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda1", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda3", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "this", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "test_funct2()", "Error");
                Context.Continue(@"__FILE__:__LINE__");

                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp10");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "100", "int", "arg_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "{MITestAsyncLambdaEvaluate.Program.Lambda1}", "MITestAsyncLambdaEvaluate.Program.Lambda1", "lambda1");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "0", "int", "local_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"mainVar\\\"", "string", "mainVar");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "argVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "mainVar2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "scope_i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda3", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "this", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "test_funct2()", "Error");
                Context.Continue(@"__FILE__:__LINE__");

                Context.WasBreakpointHit(@"__FILE__:__LINE__", "bp11");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "100", "int", "arg_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "{MITestAsyncLambdaEvaluate.Program.Lambda1}", "MITestAsyncLambdaEvaluate.Program.Lambda1", "lambda1");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "10", "int", "local_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "0", "int", "scope_i");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "\\\"mainVar\\\"", "string", "mainVar");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "i", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "argVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "localVar", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "mainVar2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda2", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "lambda3", "error");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "this", "error");
                Context.GetAndCheckValue(@"__FILE__:__LINE__", "1", "int", "test_funct1()");
                Context.CheckErrorAtRequest(@"__FILE__:__LINE__", "test_funct2()", "Error");
                Context.Continue(@"__FILE__:__LINE__");
            });
        }
Пример #3
0
    static void Main2()
    {
        Lambda2 square = a => a * a;

        Console.WriteLine(square(3));
    }