Example #1
0
 public void TestBenchmark()
 {
     var GeneratorCSharp = new GeneratorCSharp();
     var AstNode = ast.Ternary(ast.Unary("-", ast.Binary(ast.Binary(10, "+", 11), "*", 2)), 1, 2);
     for (int n = 0; n < 20000; n++)
     {
         GeneratorCSharp.Reset().GenerateRoot(AstNode);
     }
     Assert.AreEqual(GeneratorCSharp.ToString(), "((-((10 + 11) * 2)) ? 1 : 2)");
 }
Example #2
0
        public void TestBenchmark()
        {
            var generatorCSharp = new GeneratorCSharp();
            var astNode         = ast.Ternary(ast.Unary("-", ast.Binary(ast.Binary(10, "+", 11), "*", 2)), 1, 2);

            for (var n = 0; n < 20000; n++)
            {
                generatorCSharp.Reset().GenerateRoot(astNode);
            }
            Assert.Equal(generatorCSharp.ToString(), "((-((10 + 11) * 2)) ? 1 : 2)");
        }
Example #3
0
        public void TestMethod2()
        {
            var pool    = new IlInstanceHolderPool(typeof(int), 16);
            var item    = pool.Alloc();
            var astNode = ast.Statements(
                ast.Assign(ast.StaticFieldAccess(item.FieldInfo), ast.Argument <int>(0, "Value")),
                ast.Return()
                );

            _testOutputHelper.WriteLine(GeneratorCSharp.GenerateString <GeneratorCSharp>(astNode));
            var generatorIl = new GeneratorIl();
            var itemSet     = generatorIl.GenerateDelegate <Action <int> >("ItemSet", astNode);

            itemSet(10);
            Assert.Equal(10, item.Value);
        }
Example #4
0
        public void TestMethod2()
        {
            var Pool    = new ILInstanceHolderPool(typeof(int), 16);
            var Item    = Pool.Alloc();
            var AstNode = ast.Statements(
                ast.Assign(ast.StaticFieldAccess(Item.FieldInfo), ast.Argument <int>(0, "Value")),
                ast.Return()
                );

            Console.WriteLine(GeneratorCSharp.GenerateString <GeneratorCSharp>(AstNode));
            var GeneratorIL = new GeneratorIL();
            var ItemSet     = GeneratorIL.GenerateDelegate <Action <int> >("ItemSet", AstNode);

            ItemSet(10);
            Assert.AreEqual(10, Item.Value);
        }
Example #5
0
 public void SetUp()
 {
     GeneratorCSharp = new GeneratorCSharp();
 }
Example #6
0
 public GeneratorCSharpTest()
 {
     GeneratorCSharp = new GeneratorCSharp();
 }
 public void SetUp()
 {
     GeneratorCSharp = new GeneratorCSharp();
 }