From 12055921ed95f0c7249a1dd401f0a735dc3b34fb Mon Sep 17 00:00:00 2001 From: Brian Bohe Date: Thu, 23 Feb 2023 17:49:01 -0800 Subject: [PATCH] Updating more_tails.cs and respective il --- .../JIT/Directed/tailcall/more_tailcalls.cs | 6 +- .../JIT/Directed/tailcall/more_tailcalls.il | 2205 ++++++++++------- 2 files changed, 1332 insertions(+), 879 deletions(-) diff --git a/src/tests/JIT/Directed/tailcall/more_tailcalls.cs b/src/tests/JIT/Directed/tailcall/more_tailcalls.cs index b5f8e7aeb9391..0f5c6d1feb222 100644 --- a/src/tests/JIT/Directed/tailcall/more_tailcalls.cs +++ b/src/tests/JIT/Directed/tailcall/more_tailcalls.cs @@ -10,6 +10,7 @@ using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; +using Xunit; struct S16 { @@ -48,7 +49,7 @@ class HeapInt public override string ToString() => $"{Value}"; } -internal class Program +public class Program { private static readonly IntPtr s_calcStaticCalli; private static readonly IntPtr s_calcStaticCalliOther; @@ -84,7 +85,8 @@ static Program() s_instanceMethodOnValueType = instanceMethodOnValueType; } - private static int Main() + [Fact] + public static int Main() { const int numCalcIters = 1000000; const int countUpIters = 1000000; diff --git a/src/tests/JIT/Directed/tailcall/more_tailcalls.il b/src/tests/JIT/Directed/tailcall/more_tailcalls.il index 44409813269ec..d5584433c2002 100644 --- a/src/tests/JIT/Directed/tailcall/more_tailcalls.il +++ b/src/tests/JIT/Directed/tailcall/more_tailcalls.il @@ -1,5 +1,5 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. +// Microsoft (R) .NET Framework IL Disassembler. Version 4.8.3928.0 +// Copyright (c) Microsoft Corporation. All rights reserved. // See more_tailcalls.cs for the source of this IL. @@ -10,7 +10,7 @@ .assembly extern System.Console { .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: - .ver 5:0:0:0 + .ver 7:0:0:0 } .assembly more_tailcalls { @@ -22,9 +22,9 @@ // .custom instance void [System.Runtime]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [System.Runtime]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 ) .custom instance void [System.Runtime]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) = ( 01 00 18 2E 4E 45 54 43 6F 72 65 41 70 70 2C 56 // ....NETCoreApp,V - 65 72 73 69 6F 6E 3D 76 35 2E 30 01 00 54 0E 14 // ersion=v5.0..T.. + 65 72 73 69 6F 6E 3D 76 37 2E 30 01 00 54 0E 14 // ersion=v7.0..T.. 46 72 61 6D 65 77 6F 72 6B 44 69 73 70 6C 61 79 // FrameworkDisplay - 4E 61 6D 65 00 ) // Name. + 4E 61 6D 65 08 2E 4E 45 54 20 37 2E 30 ) // Name..NET 7.0 .custom instance void [System.Runtime]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 0E 6D 6F 72 65 5F 74 61 69 6C 63 61 6C 6C // ...more_tailcall 73 00 00 ) // s.. .custom instance void [System.Runtime]System.Reflection.AssemblyConfigurationAttribute::.ctor(string) = ( 01 00 07 52 65 6C 65 61 73 65 00 00 ) // ...Release.. @@ -35,43 +35,162 @@ .custom instance void [System.Runtime]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 0E 6D 6F 72 65 5F 74 61 69 6C 63 61 6C 6C // ...more_tailcall 73 00 00 ) // s.. .permissionset reqmin - = {class 'System.Security.Permissions.SecurityPermissionAttribute, System.Runtime, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' = {property bool 'SkipVerification' = bool(true)}} + = {class 'System.Security.Permissions.SecurityPermissionAttribute, System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' = {property bool 'SkipVerification' = bool(true)}} .hash algorithm 0x00008004 .ver 1:0:0:0 } -// MVID: {81332D24-430E-4E25-88E2-383124EB3597} +// MVID: {CAF8B990-D08A-4343-9074-7FE350EEBD80} .custom instance void [System.Runtime]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) +.custom instance void System.Runtime.CompilerServices.RefSafetyRulesAttribute::.ctor(int32) = ( 01 00 0B 00 00 00 00 00 ) .imagebase 0x00400000 .file alignment 0x00000200 .stackreserve 0x00100000 .subsystem 0x0003 // WINDOWS_CUI .corflags 0x00000001 // ILONLY -// Image base: 0x000001F273BC0000 +// Image base: 0x000002618BA40000 // =============== CLASS MEMBERS DECLARATION =================== +.class private auto ansi sealed beforefieldinit Microsoft.CodeAnalysis.EmbeddedAttribute + extends [System.Runtime]System.Attribute +{ + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void Microsoft.CodeAnalysis.EmbeddedAttribute::.ctor() = ( 01 00 00 00 ) + .method public hidebysig specialname rtspecialname + instance void .ctor() cil managed + { + // Code size 7 (0x7) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [System.Runtime]System.Attribute::.ctor() + IL_0006: ret + } // end of method EmbeddedAttribute::.ctor + +} // end of class Microsoft.CodeAnalysis.EmbeddedAttribute + +.class private auto ansi sealed beforefieldinit System.Runtime.CompilerServices.NullableAttribute + extends [System.Runtime]System.Attribute +{ + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void Microsoft.CodeAnalysis.EmbeddedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.AttributeUsageAttribute::.ctor(valuetype [System.Runtime]System.AttributeTargets) = ( 01 00 84 6B 00 00 02 00 54 02 0D 41 6C 6C 6F 77 // ...k....T..Allow + 4D 75 6C 74 69 70 6C 65 00 54 02 09 49 6E 68 65 // Multiple.T..Inhe + 72 69 74 65 64 00 ) // rited. + .field public initonly uint8[] NullableFlags + .method public hidebysig specialname rtspecialname + instance void .ctor(uint8 A_1) cil managed + { + // Code size 23 (0x17) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [System.Runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldc.i4.1 + IL_0008: newarr [System.Runtime]System.Byte + IL_000d: dup + IL_000e: ldc.i4.0 + IL_000f: ldarg.1 + IL_0010: stelem.i1 + IL_0011: stfld uint8[] System.Runtime.CompilerServices.NullableAttribute::NullableFlags + IL_0016: ret + } // end of method NullableAttribute::.ctor + + .method public hidebysig specialname rtspecialname + instance void .ctor(uint8[] A_1) cil managed + { + // Code size 14 (0xe) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [System.Runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld uint8[] System.Runtime.CompilerServices.NullableAttribute::NullableFlags + IL_000d: ret + } // end of method NullableAttribute::.ctor + +} // end of class System.Runtime.CompilerServices.NullableAttribute + +.class private auto ansi sealed beforefieldinit System.Runtime.CompilerServices.NullableContextAttribute + extends [System.Runtime]System.Attribute +{ + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void Microsoft.CodeAnalysis.EmbeddedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.AttributeUsageAttribute::.ctor(valuetype [System.Runtime]System.AttributeTargets) = ( 01 00 4C 14 00 00 02 00 54 02 0D 41 6C 6C 6F 77 // ..L.....T..Allow + 4D 75 6C 74 69 70 6C 65 00 54 02 09 49 6E 68 65 // Multiple.T..Inhe + 72 69 74 65 64 00 ) // rited. + .field public initonly uint8 Flag + .method public hidebysig specialname rtspecialname + instance void .ctor(uint8 A_1) cil managed + { + // Code size 14 (0xe) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [System.Runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld uint8 System.Runtime.CompilerServices.NullableContextAttribute::Flag + IL_000d: ret + } // end of method NullableContextAttribute::.ctor + +} // end of class System.Runtime.CompilerServices.NullableContextAttribute + +.class private auto ansi sealed beforefieldinit System.Runtime.CompilerServices.RefSafetyRulesAttribute + extends [System.Runtime]System.Attribute +{ + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void Microsoft.CodeAnalysis.EmbeddedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [System.Runtime]System.AttributeUsageAttribute::.ctor(valuetype [System.Runtime]System.AttributeTargets) = ( 01 00 02 00 00 00 02 00 54 02 0D 41 6C 6C 6F 77 // ........T..Allow + 4D 75 6C 74 69 70 6C 65 00 54 02 09 49 6E 68 65 // Multiple.T..Inhe + 72 69 74 65 64 00 ) // rited. + .field public initonly int32 Version + .method public hidebysig specialname rtspecialname + instance void .ctor(int32 A_1) cil managed + { + // Code size 14 (0xe) + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [System.Runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 System.Runtime.CompilerServices.RefSafetyRulesAttribute::Version + IL_000d: ret + } // end of method RefSafetyRulesAttribute::.ctor + +} // end of class System.Runtime.CompilerServices.RefSafetyRulesAttribute + .class private sequential ansi sealed beforefieldinit S16 extends [System.Runtime]System.ValueType { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public int64 A .field public int64 B .method public hidebysig virtual instance string ToString() cil managed { - // Code size 33 (0x21) - .maxstack 8 - IL_0000: ldstr "{0}, {1}" - IL_0005: ldarg.0 - IL_0006: ldfld int64 S16::A - IL_000b: box [System.Runtime]System.Int64 - IL_0010: ldarg.0 - IL_0011: ldfld int64 S16::B - IL_0016: box [System.Runtime]System.Int64 - IL_001b: call string [System.Runtime]System.String::Format(string, - object, - object) - IL_0020: ret + // Code size 55 (0x37) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.2 + IL_0003: ldc.i4.2 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldarg.0 + IL_000c: ldfld int64 S16::A + IL_0011: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0016: ldloca.s V_0 + IL_0018: ldstr ", " + IL_001d: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0022: ldloca.s V_0 + IL_0024: ldarg.0 + IL_0025: ldfld int64 S16::B + IL_002a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_002f: ldloca.s V_0 + IL_0031: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_0036: ret } // end of method S16::ToString .method public hidebysig instance string @@ -95,38 +214,43 @@ .method public hidebysig virtual instance string ToString() cil managed { - // Code size 73 (0x49) - .maxstack 5 - IL_0000: ldstr "{0}, {1}, {2}, {3}" - IL_0005: ldc.i4.4 - IL_0006: newarr [System.Runtime]System.Object - IL_000b: dup - IL_000c: ldc.i4.0 - IL_000d: ldarg.0 - IL_000e: ldfld int64 S32::A - IL_0013: box [System.Runtime]System.Int64 - IL_0018: stelem.ref - IL_0019: dup - IL_001a: ldc.i4.1 - IL_001b: ldarg.0 - IL_001c: ldfld int64 S32::B - IL_0021: box [System.Runtime]System.Int64 - IL_0026: stelem.ref - IL_0027: dup - IL_0028: ldc.i4.2 - IL_0029: ldarg.0 - IL_002a: ldfld int64 S32::C - IL_002f: box [System.Runtime]System.Int64 - IL_0034: stelem.ref - IL_0035: dup - IL_0036: ldc.i4.3 - IL_0037: ldarg.0 - IL_0038: ldfld int64 S32::D - IL_003d: box [System.Runtime]System.Int64 - IL_0042: stelem.ref - IL_0043: call string [System.Runtime]System.String::Format(string, - object[]) - IL_0048: ret + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + // Code size 105 (0x69) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.6 + IL_0003: ldc.i4.4 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldarg.0 + IL_000c: ldfld int64 S32::A + IL_0011: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0016: ldloca.s V_0 + IL_0018: ldstr ", " + IL_001d: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0022: ldloca.s V_0 + IL_0024: ldarg.0 + IL_0025: ldfld int64 S32::B + IL_002a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_002f: ldloca.s V_0 + IL_0031: ldstr ", " + IL_0036: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_003b: ldloca.s V_0 + IL_003d: ldarg.0 + IL_003e: ldfld int64 S32::C + IL_0043: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0048: ldloca.s V_0 + IL_004a: ldstr ", " + IL_004f: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0054: ldloca.s V_0 + IL_0056: ldarg.0 + IL_0057: ldfld int64 S32::D + IL_005c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0061: ldloca.s V_0 + IL_0063: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_0068: ret } // end of method S32::ToString } // end of class S32 @@ -134,6 +258,8 @@ .class private sequential ansi sealed beforefieldinit SGC extends [System.Runtime]System.ValueType { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public object A .field public object B .field public string C @@ -141,34 +267,42 @@ .method public hidebysig virtual instance string ToString() cil managed { - // Code size 53 (0x35) - .maxstack 8 - IL_0000: ldstr "{0}, {1}, {2}, {3}" - IL_0005: ldc.i4.4 - IL_0006: newarr [System.Runtime]System.Object - IL_000b: dup - IL_000c: ldc.i4.0 - IL_000d: ldarg.0 - IL_000e: ldfld object SGC::A - IL_0013: stelem.ref - IL_0014: dup - IL_0015: ldc.i4.1 - IL_0016: ldarg.0 - IL_0017: ldfld object SGC::B - IL_001c: stelem.ref - IL_001d: dup - IL_001e: ldc.i4.2 - IL_001f: ldarg.0 - IL_0020: ldfld string SGC::C - IL_0025: stelem.ref - IL_0026: dup - IL_0027: ldc.i4.3 - IL_0028: ldarg.0 - IL_0029: ldfld string SGC::D - IL_002e: stelem.ref - IL_002f: call string [System.Runtime]System.String::Format(string, - object[]) - IL_0034: ret + // Code size 105 (0x69) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.6 + IL_0003: ldc.i4.4 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldarg.0 + IL_000c: ldfld object SGC::A + IL_0011: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0016: ldloca.s V_0 + IL_0018: ldstr ", " + IL_001d: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0022: ldloca.s V_0 + IL_0024: ldarg.0 + IL_0025: ldfld object SGC::B + IL_002a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_002f: ldloca.s V_0 + IL_0031: ldstr ", " + IL_0036: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_003b: ldloca.s V_0 + IL_003d: ldarg.0 + IL_003e: ldfld string SGC::C + IL_0043: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0048: ldloca.s V_0 + IL_004a: ldstr ", " + IL_004f: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0054: ldloca.s V_0 + IL_0056: ldarg.0 + IL_0057: ldfld string SGC::D + IL_005c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0061: ldloca.s V_0 + IL_0063: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_0068: ret } // end of method SGC::ToString } // end of class SGC @@ -176,6 +310,8 @@ .class private sequential ansi sealed beforefieldinit SGC2 extends [System.Runtime]System.ValueType { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public int32 A .field public valuetype SGC B .field public object C @@ -183,37 +319,42 @@ .method public hidebysig virtual instance string ToString() cil managed { - // Code size 68 (0x44) - .maxstack 5 - IL_0000: ldstr "{0}, ({1}), {2}, {3}" - IL_0005: ldc.i4.4 - IL_0006: newarr [System.Runtime]System.Object - IL_000b: dup - IL_000c: ldc.i4.0 - IL_000d: ldarg.0 - IL_000e: ldfld int32 SGC2::A - IL_0013: box [System.Runtime]System.Int32 - IL_0018: stelem.ref - IL_0019: dup - IL_001a: ldc.i4.1 - IL_001b: ldarg.0 - IL_001c: ldfld valuetype SGC SGC2::B - IL_0021: box SGC - IL_0026: stelem.ref - IL_0027: dup - IL_0028: ldc.i4.2 - IL_0029: ldarg.0 - IL_002a: ldfld object SGC2::C - IL_002f: stelem.ref - IL_0030: dup - IL_0031: ldc.i4.3 - IL_0032: ldarg.0 - IL_0033: ldfld int32 SGC2::D - IL_0038: box [System.Runtime]System.Int32 - IL_003d: stelem.ref - IL_003e: call string [System.Runtime]System.String::Format(string, - object[]) - IL_0043: ret + // Code size 105 (0x69) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.8 + IL_0003: ldc.i4.4 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldarg.0 + IL_000c: ldfld int32 SGC2::A + IL_0011: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0016: ldloca.s V_0 + IL_0018: ldstr ", (" + IL_001d: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0022: ldloca.s V_0 + IL_0024: ldarg.0 + IL_0025: ldfld valuetype SGC SGC2::B + IL_002a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_002f: ldloca.s V_0 + IL_0031: ldstr "), " + IL_0036: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_003b: ldloca.s V_0 + IL_003d: ldarg.0 + IL_003e: ldfld object SGC2::C + IL_0043: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0048: ldloca.s V_0 + IL_004a: ldstr ", " + IL_004f: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0054: ldloca.s V_0 + IL_0056: ldarg.0 + IL_0057: ldfld int32 SGC2::D + IL_005c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0061: ldloca.s V_0 + IL_0063: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_0068: ret } // end of method SGC2::ToString } // end of class SGC2 @@ -238,15 +379,22 @@ .method public hidebysig virtual instance string ToString() cil managed { - // Code size 22 (0x16) - .maxstack 8 - IL_0000: ldstr "{0}" - IL_0005: ldarg.0 - IL_0006: ldfld int32 HeapInt::Value - IL_000b: box [System.Runtime]System.Int32 - IL_0010: call string [System.Runtime]System.String::Format(string, - object) - IL_0015: ret + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + // Code size 30 (0x1e) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.1 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldarg.0 + IL_000c: ldfld int32 HeapInt::Value + IL_0011: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0016: ldloca.s V_0 + IL_0018: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_001d: ret } // end of method HeapInt::ToString } // end of class HeapInt @@ -254,9 +402,14 @@ .class public auto ansi Program extends [System.Runtime]System.Object { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .class auto ansi nested private beforefieldinit GenericInstance`1 extends [System.Runtime]System.Object { + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .param type T + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) .field private class Program/GenericInstanceFactory factory .method public hidebysig specialname rtspecialname instance void .ctor(class Program/GenericInstanceFactory factory) cil managed @@ -287,10 +440,12 @@ .class auto ansi nested private beforefieldinit GenericInstanceFactory extends [System.Runtime]System.Object { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public int32 counter .method public hidebysig instance class Program/GenericInstance`1 CreateInstance() cil managed noinlining { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) // Code size 21 (0x15) .maxstack 8 IL_0000: ldarg.0 @@ -323,11 +478,17 @@ .field public bool result .field public int32 ten .field public class GenInstance`2 g + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8[]) = ( 01 00 02 00 00 00 00 01 00 00 ) .field public class IGenInterface`2 ig + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8[]) = ( 01 00 02 00 00 00 00 01 00 00 ) .field public class IGenInterface`2 ig2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8[]) = ( 01 00 03 00 00 00 00 01 01 00 00 ) .field public class GenAbstractImpl`1 ga1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8[]) = ( 01 00 02 00 00 00 00 01 00 00 ) .field public class GenAbstractImpl`1 ga2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public int32[] a + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { @@ -343,6 +504,11 @@ !!T expected, string name) cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .param [1] + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8[]) = ( 01 00 02 00 00 00 01 00 00 00 ) + .param [3] + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) // Code size 105 (0x69) .maxstack 4 .locals init (class [System.Runtime]System.Diagnostics.Stopwatch V_0, @@ -396,6 +562,11 @@ !!T expected, string name) cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .param [1] + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8[]) = ( 01 00 02 00 00 00 01 00 00 00 ) + .param [3] + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) // Code size 34 (0x22) .maxstack 4 .locals init (class Program/'<>c__DisplayClass7_1`1' V_0) @@ -420,6 +591,7 @@ .method assembly hidebysig instance string '
b__7'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 51 (0x33) .maxstack 10 IL_0000: newobj instance void Instance::.ctor() @@ -449,6 +621,7 @@ .method assembly hidebysig instance string '
b__19'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 28 (0x1c) .maxstack 8 IL_0000: ldarg.0 @@ -467,6 +640,7 @@ .method assembly hidebysig instance string '
b__20'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 28 (0x1c) .maxstack 8 IL_0000: ldarg.0 @@ -485,6 +659,7 @@ .method assembly hidebysig instance string '
b__21'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 28 (0x1c) .maxstack 8 IL_0000: ldstr "a" @@ -504,6 +679,7 @@ .method assembly hidebysig instance string '
b__22'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 18 (0x12) .maxstack 8 IL_0000: ldstr "a" @@ -519,6 +695,7 @@ .method assembly hidebysig instance string '
b__23'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 28 (0x1c) .maxstack 8 IL_0000: ldstr "a" @@ -538,6 +715,7 @@ .method assembly hidebysig instance string '
b__24'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 22 (0x16) .maxstack 8 IL_0000: ldstr "a" @@ -553,6 +731,7 @@ .method assembly hidebysig instance string '
b__25'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -564,6 +743,7 @@ .method assembly hidebysig instance string '
b__26'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -575,6 +755,7 @@ .method assembly hidebysig instance string '
b__27'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -586,6 +767,7 @@ .method assembly hidebysig instance string '
b__28'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldarg.0 @@ -619,6 +801,7 @@ { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .field public class [System.Runtime]System.Func`3 f + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { @@ -632,6 +815,7 @@ .method assembly hidebysig instance !T '
b__31'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 18 (0x12) .maxstack 8 IL_0000: ldarg.0 @@ -645,28 +829,66 @@ } // end of class '<>c__DisplayClass7_1`1' + .class abstract auto ansi sealed nested private beforefieldinit '<>O' + extends [System.Runtime]System.Object + { + .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field public static class [System.Runtime]System.Func`3 '<0>__CalcStatic' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .field public static class [System.Runtime]System.Func`3 '<1>__CalcStaticSmall' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .field public static class [System.Runtime]System.Func`3 '<2>__CalcStaticRetbuf' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .field public static class [System.Runtime]System.Func`3 '<3>__CalcStaticLong' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .field public static class [System.Runtime]System.Func`3 '<4>__CalcStaticS16' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .field public static class [System.Runtime]System.Func`3 '<5>__CalcStaticCalli' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .field public static class [System.Runtime]System.Func`3 '<6>__CalcStaticCalliRetbuf' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + } // end of class '<>O' + .class auto ansi serializable sealed nested private beforefieldinit '<>c' extends [System.Runtime]System.Object { .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .field public static initonly class Program/'<>c' '<>9' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`3 '<>9__7_2' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_3' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_4' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_5' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_6' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_8' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_9' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_10' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_11' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_12' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_13' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_14' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_15' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_16' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_17' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_18' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field public static class [System.Runtime]System.Func`1 '<>9__7_30' + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .method private hidebysig specialname rtspecialname static void .cctor() cil managed { @@ -704,6 +926,7 @@ .method assembly hidebysig instance string '
b__7_3'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 6 (0x6) .maxstack 8 IL_0000: call string Program::EmptyCalli() @@ -713,6 +936,7 @@ .method assembly hidebysig instance string '
b__7_4'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 6 (0x6) .maxstack 8 IL_0000: call string Program::ValueTypeInstanceMethodCalli() @@ -722,6 +946,7 @@ .method assembly hidebysig instance string '
b__7_5'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 6 (0x6) .maxstack 8 IL_0000: call string Program::ValueTypeExplicitThisInstanceMethodCalli() @@ -781,6 +1006,7 @@ .method assembly hidebysig instance string '
b__7_10'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 11 (0xb) .maxstack 8 IL_0000: ldstr "hello" @@ -791,6 +1017,7 @@ .method assembly hidebysig instance string '
b__7_11'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 11 (0xb) .maxstack 8 IL_0000: ldstr "hello" @@ -801,6 +1028,7 @@ .method assembly hidebysig instance string '
b__7_12'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 7 (0x7) .maxstack 8 IL_0000: ldc.i4.5 @@ -811,6 +1039,7 @@ .method assembly hidebysig instance string '
b__7_13'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 16 (0x10) .maxstack 8 IL_0000: ldstr "hello" @@ -823,6 +1052,7 @@ .method assembly hidebysig instance string '
b__7_14'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldstr "hello" @@ -835,6 +1065,7 @@ .method assembly hidebysig instance string '
b__7_15'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 16 (0x10) .maxstack 8 IL_0000: ldstr "hello" @@ -847,6 +1078,7 @@ .method assembly hidebysig instance string '
b__7_16'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 16 (0x10) .maxstack 8 IL_0000: ldstr "hello" @@ -859,6 +1091,7 @@ .method assembly hidebysig instance string '
b__7_17'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 12 (0xc) .maxstack 8 IL_0000: ldc.i4.5 @@ -871,6 +1104,7 @@ .method assembly hidebysig instance string '
b__7_18'() cil managed { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 16 (0x10) .maxstack 8 IL_0000: ldstr "hello" @@ -945,10 +1179,10 @@ .method public hidebysig static int32 Main() cil managed { .custom instance void [xunit.core]Xunit.FactAttribute::.ctor() = ( - 01 00 00 00 - ) + 01 00 00 00 + ) .entrypoint - // Code size 1835 (0x72b) + // Code size 1940 (0x794) .maxstack 4 .locals init (class Program/'<>c__DisplayClass7_0' V_0, int32 V_1, @@ -1059,623 +1293,672 @@ IL_00ea: ldc.i4.s 10 IL_00ec: stfld int32 Program/'<>c__DisplayClass7_0'::ten IL_00f1: ldloc.0 - IL_00f2: ldnull - IL_00f3: ldftn int32 Program::CalcStatic(int32, + IL_00f2: ldsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<0>__CalcStatic' + IL_00f7: dup + IL_00f8: brtrue.s IL_010d + + IL_00fa: pop + IL_00fb: ldnull + IL_00fc: ldftn int32 Program::CalcStatic(int32, int32) - IL_00f9: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_0102: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_00fe: ldloc.3 - IL_00ff: ldstr "Static non-generic" - IL_0104: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_0107: dup + IL_0108: stsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<0>__CalcStatic' + IL_010d: ldloc.3 + IL_010e: ldstr "Static non-generic" + IL_0113: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_0109: ldloc.0 - IL_010a: ldnull - IL_010b: ldftn uint8 Program::CalcStaticSmall(int32, + IL_0118: ldloc.0 + IL_0119: ldsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<1>__CalcStaticSmall' + IL_011e: dup + IL_011f: brtrue.s IL_0134 + + IL_0121: pop + IL_0122: ldnull + IL_0123: ldftn uint8 Program::CalcStaticSmall(int32, int32) - IL_0111: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_0129: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_0116: ldloc.3 - IL_0117: conv.u1 - IL_0118: ldstr "Static non-generic small" - IL_011d: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_012e: dup + IL_012f: stsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<1>__CalcStaticSmall' + IL_0134: ldloc.3 + IL_0135: conv.u1 + IL_0136: ldstr "Static non-generic small" + IL_013b: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_0122: ldloc.0 - IL_0123: ldnull - IL_0124: ldftn valuetype S32 Program::CalcStaticRetbuf(int32, + IL_0140: ldloc.0 + IL_0141: ldsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<2>__CalcStaticRetbuf' + IL_0146: dup + IL_0147: brtrue.s IL_015c + + IL_0149: pop + IL_014a: ldnull + IL_014b: ldftn valuetype S32 Program::CalcStaticRetbuf(int32, int32) - IL_012a: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_0151: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_012f: ldloc.s V_8 - IL_0131: ldstr "Static non-generic retbuf" - IL_0136: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_0156: dup + IL_0157: stsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<2>__CalcStaticRetbuf' + IL_015c: ldloc.s V_8 + IL_015e: ldstr "Static non-generic retbuf" + IL_0163: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_013b: ldloc.0 - IL_013c: ldnull - IL_013d: ldftn int64 Program::CalcStaticLong(int32, + IL_0168: ldloc.0 + IL_0169: ldsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<3>__CalcStaticLong' + IL_016e: dup + IL_016f: brtrue.s IL_0184 + + IL_0171: pop + IL_0172: ldnull + IL_0173: ldftn int64 Program::CalcStaticLong(int32, int32) - IL_0143: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_0179: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_0148: ldloc.s V_6 - IL_014a: ldstr "Static non-generic long" - IL_014f: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_017e: dup + IL_017f: stsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<3>__CalcStaticLong' + IL_0184: ldloc.s V_6 + IL_0186: ldstr "Static non-generic long" + IL_018b: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_0154: ldloc.0 - IL_0155: ldnull - IL_0156: ldftn valuetype S16 Program::CalcStaticS16(int32, + IL_0190: ldloc.0 + IL_0191: ldsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<4>__CalcStaticS16' + IL_0196: dup + IL_0197: brtrue.s IL_01ac + + IL_0199: pop + IL_019a: ldnull + IL_019b: ldftn valuetype S16 Program::CalcStaticS16(int32, int32) - IL_015c: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_01a1: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_0161: ldloc.s V_7 - IL_0163: ldstr "Static non-generic S16" - IL_0168: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_01a6: dup + IL_01a7: stsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<4>__CalcStaticS16' + IL_01ac: ldloc.s V_7 + IL_01ae: ldstr "Static non-generic S16" + IL_01b3: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_016d: ldloc.0 - IL_016e: ldsfld class [System.Runtime]System.Func`3 Program/'<>c'::'<>9__7_2' - IL_0173: dup - IL_0174: brtrue.s IL_018d - - IL_0176: pop - IL_0177: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_017c: ldftn instance int32 Program/'<>c'::'
b__7_2'(int32, + IL_01b8: ldloc.0 + IL_01b9: ldsfld class [System.Runtime]System.Func`3 Program/'<>c'::'<>9__7_2' + IL_01be: dup + IL_01bf: brtrue.s IL_01d8 + + IL_01c1: pop + IL_01c2: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_01c7: ldftn instance int32 Program/'<>c'::'
b__7_2'(int32, int32) - IL_0182: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_01cd: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_0187: dup - IL_0188: stsfld class [System.Runtime]System.Func`3 Program/'<>c'::'<>9__7_2' - IL_018d: ldloc.3 - IL_018e: ldstr "Static void" - IL_0193: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_01d2: dup + IL_01d3: stsfld class [System.Runtime]System.Func`3 Program/'<>c'::'<>9__7_2' + IL_01d8: ldloc.3 + IL_01d9: ldstr "Static void" + IL_01de: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_0198: ldloc.0 - IL_0199: newobj instance void Instance::.ctor() - IL_019e: ldftn instance int32 Instance::CalcInstance(int32, + IL_01e3: ldloc.0 + IL_01e4: newobj instance void Instance::.ctor() + IL_01e9: ldftn instance int32 Instance::CalcInstance(int32, int32) - IL_01a4: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_01ef: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_01a9: ldloc.3 - IL_01aa: ldstr "Instance non-generic" - IL_01af: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_01f4: ldloc.3 + IL_01f5: ldstr "Instance non-generic" + IL_01fa: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_01b4: ldloc.0 - IL_01b5: newobj instance void Instance::.ctor() - IL_01ba: ldftn instance valuetype S32 Instance::CalcInstanceRetbuf(int32, + IL_01ff: ldloc.0 + IL_0200: newobj instance void Instance::.ctor() + IL_0205: ldftn instance valuetype S32 Instance::CalcInstanceRetbuf(int32, int32) - IL_01c0: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_020b: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_01c5: ldloc.s V_8 - IL_01c7: ldstr "Instance non-generic retbuf" - IL_01cc: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_0210: ldloc.s V_8 + IL_0212: ldstr "Instance non-generic retbuf" + IL_0217: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_01d1: ldloc.0 - IL_01d2: ldloc.s V_4 - IL_01d4: dup - IL_01d5: ldvirtftn instance int32 BaseClass::CalcAbstract(int32, + IL_021c: ldloc.0 + IL_021d: ldloc.s V_4 + IL_021f: dup + IL_0220: ldvirtftn instance int32 BaseClass::CalcAbstract(int32, int32) - IL_01db: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_0226: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_01e0: ldloc.3 - IL_01e1: ldstr "Abstract class non-generic" - IL_01e6: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_022b: ldloc.3 + IL_022c: ldstr "Abstract class non-generic" + IL_0231: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_01eb: ldloc.0 - IL_01ec: ldloc.s V_4 - IL_01ee: dup - IL_01ef: ldvirtftn instance valuetype S32 BaseClass::CalcAbstractRetbuf(int32, + IL_0236: ldloc.0 + IL_0237: ldloc.s V_4 + IL_0239: dup + IL_023a: ldvirtftn instance valuetype S32 BaseClass::CalcAbstractRetbuf(int32, int32) - IL_01f5: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_0240: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_01fa: ldloc.s V_8 - IL_01fc: ldstr "Abstract class non-generic retbuf" - IL_0201: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_0245: ldloc.s V_8 + IL_0247: ldstr "Abstract class non-generic retbuf" + IL_024c: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_0206: ldloc.0 - IL_0207: ldloc.s V_5 - IL_0209: dup - IL_020a: ldvirtftn instance int32 InterfaceImpl::CalcInterface(int32, + IL_0251: ldloc.0 + IL_0252: ldloc.s V_5 + IL_0254: dup + IL_0255: ldvirtftn instance int32 InterfaceImpl::CalcInterface(int32, int32) - IL_0210: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_025b: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_0215: ldloc.3 - IL_0216: ldstr "Interface non-generic" - IL_021b: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_0260: ldloc.3 + IL_0261: ldstr "Interface non-generic" + IL_0266: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_0220: ldloc.0 - IL_0221: ldloc.s V_5 - IL_0223: dup - IL_0224: ldvirtftn instance valuetype S32 InterfaceImpl::CalcInterfaceRetbuf(int32, + IL_026b: ldloc.0 + IL_026c: ldloc.s V_5 + IL_026e: dup + IL_026f: ldvirtftn instance valuetype S32 InterfaceImpl::CalcInterfaceRetbuf(int32, int32) - IL_022a: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_0275: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_022f: ldloc.s V_8 - IL_0231: ldstr "Interface non-generic retbuf" - IL_0236: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_027a: ldloc.s V_8 + IL_027c: ldstr "Interface non-generic retbuf" + IL_0281: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_023b: ldloc.0 - IL_023c: ldnull - IL_023d: ldftn int32 Program::CalcStaticCalli(int32, + IL_0286: ldloc.0 + IL_0287: ldsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<5>__CalcStaticCalli' + IL_028c: dup + IL_028d: brtrue.s IL_02a2 + + IL_028f: pop + IL_0290: ldnull + IL_0291: ldftn int32 Program::CalcStaticCalli(int32, int32) - IL_0243: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_0297: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_0248: ldloc.3 - IL_0249: ldstr "Static calli" - IL_024e: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_029c: dup + IL_029d: stsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<5>__CalcStaticCalli' + IL_02a2: ldloc.3 + IL_02a3: ldstr "Static calli" + IL_02a8: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_0253: ldloc.0 - IL_0254: ldnull - IL_0255: ldftn valuetype S32 Program::CalcStaticCalliRetbuf(int32, + IL_02ad: ldloc.0 + IL_02ae: ldsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<6>__CalcStaticCalliRetbuf' + IL_02b3: dup + IL_02b4: brtrue.s IL_02c9 + + IL_02b6: pop + IL_02b7: ldnull + IL_02b8: ldftn valuetype S32 Program::CalcStaticCalliRetbuf(int32, int32) - IL_025b: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_02be: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_0260: ldloc.s V_8 - IL_0262: ldstr "Static calli retbuf" - IL_0267: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_02c3: dup + IL_02c4: stsfld class [System.Runtime]System.Func`3 Program/'<>O'::'<6>__CalcStaticCalliRetbuf' + IL_02c9: ldloc.s V_8 + IL_02cb: ldstr "Static calli retbuf" + IL_02d0: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_026c: ldloc.0 - IL_026d: newobj instance void Instance::.ctor() - IL_0272: ldftn instance int32 Instance::CalcInstanceCalli(int32, + IL_02d5: ldloc.0 + IL_02d6: newobj instance void Instance::.ctor() + IL_02db: ldftn instance int32 Instance::CalcInstanceCalli(int32, int32) - IL_0278: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_02e1: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_027d: ldloc.3 - IL_027e: ldstr "Instance calli" - IL_0283: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_02e6: ldloc.3 + IL_02e7: ldstr "Instance calli" + IL_02ec: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_0288: ldloc.0 - IL_0289: newobj instance void Instance::.ctor() - IL_028e: ldftn instance valuetype S32 Instance::CalcInstanceCalliRetbuf(int32, + IL_02f1: ldloc.0 + IL_02f2: newobj instance void Instance::.ctor() + IL_02f7: ldftn instance valuetype S32 Instance::CalcInstanceCalliRetbuf(int32, int32) - IL_0294: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, + IL_02fd: newobj instance void class [System.Runtime]System.Func`3::.ctor(object, native int) - IL_0299: ldloc.s V_8 - IL_029b: ldstr "Instance calli retbuf" - IL_02a0: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, + IL_0302: ldloc.s V_8 + IL_0304: ldstr "Instance calli retbuf" + IL_0309: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__TestCalc|1'(class [System.Runtime]System.Func`3, !!0, string) - IL_02a5: ldloc.0 - IL_02a6: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_3' - IL_02ab: dup - IL_02ac: brtrue.s IL_02c5 - - IL_02ae: pop - IL_02af: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_02b4: ldftn instance string Program/'<>c'::'
b__7_3'() - IL_02ba: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_030e: ldloc.0 + IL_030f: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_3' + IL_0314: dup + IL_0315: brtrue.s IL_032e + + IL_0317: pop + IL_0318: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_031d: ldftn instance string Program/'<>c'::'
b__7_3'() + IL_0323: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_02bf: dup - IL_02c0: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_3' - IL_02c5: ldstr "Empty calli" - IL_02ca: ldstr "Static calli without args" - IL_02cf: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0328: dup + IL_0329: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_3' + IL_032e: ldstr "Empty calli" + IL_0333: ldstr "Static calli without args" + IL_0338: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_02d4: ldloc.0 - IL_02d5: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_4' - IL_02da: dup - IL_02db: brtrue.s IL_02f4 - - IL_02dd: pop - IL_02de: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_02e3: ldftn instance string Program/'<>c'::'
b__7_4'() - IL_02e9: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_033d: ldloc.0 + IL_033e: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_4' + IL_0343: dup + IL_0344: brtrue.s IL_035d + + IL_0346: pop + IL_0347: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_034c: ldftn instance string Program/'<>c'::'
b__7_4'() + IL_0352: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_02ee: dup - IL_02ef: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_4' - IL_02f4: ldstr "Instance method" - IL_02f9: ldstr "calli to an instance method on a value type" - IL_02fe: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0357: dup + IL_0358: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_4' + IL_035d: ldstr "Instance method" + IL_0362: ldstr "calli to an instance method on a value type" + IL_0367: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0303: ldloc.0 - IL_0304: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_5' - IL_0309: dup - IL_030a: brtrue.s IL_0323 - - IL_030c: pop - IL_030d: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_0312: ldftn instance string Program/'<>c'::'
b__7_5'() - IL_0318: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_036c: ldloc.0 + IL_036d: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_5' + IL_0372: dup + IL_0373: brtrue.s IL_038c + + IL_0375: pop + IL_0376: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_037b: ldftn instance string Program/'<>c'::'
b__7_5'() + IL_0381: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_031d: dup - IL_031e: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_5' - IL_0323: ldstr "Instance method" - IL_0328: ldstr "calli to an instance method on a value type with e" + IL_0386: dup + IL_0387: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_5' + IL_038c: ldstr "Instance method" + IL_0391: ldstr "calli to an instance method on a value type with e" + "xplicit this" - IL_032d: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0396: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0332: ldloc.0 - IL_0333: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_6' - IL_0338: dup - IL_0339: brtrue.s IL_0352 - - IL_033b: pop - IL_033c: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_0341: ldftn instance int32 Program/'<>c'::'
b__7_6'() - IL_0347: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_039b: ldloc.0 + IL_039c: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_6' + IL_03a1: dup + IL_03a2: brtrue.s IL_03bb + + IL_03a4: pop + IL_03a5: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_03aa: ldftn instance int32 Program/'<>c'::'
b__7_6'() + IL_03b0: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_034c: dup - IL_034d: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_6' - IL_0352: ldc.i4 0xf4240 - IL_0357: ldstr "Value type instance call" - IL_035c: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_03b5: dup + IL_03b6: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_6' + IL_03bb: ldc.i4 0xf4240 + IL_03c0: ldstr "Value type instance call" + IL_03c5: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0361: ldloc.0 - IL_0362: ldloc.0 - IL_0363: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__7'() - IL_0369: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_03ca: ldloc.0 + IL_03cb: ldloc.0 + IL_03cc: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__7'() + IL_03d2: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_036e: ldstr "2 3 4 5 6 7 8 9 10" - IL_0373: ldstr "Instance with GC" - IL_0378: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_03d7: ldstr "2 3 4 5 6 7 8 9 10" + IL_03dc: ldstr "Instance with GC" + IL_03e1: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_037d: ldloc.0 - IL_037e: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_8' - IL_0383: dup - IL_0384: brtrue.s IL_039d - - IL_0386: pop - IL_0387: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_038c: ldftn instance int32 Program/'<>c'::'
b__7_8'() - IL_0392: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_03e6: ldloc.0 + IL_03e7: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_8' + IL_03ec: dup + IL_03ed: brtrue.s IL_0406 + + IL_03ef: pop + IL_03f0: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_03f5: ldftn instance int32 Program/'<>c'::'
b__7_8'() + IL_03fb: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_0397: dup - IL_0398: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_8' - IL_039d: ldc.i4 0xf4240 - IL_03a2: ldstr "Count up with heap int" - IL_03a7: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0400: dup + IL_0401: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_8' + IL_0406: ldc.i4 0xf4240 + IL_040b: ldstr "Count up with heap int" + IL_0410: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_03ac: ldloc.0 - IL_03ad: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_9' - IL_03b2: dup - IL_03b3: brtrue.s IL_03cc - - IL_03b5: pop - IL_03b6: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_03bb: ldftn instance int32 Program/'<>c'::'
b__7_9'() - IL_03c1: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0415: ldloc.0 + IL_0416: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_9' + IL_041b: dup + IL_041c: brtrue.s IL_0435 + + IL_041e: pop + IL_041f: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_0424: ldftn instance int32 Program/'<>c'::'
b__7_9'() + IL_042a: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_03c6: dup - IL_03c7: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_9' - IL_03cc: ldc.i4 0xf4240 - IL_03d1: ldstr "Count up with byref to heap" - IL_03d6: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_042f: dup + IL_0430: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_9' + IL_0435: ldc.i4 0xf4240 + IL_043a: ldstr "Count up with byref to heap" + IL_043f: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_03db: ldloc.0 - IL_03dc: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_10' - IL_03e1: dup - IL_03e2: brtrue.s IL_03fb - - IL_03e4: pop - IL_03e5: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_03ea: ldftn instance string Program/'<>c'::'
b__7_10'() - IL_03f0: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0444: ldloc.0 + IL_0445: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_10' + IL_044a: dup + IL_044b: brtrue.s IL_0464 + + IL_044d: pop + IL_044e: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_0453: ldftn instance string Program/'<>c'::'
b__7_10'() + IL_0459: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_03f5: dup - IL_03f6: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_10' - IL_03fb: ldstr "System.String hello" - IL_0400: ldstr "Static generic string" - IL_0405: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_045e: dup + IL_045f: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_10' + IL_0464: ldstr "System.String hello" + IL_0469: ldstr "Static generic string" + IL_046e: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_040a: ldloc.0 - IL_040b: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_11' - IL_0410: dup - IL_0411: brtrue.s IL_042a - - IL_0413: pop - IL_0414: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_0419: ldftn instance string Program/'<>c'::'
b__7_11'() - IL_041f: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0473: ldloc.0 + IL_0474: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_11' + IL_0479: dup + IL_047a: brtrue.s IL_0493 + + IL_047c: pop + IL_047d: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_0482: ldftn instance string Program/'<>c'::'
b__7_11'() + IL_0488: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_0424: dup - IL_0425: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_11' - IL_042a: ldstr "System.Object hello" - IL_042f: ldstr "Static generic object" - IL_0434: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_048d: dup + IL_048e: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_11' + IL_0493: ldstr "System.Object hello" + IL_0498: ldstr "Static generic object" + IL_049d: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0439: ldloc.0 - IL_043a: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_12' - IL_043f: dup - IL_0440: brtrue.s IL_0459 - - IL_0442: pop - IL_0443: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_0448: ldftn instance string Program/'<>c'::'
b__7_12'() - IL_044e: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_04a2: ldloc.0 + IL_04a3: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_12' + IL_04a8: dup + IL_04a9: brtrue.s IL_04c2 + + IL_04ab: pop + IL_04ac: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_04b1: ldftn instance string Program/'<>c'::'
b__7_12'() + IL_04b7: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_0453: dup - IL_0454: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_12' - IL_0459: ldstr "System.Int32 5" - IL_045e: ldstr "Static generic int" - IL_0463: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_04bc: dup + IL_04bd: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_12' + IL_04c2: ldstr "System.Int32 5" + IL_04c7: ldstr "Static generic int" + IL_04cc: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0468: ldloc.0 - IL_0469: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_13' - IL_046e: dup - IL_046f: brtrue.s IL_0488 - - IL_0471: pop - IL_0472: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_0477: ldftn instance string Program/'<>c'::'
b__7_13'() - IL_047d: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_04d1: ldloc.0 + IL_04d2: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_13' + IL_04d7: dup + IL_04d8: brtrue.s IL_04f1 + + IL_04da: pop + IL_04db: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_04e0: ldftn instance string Program/'<>c'::'
b__7_13'() + IL_04e6: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_0482: dup - IL_0483: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_13' - IL_0488: ldstr "System.String System.Object hello hello2" - IL_048d: ldstr "Static generic 2 string object" - IL_0492: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_04eb: dup + IL_04ec: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_13' + IL_04f1: ldstr "System.String System.Object hello hello2" + IL_04f6: ldstr "Static generic 2 string object" + IL_04fb: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0497: ldloc.0 - IL_0498: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_14' - IL_049d: dup - IL_049e: brtrue.s IL_04b7 - - IL_04a0: pop - IL_04a1: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_04a6: ldftn instance string Program/'<>c'::'
b__7_14'() - IL_04ac: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0500: ldloc.0 + IL_0501: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_14' + IL_0506: dup + IL_0507: brtrue.s IL_0520 + + IL_0509: pop + IL_050a: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_050f: ldftn instance string Program/'<>c'::'
b__7_14'() + IL_0515: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_04b1: dup - IL_04b2: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_14' - IL_04b7: ldstr "System.String System.Int32 hello 5" - IL_04bc: ldstr "Static generic 2 string int" - IL_04c1: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_051a: dup + IL_051b: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_14' + IL_0520: ldstr "System.String System.Int32 hello 5" + IL_0525: ldstr "Static generic 2 string int" + IL_052a: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_04c6: ldloc.0 - IL_04c7: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_15' - IL_04cc: dup - IL_04cd: brtrue.s IL_04e6 - - IL_04cf: pop - IL_04d0: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_04d5: ldftn instance string Program/'<>c'::'
b__7_15'() - IL_04db: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_052f: ldloc.0 + IL_0530: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_15' + IL_0535: dup + IL_0536: brtrue.s IL_054f + + IL_0538: pop + IL_0539: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_053e: ldftn instance string Program/'<>c'::'
b__7_15'() + IL_0544: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_04e0: dup - IL_04e1: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_15' - IL_04e6: ldstr "System.String System.String hello hello2" - IL_04eb: ldstr "Static generic 1 string" - IL_04f0: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0549: dup + IL_054a: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_15' + IL_054f: ldstr "System.String System.String hello hello2" + IL_0554: ldstr "Static generic 1 string" + IL_0559: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_04f5: ldloc.0 - IL_04f6: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_16' - IL_04fb: dup - IL_04fc: brtrue.s IL_0515 - - IL_04fe: pop - IL_04ff: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_0504: ldftn instance string Program/'<>c'::'
b__7_16'() - IL_050a: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_055e: ldloc.0 + IL_055f: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_16' + IL_0564: dup + IL_0565: brtrue.s IL_057e + + IL_0567: pop + IL_0568: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_056d: ldftn instance string Program/'<>c'::'
b__7_16'() + IL_0573: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_050f: dup - IL_0510: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_16' - IL_0515: ldstr "System.Object System.String hello hello2" - IL_051a: ldstr "Static generic 1 object" - IL_051f: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0578: dup + IL_0579: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_16' + IL_057e: ldstr "System.Object System.String hello hello2" + IL_0583: ldstr "Static generic 1 object" + IL_0588: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0524: ldloc.0 - IL_0525: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_17' - IL_052a: dup - IL_052b: brtrue.s IL_0544 - - IL_052d: pop - IL_052e: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_0533: ldftn instance string Program/'<>c'::'
b__7_17'() - IL_0539: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_058d: ldloc.0 + IL_058e: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_17' + IL_0593: dup + IL_0594: brtrue.s IL_05ad + + IL_0596: pop + IL_0597: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_059c: ldftn instance string Program/'<>c'::'
b__7_17'() + IL_05a2: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_053e: dup - IL_053f: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_17' - IL_0544: ldstr "System.Int32 System.String 5 hello2" - IL_0549: ldstr "Static generic 1 int" - IL_054e: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_05a7: dup + IL_05a8: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_17' + IL_05ad: ldstr "System.Int32 System.String 5 hello2" + IL_05b2: ldstr "Static generic 1 int" + IL_05b7: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0553: ldloc.0 - IL_0554: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_18' - IL_0559: dup - IL_055a: brtrue.s IL_0573 - - IL_055c: pop - IL_055d: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_0562: ldftn instance string Program/'<>c'::'
b__7_18'() - IL_0568: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_05bc: ldloc.0 + IL_05bd: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_18' + IL_05c2: dup + IL_05c3: brtrue.s IL_05dc + + IL_05c5: pop + IL_05c6: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_05cb: ldftn instance string Program/'<>c'::'
b__7_18'() + IL_05d1: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_056d: dup - IL_056e: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_18' - IL_0573: ldstr "System.Object System.String hello hello2" - IL_0578: ldstr "Static generic 0" - IL_057d: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_05d6: dup + IL_05d7: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_18' + IL_05dc: ldstr "System.Object System.String hello hello2" + IL_05e1: ldstr "Static generic 0" + IL_05e6: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0582: ldloc.0 - IL_0583: ldloc.0 - IL_0584: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__19'() - IL_058a: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_05eb: ldloc.0 + IL_05ec: ldloc.0 + IL_05ed: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__19'() + IL_05f3: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_058f: ldstr "System.String System.Int32 System.Object System.St" + IL_05f8: ldstr "System.String System.Int32 System.Object System.St" + "ring a 5 b c" - IL_0594: ldstr "Instance generic 4" - IL_0599: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_05fd: ldstr "Instance generic 4" + IL_0602: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_059e: ldloc.0 - IL_059f: ldloc.0 - IL_05a0: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__20'() - IL_05a6: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0607: ldloc.0 + IL_0608: ldloc.0 + IL_0609: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__20'() + IL_060f: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_05ab: ldstr "System.String System.Int32 System.Object System.St" + IL_0614: ldstr "System.String System.Int32 System.Object System.St" + "ring a 5 b c" - IL_05b0: ldstr "Virtual instance generic 4" - IL_05b5: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0619: ldstr "Virtual instance generic 4" + IL_061e: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_05ba: ldloc.0 - IL_05bb: ldloc.0 - IL_05bc: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__21'() - IL_05c2: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0623: ldloc.0 + IL_0624: ldloc.0 + IL_0625: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__21'() + IL_062b: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_05c7: ldstr "System.String System.Int32 System.String System.Ob" + IL_0630: ldstr "System.String System.Int32 System.String System.Ob" + "ject a 5 c d" - IL_05cc: ldstr "Interface generic 4" - IL_05d1: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0635: ldstr "Interface generic 4" + IL_063a: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_05d6: ldloc.0 - IL_05d7: ldloc.0 - IL_05d8: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__22'() - IL_05de: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_063f: ldloc.0 + IL_0640: ldloc.0 + IL_0641: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__22'() + IL_0647: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_05e3: ldstr "System.String System.Int32 a 5" - IL_05e8: ldstr "Interface generic forward G" - IL_05ed: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_064c: ldstr "System.String System.Int32 a 5" + IL_0651: ldstr "Interface generic forward G" + IL_0656: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_05f2: ldloc.0 - IL_05f3: ldloc.0 - IL_05f4: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__23'() - IL_05fa: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_065b: ldloc.0 + IL_065c: ldloc.0 + IL_065d: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__23'() + IL_0663: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_05ff: ldstr "System.String System.Object System.Int32 System.Ob" + IL_0668: ldstr "System.String System.Object System.Int32 System.Ob" + "ject a b 5 d" - IL_0604: ldstr "Interface generic 0" - IL_0609: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_066d: ldstr "Interface generic 0" + IL_0672: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_060e: ldloc.0 - IL_060f: ldloc.0 - IL_0610: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__24'() - IL_0616: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0677: ldloc.0 + IL_0678: ldloc.0 + IL_0679: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__24'() + IL_067f: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_061b: ldstr "System.String System.Object a b" - IL_0620: ldstr "Interface generic without generics on method" - IL_0625: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0684: ldstr "System.String System.Object a b" + IL_0689: ldstr "Interface generic without generics on method" + IL_068e: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_062a: ldloc.0 - IL_062b: ldloc.0 - IL_062c: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__25'() - IL_0632: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0693: ldloc.0 + IL_0694: ldloc.0 + IL_0695: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__25'() + IL_069b: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_0637: ldstr "System.String System.Object" - IL_063c: ldstr "Abstract generic with generic on method 1" - IL_0641: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_06a0: ldstr "System.String System.Object" + IL_06a5: ldstr "Abstract generic with generic on method 1" + IL_06aa: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0646: ldloc.0 - IL_0647: ldloc.0 - IL_0648: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__26'() - IL_064e: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_06af: ldloc.0 + IL_06b0: ldloc.0 + IL_06b1: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__26'() + IL_06b7: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_0653: ldstr "System.Int32 System.Object" - IL_0658: ldstr "Abstract generic with generic on method 2" - IL_065d: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_06bc: ldstr "System.Int32 System.Object" + IL_06c1: ldstr "Abstract generic with generic on method 2" + IL_06c6: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0662: ldloc.0 - IL_0663: ldloc.0 - IL_0664: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__27'() - IL_066a: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_06cb: ldloc.0 + IL_06cc: ldloc.0 + IL_06cd: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__27'() + IL_06d3: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_066f: ldstr "System.String" - IL_0674: ldstr "Abstract generic without generic on method 1" - IL_0679: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_06d8: ldstr "System.String" + IL_06dd: ldstr "Abstract generic without generic on method 1" + IL_06e2: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_067e: ldloc.0 - IL_067f: ldloc.0 - IL_0680: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__28'() - IL_0686: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_06e7: ldloc.0 + IL_06e8: ldloc.0 + IL_06e9: ldftn instance string Program/'<>c__DisplayClass7_0'::'
b__28'() + IL_06ef: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_068b: ldstr "System.Int32" - IL_0690: ldstr "Abstract generic without generic on method 2" - IL_0695: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_06f4: ldstr "System.Int32" + IL_06f9: ldstr "Abstract generic without generic on method 2" + IL_06fe: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_069a: ldloc.0 - IL_069b: ldc.i4 0xf4240 - IL_06a0: newarr [System.Runtime]System.Int32 - IL_06a5: stfld int32[] Program/'<>c__DisplayClass7_0'::a - IL_06aa: ldloc.0 - IL_06ab: ldfld int32[] Program/'<>c__DisplayClass7_0'::a - IL_06b0: ldc.i4.s 99 - IL_06b2: ldc.i4.1 - IL_06b3: stelem.i4 - IL_06b4: ldloc.0 - IL_06b5: ldloc.0 - IL_06b6: ldftn instance int32 Program/'<>c__DisplayClass7_0'::'
b__29'() - IL_06bc: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_0703: ldloc.0 + IL_0704: ldc.i4 0xf4240 + IL_0709: newarr [System.Runtime]System.Int32 + IL_070e: stfld int32[] Program/'<>c__DisplayClass7_0'::a + IL_0713: ldloc.0 + IL_0714: ldfld int32[] Program/'<>c__DisplayClass7_0'::a + IL_0719: ldc.i4.s 99 + IL_071b: ldc.i4.1 + IL_071c: stelem.i4 + IL_071d: ldloc.0 + IL_071e: ldloc.0 + IL_071f: ldftn instance int32 Program/'<>c__DisplayClass7_0'::'
b__29'() + IL_0725: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_06c1: ldloc.0 - IL_06c2: ldfld int32[] Program/'<>c__DisplayClass7_0'::a - IL_06c7: ldlen - IL_06c8: conv.i4 - IL_06c9: ldc.i4.1 - IL_06ca: add - IL_06cb: ldstr "Instantiating stub direct" - IL_06d0: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_072a: ldloc.0 + IL_072b: ldfld int32[] Program/'<>c__DisplayClass7_0'::a + IL_0730: ldlen + IL_0731: conv.i4 + IL_0732: ldc.i4.1 + IL_0733: add + IL_0734: ldstr "Instantiating stub direct" + IL_0739: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_06d5: ldloc.0 - IL_06d6: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_30' - IL_06db: dup - IL_06dc: brtrue.s IL_06f5 - - IL_06de: pop - IL_06df: ldsfld class Program/'<>c' Program/'<>c'::'<>9' - IL_06e4: ldftn instance int32 Program/'<>c'::'
b__7_30'() - IL_06ea: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, + IL_073e: ldloc.0 + IL_073f: ldsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_30' + IL_0744: dup + IL_0745: brtrue.s IL_075e + + IL_0747: pop + IL_0748: ldsfld class Program/'<>c' Program/'<>c'::'<>9' + IL_074d: ldftn instance int32 Program/'<>c'::'
b__7_30'() + IL_0753: newobj instance void class [System.Runtime]System.Func`1::.ctor(object, native int) - IL_06ef: dup - IL_06f0: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_30' - IL_06f5: ldc.i4.1 - IL_06f6: ldstr "Virtual call where computing \"this\" has side effects" - IL_06fb: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, + IL_0758: dup + IL_0759: stsfld class [System.Runtime]System.Func`1 Program/'<>c'::'<>9__7_30' + IL_075e: ldc.i4.1 + IL_075f: ldstr "Virtual call where computing \"this\" has side effects" + IL_0764: callvirt instance void Program/'<>c__DisplayClass7_0'::'
g__Test|0'(class [System.Runtime]System.Func`1, !!0, string) - IL_0700: ldloc.0 - IL_0701: ldfld bool Program/'<>c__DisplayClass7_0'::result - IL_0706: brfalse.s IL_0714 + IL_0769: ldloc.0 + IL_076a: ldfld bool Program/'<>c__DisplayClass7_0'::result + IL_076f: brfalse.s IL_077d - IL_0708: ldstr "All tailcall-via-help succeeded" - IL_070d: call void [System.Console]System.Console::WriteLine(string) - IL_0712: br.s IL_071e + IL_0771: ldstr "All tailcall-via-help succeeded" + IL_0776: call void [System.Console]System.Console::WriteLine(string) + IL_077b: br.s IL_0787 - IL_0714: ldstr "One or more failures in tailcall-via-help test" - IL_0719: call void [System.Console]System.Console::WriteLine(string) - IL_071e: ldloc.0 - IL_071f: ldfld bool Program/'<>c__DisplayClass7_0'::result - IL_0724: brtrue.s IL_0728 + IL_077d: ldstr "One or more failures in tailcall-via-help test" + IL_0782: call void [System.Console]System.Console::WriteLine(string) + IL_0787: ldloc.0 + IL_0788: ldfld bool Program/'<>c__DisplayClass7_0'::result + IL_078d: brtrue.s IL_0791 - IL_0726: ldc.i4.1 - IL_0727: ret + IL_078f: ldc.i4.1 + IL_0790: ret - IL_0728: ldc.i4.s 100 - IL_072a: ret + IL_0791: ldc.i4.s 100 + IL_0793: ret } // end of method Program::Main .method public hidebysig static void Calc(int32& x, @@ -2494,6 +2777,8 @@ .method private hidebysig static string GenName1Forward(!!T x) cil managed noinlining { + .param type T + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) // Code size 18 (0x12) .maxstack 2 .locals init (valuetype S32 V_0) @@ -2511,24 +2796,40 @@ GenName1(valuetype S32 s, !!T x) cil managed noinlining { - // Code size 32 (0x20) - .maxstack 8 - IL_0000: ldstr "{0} {1}" - IL_0005: ldtoken !!T - IL_000a: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_000f: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_0014: ldarg.1 - IL_0015: box !!T - IL_001a: call string [System.Runtime]System.String::Format(string, - object, - object) - IL_001f: ret + .param type T + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + // Code size 59 (0x3b) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldtoken !!T + IL_0010: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0015: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_001a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_001f: ldloca.s V_0 + IL_0021: ldstr " " + IL_0026: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_002b: ldloca.s V_0 + IL_002d: ldarg.1 + IL_002e: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0033: ldloca.s V_0 + IL_0035: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_003a: ret } // end of method Program::GenName1 .method private hidebysig static string GenName2ForwardBoth(!!T1 x, !!T2 y) cil managed noinlining { + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) // Code size 19 (0x13) .maxstack 3 .locals init (valuetype S32 V_0) @@ -2548,6 +2849,8 @@ GenName2ForwardOne(!!T x, string y) cil managed noinlining { + .param type T + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) // Code size 19 (0x13) .maxstack 3 .locals init (valuetype S32 V_0) @@ -2587,36 +2890,46 @@ !!T1 a, !!T2 b) cil managed noinlining { - // Code size 71 (0x47) - .maxstack 5 - IL_0000: ldstr "{0} {1} {2} {3}" - IL_0005: ldc.i4.4 - IL_0006: newarr [System.Runtime]System.Object - IL_000b: dup - IL_000c: ldc.i4.0 - IL_000d: ldtoken !!T1 - IL_0012: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0017: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_001c: stelem.ref - IL_001d: dup - IL_001e: ldc.i4.1 - IL_001f: ldtoken !!T2 - IL_0024: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0029: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_002e: stelem.ref - IL_002f: dup - IL_0030: ldc.i4.2 - IL_0031: ldarg.1 - IL_0032: box !!T1 - IL_0037: stelem.ref - IL_0038: dup - IL_0039: ldc.i4.3 - IL_003a: ldarg.2 - IL_003b: box !!T2 - IL_0040: stelem.ref - IL_0041: call string [System.Runtime]System.String::Format(string, - object[]) - IL_0046: ret + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + // Code size 113 (0x71) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.4 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldtoken !!T1 + IL_0010: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0015: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_001a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_001f: ldloca.s V_0 + IL_0021: ldstr " " + IL_0026: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_002b: ldloca.s V_0 + IL_002d: ldtoken !!T2 + IL_0032: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0037: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_003c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0041: ldloca.s V_0 + IL_0043: ldstr " " + IL_0048: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_004d: ldloca.s V_0 + IL_004f: ldarg.1 + IL_0050: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0055: ldloca.s V_0 + IL_0057: ldstr " " + IL_005c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0061: ldloca.s V_0 + IL_0063: ldarg.2 + IL_0064: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0069: ldloca.s V_0 + IL_006b: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_0070: ret } // end of method Program::GenName2 .method private hidebysig static string @@ -2626,6 +2939,14 @@ !!T4 d, class IGenInterface`2 igen) cil managed noinlining { + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T3 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T4 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) // Code size 23 (0x17) .maxstack 6 .locals init (valuetype S32 V_0) @@ -2651,6 +2972,10 @@ !!T2 b, class IGenInterface`2 igen) cil managed noinlining { + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) // Code size 20 (0x14) .maxstack 4 .locals init (valuetype S32 V_0) @@ -2765,6 +3090,11 @@ !!T c, valuetype [System.Runtime]System.Span`1 d) cil managed noinlining { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .param type T + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param [3] + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) // Code size 31 (0x1f) .maxstack 14 IL_0000: ldarg.2 @@ -2814,6 +3144,10 @@ valuetype [System.Runtime]System.Span`1 d, int32 result) cil managed noinlining { + .param type T + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param [11] + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) // Code size 31 (0x1f) .maxstack 4 IL_0000: ldarg.s a @@ -2868,6 +3202,8 @@ .class private auto ansi Instance extends [System.Runtime]System.Object { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field private static initonly native int s_calcInstanceCalli .field private static initonly native int s_calcInstanceCalliOther .field private static initonly native int s_calcInstanceCalliRetbuf @@ -3262,65 +3598,80 @@ valuetype SGC2 gc, int32& interior) cil managed noinlining { - // Code size 126 (0x7e) - .maxstack 5 - IL_0000: ldstr "{0} {1} {2} {3} {4} {5} {6} {7} {8}" - IL_0005: ldc.i4.s 9 - IL_0007: newarr [System.Runtime]System.Object - IL_000c: dup - IL_000d: ldc.i4.0 - IL_000e: ldarg.1 - IL_000f: stelem.ref - IL_0010: dup - IL_0011: ldc.i4.1 - IL_0012: ldarg.3 - IL_0013: ldfld int32 SGC2::A - IL_0018: box [System.Runtime]System.Int32 - IL_001d: stelem.ref - IL_001e: dup - IL_001f: ldc.i4.2 + // Code size 243 (0xf3) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.8 + IL_0003: ldc.i4.s 9 + IL_0005: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_000a: ldloca.s V_0 + IL_000c: ldarg.1 + IL_000d: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0012: ldloca.s V_0 + IL_0014: ldstr " " + IL_0019: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_001e: ldloca.s V_0 IL_0020: ldarg.3 - IL_0021: ldfld valuetype SGC SGC2::B - IL_0026: ldfld object SGC::A - IL_002b: stelem.ref - IL_002c: dup - IL_002d: ldc.i4.3 - IL_002e: ldarg.3 - IL_002f: ldfld valuetype SGC SGC2::B - IL_0034: ldfld object SGC::B - IL_0039: stelem.ref - IL_003a: dup - IL_003b: ldc.i4.4 - IL_003c: ldarg.3 - IL_003d: ldfld valuetype SGC SGC2::B - IL_0042: ldfld string SGC::C - IL_0047: stelem.ref - IL_0048: dup - IL_0049: ldc.i4.5 - IL_004a: ldarg.3 - IL_004b: ldfld valuetype SGC SGC2::B - IL_0050: ldfld string SGC::D - IL_0055: stelem.ref - IL_0056: dup - IL_0057: ldc.i4.6 - IL_0058: ldarg.3 - IL_0059: ldfld object SGC2::C - IL_005e: stelem.ref - IL_005f: dup - IL_0060: ldc.i4.7 - IL_0061: ldarg.3 - IL_0062: ldfld int32 SGC2::D - IL_0067: box [System.Runtime]System.Int32 - IL_006c: stelem.ref - IL_006d: dup - IL_006e: ldc.i4.8 - IL_006f: ldarg.s interior - IL_0071: ldind.i4 - IL_0072: box [System.Runtime]System.Int32 - IL_0077: stelem.ref - IL_0078: call string [System.Runtime]System.String::Format(string, - object[]) - IL_007d: ret + IL_0021: ldfld int32 SGC2::A + IL_0026: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_002b: ldloca.s V_0 + IL_002d: ldstr " " + IL_0032: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0037: ldloca.s V_0 + IL_0039: ldarg.3 + IL_003a: ldfld valuetype SGC SGC2::B + IL_003f: ldfld object SGC::A + IL_0044: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0049: ldloca.s V_0 + IL_004b: ldstr " " + IL_0050: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0055: ldloca.s V_0 + IL_0057: ldarg.3 + IL_0058: ldfld valuetype SGC SGC2::B + IL_005d: ldfld object SGC::B + IL_0062: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0067: ldloca.s V_0 + IL_0069: ldstr " " + IL_006e: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0073: ldloca.s V_0 + IL_0075: ldarg.3 + IL_0076: ldfld valuetype SGC SGC2::B + IL_007b: ldfld string SGC::C + IL_0080: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0085: ldloca.s V_0 + IL_0087: ldstr " " + IL_008c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0091: ldloca.s V_0 + IL_0093: ldarg.3 + IL_0094: ldfld valuetype SGC SGC2::B + IL_0099: ldfld string SGC::D + IL_009e: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_00a3: ldloca.s V_0 + IL_00a5: ldstr " " + IL_00aa: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00af: ldloca.s V_0 + IL_00b1: ldarg.3 + IL_00b2: ldfld object SGC2::C + IL_00b7: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00bc: ldloca.s V_0 + IL_00be: ldstr " " + IL_00c3: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00c8: ldloca.s V_0 + IL_00ca: ldarg.3 + IL_00cb: ldfld int32 SGC2::D + IL_00d0: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00d5: ldloca.s V_0 + IL_00d7: ldstr " " + IL_00dc: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00e1: ldloca.s V_0 + IL_00e3: ldarg.s interior + IL_00e5: ldind.i4 + IL_00e6: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00eb: ldloca.s V_0 + IL_00ed: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_00f2: ret } // end of method Instance::GCOther .method public hidebysig specialname rtspecialname @@ -3441,6 +3792,8 @@ .class private auto ansi beforefieldinit ClassImpl extends BaseClass { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field private int32 _x .field private class BaseClass 'k__BackingField' .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -3628,8 +3981,7 @@ IL_0006: ret } // end of method ClassImpl::.ctor - .property instance callconv(8) class BaseClass - Other() + .property instance class BaseClass Other() { .get instance class BaseClass ClassImpl::get_Other() .set instance void ClassImpl::set_Other(class BaseClass) @@ -3670,6 +4022,10 @@ extends [System.Runtime]System.Object implements IInterface { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .interfaceimpl type IInterface + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) .field private int32 _x .field private class IInterface 'k__BackingField' .custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -3857,8 +4213,7 @@ IL_0006: ret } // end of method InterfaceImpl::.ctor - .property instance callconv(8) class IInterface - Other() + .property instance class IInterface Other() { .get instance class IInterface InterfaceImpl::get_Other() .set instance void InterfaceImpl::set_Other(class IInterface) @@ -3868,12 +4223,22 @@ .class private auto ansi beforefieldinit GenInstance`2 extends [System.Runtime]System.Object { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) .method public hidebysig instance string NonVirtForward(!T1 a, !T2 b, !!T3 c, !!T4 d) cil managed noinlining { + .param type T3 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T4 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) // Code size 23 (0x17) .maxstack 6 .locals init (valuetype S32 V_0) @@ -3900,6 +4265,10 @@ !!T3 c, !!T4 d) cil managed noinlining { + .param type T3 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T4 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) // Code size 23 (0x17) .maxstack 6 .locals init (valuetype S32 V_0) @@ -3927,58 +4296,74 @@ !!T3 c, !!T4 d) cil managed { - // Code size 127 (0x7f) - .maxstack 5 - IL_0000: ldstr "{0} {1} {2} {3} {4} {5} {6} {7}" - IL_0005: ldc.i4.8 - IL_0006: newarr [System.Runtime]System.Object - IL_000b: dup - IL_000c: ldc.i4.0 - IL_000d: ldtoken !T1 - IL_0012: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0017: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_001c: stelem.ref - IL_001d: dup - IL_001e: ldc.i4.1 - IL_001f: ldtoken !T2 - IL_0024: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0029: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_002e: stelem.ref - IL_002f: dup - IL_0030: ldc.i4.2 - IL_0031: ldtoken !!T3 - IL_0036: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_003b: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_0040: stelem.ref - IL_0041: dup - IL_0042: ldc.i4.3 - IL_0043: ldtoken !!T4 - IL_0048: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_004d: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_0052: stelem.ref - IL_0053: dup - IL_0054: ldc.i4.4 - IL_0055: ldarg.2 - IL_0056: box !T1 - IL_005b: stelem.ref - IL_005c: dup - IL_005d: ldc.i4.5 - IL_005e: ldarg.3 - IL_005f: box !T2 - IL_0064: stelem.ref - IL_0065: dup - IL_0066: ldc.i4.6 - IL_0067: ldarg.s c - IL_0069: box !!T3 - IL_006e: stelem.ref - IL_006f: dup - IL_0070: ldc.i4.7 - IL_0071: ldarg.s d - IL_0073: box !!T4 - IL_0078: stelem.ref - IL_0079: call string [System.Runtime]System.String::Format(string, - object[]) - IL_007e: ret + .param type T3 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T4 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + // Code size 223 (0xdf) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.7 + IL_0003: ldc.i4.8 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldtoken !T1 + IL_0010: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0015: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_001a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_001f: ldloca.s V_0 + IL_0021: ldstr " " + IL_0026: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_002b: ldloca.s V_0 + IL_002d: ldtoken !T2 + IL_0032: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0037: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_003c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0041: ldloca.s V_0 + IL_0043: ldstr " " + IL_0048: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_004d: ldloca.s V_0 + IL_004f: ldtoken !!T3 + IL_0054: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0059: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_005e: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0063: ldloca.s V_0 + IL_0065: ldstr " " + IL_006a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_006f: ldloca.s V_0 + IL_0071: ldtoken !!T4 + IL_0076: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_007b: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_0080: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0085: ldloca.s V_0 + IL_0087: ldstr " " + IL_008c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0091: ldloca.s V_0 + IL_0093: ldarg.2 + IL_0094: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0099: ldloca.s V_0 + IL_009b: ldstr " " + IL_00a0: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00a5: ldloca.s V_0 + IL_00a7: ldarg.3 + IL_00a8: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00ad: ldloca.s V_0 + IL_00af: ldstr " " + IL_00b4: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00b9: ldloca.s V_0 + IL_00bb: ldarg.s c + IL_00bd: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00c2: ldloca.s V_0 + IL_00c4: ldstr " " + IL_00c9: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00ce: ldloca.s V_0 + IL_00d0: ldarg.s d + IL_00d2: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00d7: ldloca.s V_0 + IL_00d9: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_00de: ret } // end of method GenInstance`2::NonVirt .method public hidebysig newslot virtual @@ -3988,58 +4373,74 @@ !!T3 c, !!T4 d) cil managed { - // Code size 127 (0x7f) - .maxstack 5 - IL_0000: ldstr "{0} {1} {2} {3} {4} {5} {6} {7}" - IL_0005: ldc.i4.8 - IL_0006: newarr [System.Runtime]System.Object - IL_000b: dup - IL_000c: ldc.i4.0 - IL_000d: ldtoken !T1 - IL_0012: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0017: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_001c: stelem.ref - IL_001d: dup - IL_001e: ldc.i4.1 - IL_001f: ldtoken !T2 - IL_0024: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0029: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_002e: stelem.ref - IL_002f: dup - IL_0030: ldc.i4.2 - IL_0031: ldtoken !!T3 - IL_0036: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_003b: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_0040: stelem.ref - IL_0041: dup - IL_0042: ldc.i4.3 - IL_0043: ldtoken !!T4 - IL_0048: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_004d: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_0052: stelem.ref - IL_0053: dup - IL_0054: ldc.i4.4 - IL_0055: ldarg.2 - IL_0056: box !T1 - IL_005b: stelem.ref - IL_005c: dup - IL_005d: ldc.i4.5 - IL_005e: ldarg.3 - IL_005f: box !T2 - IL_0064: stelem.ref - IL_0065: dup - IL_0066: ldc.i4.6 - IL_0067: ldarg.s c - IL_0069: box !!T3 - IL_006e: stelem.ref - IL_006f: dup - IL_0070: ldc.i4.7 - IL_0071: ldarg.s d - IL_0073: box !!T4 - IL_0078: stelem.ref - IL_0079: call string [System.Runtime]System.String::Format(string, - object[]) - IL_007e: ret + .param type T3 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T4 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + // Code size 223 (0xdf) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.7 + IL_0003: ldc.i4.8 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldtoken !T1 + IL_0010: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0015: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_001a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_001f: ldloca.s V_0 + IL_0021: ldstr " " + IL_0026: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_002b: ldloca.s V_0 + IL_002d: ldtoken !T2 + IL_0032: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0037: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_003c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0041: ldloca.s V_0 + IL_0043: ldstr " " + IL_0048: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_004d: ldloca.s V_0 + IL_004f: ldtoken !!T3 + IL_0054: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0059: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_005e: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0063: ldloca.s V_0 + IL_0065: ldstr " " + IL_006a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_006f: ldloca.s V_0 + IL_0071: ldtoken !!T4 + IL_0076: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_007b: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_0080: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0085: ldloca.s V_0 + IL_0087: ldstr " " + IL_008c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0091: ldloca.s V_0 + IL_0093: ldarg.2 + IL_0094: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0099: ldloca.s V_0 + IL_009b: ldstr " " + IL_00a0: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00a5: ldloca.s V_0 + IL_00a7: ldarg.3 + IL_00a8: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00ad: ldloca.s V_0 + IL_00af: ldstr " " + IL_00b4: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00b9: ldloca.s V_0 + IL_00bb: ldarg.s c + IL_00bd: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00c2: ldloca.s V_0 + IL_00c4: ldstr " " + IL_00c9: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00ce: ldloca.s V_0 + IL_00d0: ldarg.s d + IL_00d2: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00d7: ldloca.s V_0 + IL_00d9: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_00de: ret } // end of method GenInstance`2::Virt .method public hidebysig specialname rtspecialname @@ -4056,6 +4457,11 @@ .class interface private abstract auto ansi IGenInterface`2 { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) .method public hidebysig newslot abstract virtual instance string F(valuetype S32 s, !T1 a, @@ -4063,6 +4469,10 @@ !!T3 c, !!T4 d) cil managed { + .param type T3 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T4 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) } // end of method IGenInterface`2::F .method public hidebysig newslot abstract virtual @@ -4078,6 +4488,14 @@ extends [System.Runtime]System.Object implements class IGenInterface`2 { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .interfaceimpl type class IGenInterface`2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8[]) = ( 01 00 03 00 00 00 00 01 01 00 00 ) + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) .method public hidebysig newslot virtual final instance string F(valuetype S32 s, !T1 a, @@ -4085,58 +4503,74 @@ !!T3 c, !!T4 d) cil managed { - // Code size 127 (0x7f) - .maxstack 5 - IL_0000: ldstr "{0} {1} {2} {3} {4} {5} {6} {7}" - IL_0005: ldc.i4.8 - IL_0006: newarr [System.Runtime]System.Object - IL_000b: dup - IL_000c: ldc.i4.0 - IL_000d: ldtoken !T1 - IL_0012: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0017: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_001c: stelem.ref - IL_001d: dup - IL_001e: ldc.i4.1 - IL_001f: ldtoken !T2 - IL_0024: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0029: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_002e: stelem.ref - IL_002f: dup - IL_0030: ldc.i4.2 - IL_0031: ldtoken !!T3 - IL_0036: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_003b: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_0040: stelem.ref - IL_0041: dup - IL_0042: ldc.i4.3 - IL_0043: ldtoken !!T4 - IL_0048: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_004d: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_0052: stelem.ref - IL_0053: dup - IL_0054: ldc.i4.4 - IL_0055: ldarg.2 - IL_0056: box !T1 - IL_005b: stelem.ref - IL_005c: dup - IL_005d: ldc.i4.5 - IL_005e: ldarg.3 - IL_005f: box !T2 - IL_0064: stelem.ref - IL_0065: dup - IL_0066: ldc.i4.6 - IL_0067: ldarg.s c - IL_0069: box !!T3 - IL_006e: stelem.ref - IL_006f: dup - IL_0070: ldc.i4.7 - IL_0071: ldarg.s d - IL_0073: box !!T4 - IL_0078: stelem.ref - IL_0079: call string [System.Runtime]System.String::Format(string, - object[]) - IL_007e: ret + .param type T3 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + .param type T4 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) + // Code size 223 (0xdf) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.7 + IL_0003: ldc.i4.8 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldtoken !T1 + IL_0010: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0015: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_001a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_001f: ldloca.s V_0 + IL_0021: ldstr " " + IL_0026: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_002b: ldloca.s V_0 + IL_002d: ldtoken !T2 + IL_0032: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0037: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_003c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0041: ldloca.s V_0 + IL_0043: ldstr " " + IL_0048: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_004d: ldloca.s V_0 + IL_004f: ldtoken !!T3 + IL_0054: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0059: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_005e: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0063: ldloca.s V_0 + IL_0065: ldstr " " + IL_006a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_006f: ldloca.s V_0 + IL_0071: ldtoken !!T4 + IL_0076: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_007b: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_0080: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0085: ldloca.s V_0 + IL_0087: ldstr " " + IL_008c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0091: ldloca.s V_0 + IL_0093: ldarg.2 + IL_0094: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0099: ldloca.s V_0 + IL_009b: ldstr " " + IL_00a0: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00a5: ldloca.s V_0 + IL_00a7: ldarg.3 + IL_00a8: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00ad: ldloca.s V_0 + IL_00af: ldstr " " + IL_00b4: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00b9: ldloca.s V_0 + IL_00bb: ldarg.s c + IL_00bd: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00c2: ldloca.s V_0 + IL_00c4: ldstr " " + IL_00c9: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_00ce: ldloca.s V_0 + IL_00d0: ldarg.s d + IL_00d2: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_00d7: ldloca.s V_0 + IL_00d9: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_00de: ret } // end of method GenInterfaceImpl`2::F .method public hidebysig newslot virtual final @@ -4144,36 +4578,42 @@ !T1 a, !T2 b) cil managed { - // Code size 71 (0x47) - .maxstack 5 - IL_0000: ldstr "{0} {1} {2} {3}" - IL_0005: ldc.i4.4 - IL_0006: newarr [System.Runtime]System.Object - IL_000b: dup - IL_000c: ldc.i4.0 - IL_000d: ldtoken !T1 - IL_0012: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0017: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_001c: stelem.ref - IL_001d: dup - IL_001e: ldc.i4.1 - IL_001f: ldtoken !T2 - IL_0024: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) - IL_0029: callvirt instance string [System.Runtime]System.Type::get_FullName() - IL_002e: stelem.ref - IL_002f: dup - IL_0030: ldc.i4.2 - IL_0031: ldarg.2 - IL_0032: box !T1 - IL_0037: stelem.ref - IL_0038: dup - IL_0039: ldc.i4.3 - IL_003a: ldarg.3 - IL_003b: box !T2 - IL_0040: stelem.ref - IL_0041: call string [System.Runtime]System.String::Format(string, - object[]) - IL_0046: ret + // Code size 113 (0x71) + .maxstack 3 + .locals init (valuetype [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler V_0) + IL_0000: ldloca.s V_0 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.4 + IL_0004: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::.ctor(int32, + int32) + IL_0009: ldloca.s V_0 + IL_000b: ldtoken !T1 + IL_0010: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0015: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_001a: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_001f: ldloca.s V_0 + IL_0021: ldstr " " + IL_0026: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_002b: ldloca.s V_0 + IL_002d: ldtoken !T2 + IL_0032: call class [System.Runtime]System.Type [System.Runtime]System.Type::GetTypeFromHandle(valuetype [System.Runtime]System.RuntimeTypeHandle) + IL_0037: callvirt instance string [System.Runtime]System.Type::get_FullName() + IL_003c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(string) + IL_0041: ldloca.s V_0 + IL_0043: ldstr " " + IL_0048: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_004d: ldloca.s V_0 + IL_004f: ldarg.2 + IL_0050: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0055: ldloca.s V_0 + IL_0057: ldstr " " + IL_005c: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendLiteral(string) + IL_0061: ldloca.s V_0 + IL_0063: ldarg.3 + IL_0064: call instance void [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::AppendFormatted(!!0) + IL_0069: ldloca.s V_0 + IL_006b: call instance string [System.Runtime]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler::ToStringAndClear() + IL_0070: ret } // end of method GenInterfaceImpl`2::G .method public hidebysig specialname rtspecialname @@ -4191,9 +4631,15 @@ .class private abstract auto ansi beforefieldinit GenAbstract`1 extends [System.Runtime]System.Object { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 00 00 00 ) + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) .method public hidebysig newslot abstract virtual instance string F() cil managed { + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) } // end of method GenAbstract`1::F .method public hidebysig newslot abstract virtual @@ -4216,9 +4662,15 @@ .class private auto ansi beforefieldinit GenAbstractImpl`1 extends class GenAbstract`1 { + .custom instance void System.Runtime.CompilerServices.NullableContextAttribute::.ctor(uint8) = ( 01 00 01 00 00 ) + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8[]) = ( 01 00 02 00 00 00 00 01 00 00 ) + .param type T1 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) .method public hidebysig virtual instance string F() cil managed { + .param type T2 + .custom instance void System.Runtime.CompilerServices.NullableAttribute::.ctor(uint8) = ( 01 00 02 00 00 ) // Code size 41 (0x29) .maxstack 8 IL_0000: ldtoken !T1 @@ -4265,12 +4717,11 @@ .class private auto ansi more_tailcalls_ProcessedByFody extends [System.Runtime]System.Object { - .field static assembly literal string FodyVersion = "6.2.4.0" - .field static assembly literal string InlineIL = "1.5.0.0" + .field static assembly literal string FodyVersion = "6.6.4.0" + .field static assembly literal string InlineIL = "1.7.4.0" } // end of class more_tailcalls_ProcessedByFody // ============================================================= // *********** DISASSEMBLY COMPLETE *********************** -// WARNING: Created Win32 resource file more_tailcalls.res