Exemplo n.º 1
0
        protected void Test(Jitter jitter, string testCode, MethodDescription description, string expectedAsm)
        {
            var compiler = new RoslynCompiler();

            using (var result = compiler.Compile(testCode))
            {
                foreach (var jitResult in jitter.Jit(result, description))
                {
                    Console.WriteLine(jitResult.Asm);
                    Assert.AreEqual(expectedAsm, jitResult.Asm);
                }
            }
        }
Exemplo n.º 2
0
 public static string GetMonoJitDescription(this MethodDescription description)
 {
     return($"{description.FullTypeName}:{description.MethodName}{description.ArgumentTypes.GetSuffixJitMetadataName()}");
 }
Exemplo n.º 3
0
 public static string GetMonoAotDescription(this MethodDescription description)
 {
     return($"{description.FullTypeName.Replace('.', '_')}_{description.MethodName}{description.ArgumentTypes.GetSuffixAotMetadataName()}");
 }
Exemplo n.º 4
0
 protected override string GenerateMethodName(MethodDescription description) => description.GetMonoJitDescription();
Exemplo n.º 5
0
 protected abstract string GenerateMethodName(MethodDescription description);