.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1126 lines
46 KiB

// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly CS6_StringInterpolation
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 )
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module CS6_StringInterpolation.exe
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// =============== CLASS MEMBERS DECLARATION ===================
.class private auto ansi beforefieldinit ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation
extends [mscorlib]System.Object
{
.method public hidebysig static void Main(string[] args) cil managed
{
.entrypoint
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CS6_StringInterpolation::Main
.method public hidebysig static void General(string[] args) cil managed
{
// Code size 288 (0x120)
.maxstack 6
IL_0000: nop
IL_0001: ldstr "{0}"
IL_0006: ldarg.0
IL_0007: ldlen
IL_0008: conv.i4
IL_0009: box [mscorlib]System.Int32
IL_000e: call string [mscorlib]System.String::Format(string,
object)
IL_0013: call void [mscorlib]System.Console::WriteLine(string)
IL_0018: nop
IL_0019: ldstr "a{{0{0}"
IL_001e: ldarg.0
IL_001f: ldlen
IL_0020: conv.i4
IL_0021: box [mscorlib]System.Int32
IL_0026: call string [mscorlib]System.String::Format(string,
object)
IL_002b: call void [mscorlib]System.Console::WriteLine(string)
IL_0030: nop
IL_0031: ldstr "{0:x}"
IL_0036: ldarg.0
IL_0037: ldlen
IL_0038: conv.i4
IL_0039: box [mscorlib]System.Int32
IL_003e: call string [mscorlib]System.String::Format(string,
object)
IL_0043: call void [mscorlib]System.Console::WriteLine(string)
IL_0048: nop
IL_0049: ldstr "\ta{0}b"
IL_004e: ldarg.0
IL_004f: ldlen
IL_0050: conv.i4
IL_0051: box [mscorlib]System.Int32
IL_0056: call string [mscorlib]System.String::Format(string,
object)
IL_005b: call void [mscorlib]System.Console::WriteLine(string)
IL_0060: nop
IL_0061: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_0066: ldc.i4.4
IL_0067: newarr [mscorlib]System.Object
IL_006c: dup
IL_006d: ldc.i4.0
IL_006e: ldarg.0
IL_006f: ldlen
IL_0070: conv.i4
IL_0071: box [mscorlib]System.Int32
IL_0076: stelem.ref
IL_0077: dup
IL_0078: ldc.i4.1
IL_0079: ldarg.0
IL_007a: ldc.i4.0
IL_007b: ldelem.ref
IL_007c: stelem.ref
IL_007d: dup
IL_007e: ldc.i4.2
IL_007f: ldarg.0
IL_0080: ldarg.0
IL_0081: ldlen
IL_0082: conv.i4
IL_0083: ldelem.ref
IL_0084: stelem.ref
IL_0085: dup
IL_0086: ldc.i4.3
IL_0087: ldarg.0
IL_0088: ldlen
IL_0089: conv.i4
IL_008a: box [mscorlib]System.Int32
IL_008f: stelem.ref
IL_0090: call string [mscorlib]System.String::Format(string,
object[])
IL_0095: call void [mscorlib]System.Console::WriteLine(string)
IL_009a: nop
IL_009b: ldstr "\ta{0}"
IL_00a0: ldarg.0
IL_00a1: ldlen
IL_00a2: brtrue.s IL_00a7
IL_00a4: ldc.i4.0
IL_00a5: br.s IL_00a8
IL_00a7: ldc.i4.5
IL_00a8: box [mscorlib]System.Int32
IL_00ad: call string [mscorlib]System.String::Format(string,
object)
IL_00b2: call void [mscorlib]System.Console::WriteLine(string)
IL_00b7: nop
IL_00b8: ldstr "\ta{0}"
IL_00bd: ldarg.0
IL_00be: dup
IL_00bf: brtrue.s IL_00c3
IL_00c1: pop
IL_00c2: ldarg.0
IL_00c3: call string [mscorlib]System.String::Format(string,
object)
IL_00c8: call void [mscorlib]System.Console::WriteLine(string)
IL_00cd: nop
IL_00ce: ldstr "\ta{0}"
IL_00d3: ldarg.0
IL_00d4: ldc.i4.0
IL_00d5: ldelem.ref
IL_00d6: ldc.i4.0
IL_00d7: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_00dc: ldc.i4.s 97
IL_00de: ceq
IL_00e0: box [mscorlib]System.Boolean
IL_00e5: call string [mscorlib]System.String::Format(string,
object)
IL_00ea: call void [mscorlib]System.Console::WriteLine(string)
IL_00ef: nop
IL_00f0: ldstr "\ta{0}"
IL_00f5: ldstr "a{0}"
IL_00fa: ldarg.0
IL_00fb: ldlen
IL_00fc: conv.i4
IL_00fd: box [mscorlib]System.Int32
IL_0102: call string [mscorlib]System.String::Format(string,
object)
IL_0107: ldarg.0
IL_0108: ldc.i4.0
IL_0109: ldelem.ref
IL_010a: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_010f: box [mscorlib]System.Boolean
IL_0114: call string [mscorlib]System.String::Format(string,
object)
IL_0119: call void [mscorlib]System.Console::WriteLine(string)
IL_011e: nop
IL_011f: ret
} // end of method CS6_StringInterpolation::General
.method public hidebysig static void ArrayExpansionSpecialCases(object[] args) cil managed
{
// Code size 36 (0x24)
.maxstack 8
IL_0000: nop
IL_0001: ldstr "args: {0}"
IL_0006: ldarg.0
IL_0007: call string [mscorlib]System.String::Format(string,
object)
IL_000c: call void [mscorlib]System.Console::WriteLine(string)
IL_0011: nop
IL_0012: ldstr "args: {0}"
IL_0017: ldarg.0
IL_0018: call string [mscorlib]System.String::Format(string,
object[])
IL_001d: call void [mscorlib]System.Console::WriteLine(string)
IL_0022: nop
IL_0023: ret
} // end of method CS6_StringInterpolation::ArrayExpansionSpecialCases
.method public hidebysig static void InvalidFormatString(string[] args) cil managed
{
// Code size 581 (0x245)
.maxstack 3
IL_0000: nop
IL_0001: ldstr ""
IL_0006: ldarg.0
IL_0007: ldlen
IL_0008: conv.i4
IL_0009: box [mscorlib]System.Int32
IL_000e: call string [mscorlib]System.String::Format(string,
object)
IL_0013: call void [mscorlib]System.Console::WriteLine(string)
IL_0018: nop
IL_0019: ldstr "a"
IL_001e: ldarg.0
IL_001f: ldlen
IL_0020: conv.i4
IL_0021: box [mscorlib]System.Int32
IL_0026: call string [mscorlib]System.String::Format(string,
object)
IL_002b: call void [mscorlib]System.Console::WriteLine(string)
IL_0030: nop
IL_0031: ldstr "}"
IL_0036: ldarg.0
IL_0037: ldlen
IL_0038: conv.i4
IL_0039: box [mscorlib]System.Int32
IL_003e: call string [mscorlib]System.String::Format(string,
object)
IL_0043: call void [mscorlib]System.Console::WriteLine(string)
IL_0048: nop
IL_0049: ldstr "{"
IL_004e: ldarg.0
IL_004f: ldlen
IL_0050: conv.i4
IL_0051: box [mscorlib]System.Int32
IL_0056: call string [mscorlib]System.String::Format(string,
object)
IL_005b: call void [mscorlib]System.Console::WriteLine(string)
IL_0060: nop
IL_0061: ldstr ":"
IL_0066: ldarg.0
IL_0067: ldlen
IL_0068: conv.i4
IL_0069: box [mscorlib]System.Int32
IL_006e: call string [mscorlib]System.String::Format(string,
object)
IL_0073: call void [mscorlib]System.Console::WriteLine(string)
IL_0078: nop
IL_0079: ldstr "\t"
IL_007e: ldarg.0
IL_007f: ldlen
IL_0080: conv.i4
IL_0081: box [mscorlib]System.Int32
IL_0086: call string [mscorlib]System.String::Format(string,
object)
IL_008b: call void [mscorlib]System.Console::WriteLine(string)
IL_0090: nop
IL_0091: ldstr "\\"
IL_0096: ldarg.0
IL_0097: ldlen
IL_0098: conv.i4
IL_0099: box [mscorlib]System.Int32
IL_009e: call string [mscorlib]System.String::Format(string,
object)
IL_00a3: call void [mscorlib]System.Console::WriteLine(string)
IL_00a8: nop
IL_00a9: ldstr "\""
IL_00ae: ldarg.0
IL_00af: ldlen
IL_00b0: conv.i4
IL_00b1: box [mscorlib]System.Int32
IL_00b6: call string [mscorlib]System.String::Format(string,
object)
IL_00bb: call void [mscorlib]System.Console::WriteLine(string)
IL_00c0: nop
IL_00c1: ldstr "aa"
IL_00c6: ldarg.0
IL_00c7: ldlen
IL_00c8: conv.i4
IL_00c9: box [mscorlib]System.Int32
IL_00ce: call string [mscorlib]System.String::Format(string,
object)
IL_00d3: call void [mscorlib]System.Console::WriteLine(string)
IL_00d8: nop
IL_00d9: ldstr "a}"
IL_00de: ldarg.0
IL_00df: ldlen
IL_00e0: conv.i4
IL_00e1: box [mscorlib]System.Int32
IL_00e6: call string [mscorlib]System.String::Format(string,
object)
IL_00eb: call void [mscorlib]System.Console::WriteLine(string)
IL_00f0: nop
IL_00f1: ldstr "a{"
IL_00f6: ldarg.0
IL_00f7: ldlen
IL_00f8: conv.i4
IL_00f9: box [mscorlib]System.Int32
IL_00fe: call string [mscorlib]System.String::Format(string,
object)
IL_0103: call void [mscorlib]System.Console::WriteLine(string)
IL_0108: nop
IL_0109: ldstr "a:"
IL_010e: ldarg.0
IL_010f: ldlen
IL_0110: conv.i4
IL_0111: box [mscorlib]System.Int32
IL_0116: call string [mscorlib]System.String::Format(string,
object)
IL_011b: call void [mscorlib]System.Console::WriteLine(string)
IL_0120: nop
IL_0121: ldstr "a\t"
IL_0126: ldarg.0
IL_0127: ldlen
IL_0128: conv.i4
IL_0129: box [mscorlib]System.Int32
IL_012e: call string [mscorlib]System.String::Format(string,
object)
IL_0133: call void [mscorlib]System.Console::WriteLine(string)
IL_0138: nop
IL_0139: ldstr "a\\"
IL_013e: ldarg.0
IL_013f: ldlen
IL_0140: conv.i4
IL_0141: box [mscorlib]System.Int32
IL_0146: call string [mscorlib]System.String::Format(string,
object)
IL_014b: call void [mscorlib]System.Console::WriteLine(string)
IL_0150: nop
IL_0151: ldstr "a\""
IL_0156: ldarg.0
IL_0157: ldlen
IL_0158: conv.i4
IL_0159: box [mscorlib]System.Int32
IL_015e: call string [mscorlib]System.String::Format(string,
object)
IL_0163: call void [mscorlib]System.Console::WriteLine(string)
IL_0168: nop
IL_0169: ldstr "a{:"
IL_016e: ldarg.0
IL_016f: ldlen
IL_0170: conv.i4
IL_0171: box [mscorlib]System.Int32
IL_0176: call string [mscorlib]System.String::Format(string,
object)
IL_017b: call void [mscorlib]System.Console::WriteLine(string)
IL_0180: nop
IL_0181: ldstr "a{0"
IL_0186: ldarg.0
IL_0187: ldlen
IL_0188: conv.i4
IL_0189: box [mscorlib]System.Int32
IL_018e: call string [mscorlib]System.String::Format(string,
object)
IL_0193: call void [mscorlib]System.Console::WriteLine(string)
IL_0198: nop
IL_0199: ldstr "a{{0"
IL_019e: ldarg.0
IL_019f: ldlen
IL_01a0: conv.i4
IL_01a1: box [mscorlib]System.Int32
IL_01a6: call string [mscorlib]System.String::Format(string,
object)
IL_01ab: call void [mscorlib]System.Console::WriteLine(string)
IL_01b0: nop
IL_01b1: ldstr "}a{{0"
IL_01b6: ldarg.0
IL_01b7: ldlen
IL_01b8: conv.i4
IL_01b9: box [mscorlib]System.Int32
IL_01be: call string [mscorlib]System.String::Format(string,
object)
IL_01c3: call void [mscorlib]System.Console::WriteLine(string)
IL_01c8: nop
IL_01c9: ldstr "}{"
IL_01ce: ldarg.0
IL_01cf: ldlen
IL_01d0: conv.i4
IL_01d1: box [mscorlib]System.Int32
IL_01d6: call string [mscorlib]System.String::Format(string,
object)
IL_01db: call void [mscorlib]System.Console::WriteLine(string)
IL_01e0: nop
IL_01e1: ldstr "{}"
IL_01e6: ldarg.0
IL_01e7: ldlen
IL_01e8: conv.i4
IL_01e9: box [mscorlib]System.Int32
IL_01ee: call string [mscorlib]System.String::Format(string,
object)
IL_01f3: call void [mscorlib]System.Console::WriteLine(string)
IL_01f8: nop
IL_01f9: ldstr "{0:}"
IL_01fe: ldarg.0
IL_01ff: ldlen
IL_0200: conv.i4
IL_0201: box [mscorlib]System.Int32
IL_0206: call string [mscorlib]System.String::Format(string,
object)
IL_020b: call void [mscorlib]System.Console::WriteLine(string)
IL_0210: nop
IL_0211: ldstr "{0{a}0}"
IL_0216: ldarg.0
IL_0217: ldlen
IL_0218: conv.i4
IL_0219: box [mscorlib]System.Int32
IL_021e: call string [mscorlib]System.String::Format(string,
object)
IL_0223: call void [mscorlib]System.Console::WriteLine(string)
IL_0228: nop
IL_0229: ldstr "test: {0}"
IL_022e: ldstr ","
IL_0233: ldarg.0
IL_0234: call string [mscorlib]System.String::Join(string,
string[])
IL_0239: call string [mscorlib]System.String::Format(string,
object)
IL_023e: call void [mscorlib]System.Console::WriteLine(string)
IL_0243: nop
IL_0244: ret
} // end of method CS6_StringInterpolation::InvalidFormatString
.method public hidebysig instance void
FormattableStrings(class [mscorlib]System.FormattableString s,
string[] args) cil managed
{
// Code size 1353 (0x549)
.maxstack 8
IL_0000: nop
IL_0001: ldstr "{0}"
IL_0006: ldc.i4.1
IL_0007: newarr [mscorlib]System.Object
IL_000c: dup
IL_000d: ldc.i4.0
IL_000e: ldarg.2
IL_000f: ldlen
IL_0010: conv.i4
IL_0011: box [mscorlib]System.Int32
IL_0016: stelem.ref
IL_0017: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_001c: starg.s s
IL_001e: ldstr "a{{0{0}"
IL_0023: ldc.i4.1
IL_0024: newarr [mscorlib]System.Object
IL_0029: dup
IL_002a: ldc.i4.0
IL_002b: ldarg.2
IL_002c: ldlen
IL_002d: conv.i4
IL_002e: box [mscorlib]System.Int32
IL_0033: stelem.ref
IL_0034: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0039: starg.s s
IL_003b: ldstr "{0:x}"
IL_0040: ldc.i4.1
IL_0041: newarr [mscorlib]System.Object
IL_0046: dup
IL_0047: ldc.i4.0
IL_0048: ldarg.2
IL_0049: ldlen
IL_004a: conv.i4
IL_004b: box [mscorlib]System.Int32
IL_0050: stelem.ref
IL_0051: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0056: starg.s s
IL_0058: ldstr "\ta{0}b"
IL_005d: ldc.i4.1
IL_005e: newarr [mscorlib]System.Object
IL_0063: dup
IL_0064: ldc.i4.0
IL_0065: ldarg.2
IL_0066: ldlen
IL_0067: conv.i4
IL_0068: box [mscorlib]System.Int32
IL_006d: stelem.ref
IL_006e: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0073: starg.s s
IL_0075: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_007a: ldc.i4.4
IL_007b: newarr [mscorlib]System.Object
IL_0080: dup
IL_0081: ldc.i4.0
IL_0082: ldarg.2
IL_0083: ldlen
IL_0084: conv.i4
IL_0085: box [mscorlib]System.Int32
IL_008a: stelem.ref
IL_008b: dup
IL_008c: ldc.i4.1
IL_008d: ldarg.2
IL_008e: ldc.i4.0
IL_008f: ldelem.ref
IL_0090: stelem.ref
IL_0091: dup
IL_0092: ldc.i4.2
IL_0093: ldarg.2
IL_0094: ldarg.2
IL_0095: ldlen
IL_0096: conv.i4
IL_0097: ldelem.ref
IL_0098: stelem.ref
IL_0099: dup
IL_009a: ldc.i4.3
IL_009b: ldarg.2
IL_009c: ldlen
IL_009d: conv.i4
IL_009e: box [mscorlib]System.Int32
IL_00a3: stelem.ref
IL_00a4: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_00a9: starg.s s
IL_00ab: ldstr "\ta{0}"
IL_00b0: ldc.i4.1
IL_00b1: newarr [mscorlib]System.Object
IL_00b6: dup
IL_00b7: ldc.i4.0
IL_00b8: ldarg.2
IL_00b9: ldlen
IL_00ba: brtrue.s IL_00bf
IL_00bc: ldc.i4.0
IL_00bd: br.s IL_00c0
IL_00bf: ldc.i4.5
IL_00c0: box [mscorlib]System.Int32
IL_00c5: stelem.ref
IL_00c6: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_00cb: starg.s s
IL_00cd: ldstr "\ta{0}"
IL_00d2: ldc.i4.1
IL_00d3: newarr [mscorlib]System.Object
IL_00d8: dup
IL_00d9: ldc.i4.0
IL_00da: ldarg.2
IL_00db: dup
IL_00dc: brtrue.s IL_00e0
IL_00de: pop
IL_00df: ldarg.2
IL_00e0: stelem.ref
IL_00e1: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_00e6: starg.s s
IL_00e8: ldstr "\ta{0}"
IL_00ed: ldc.i4.1
IL_00ee: newarr [mscorlib]System.Object
IL_00f3: dup
IL_00f4: ldc.i4.0
IL_00f5: ldarg.2
IL_00f6: ldc.i4.0
IL_00f7: ldelem.ref
IL_00f8: ldc.i4.0
IL_00f9: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_00fe: ldc.i4.s 97
IL_0100: ceq
IL_0102: box [mscorlib]System.Boolean
IL_0107: stelem.ref
IL_0108: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_010d: starg.s s
IL_010f: ldstr "\ta{0}"
IL_0114: ldc.i4.1
IL_0115: newarr [mscorlib]System.Object
IL_011a: dup
IL_011b: ldc.i4.0
IL_011c: ldstr "a{0}"
IL_0121: ldarg.2
IL_0122: ldlen
IL_0123: conv.i4
IL_0124: box [mscorlib]System.Int32
IL_0129: call string [mscorlib]System.String::Format(string,
object)
IL_012e: ldarg.2
IL_012f: ldc.i4.0
IL_0130: ldelem.ref
IL_0131: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_0136: box [mscorlib]System.Boolean
IL_013b: stelem.ref
IL_013c: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0141: starg.s s
IL_0143: ldarg.0
IL_0144: ldstr "{0}"
IL_0149: ldarg.2
IL_014a: ldlen
IL_014b: conv.i4
IL_014c: box [mscorlib]System.Int32
IL_0151: call string [mscorlib]System.String::Format(string,
object)
IL_0156: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_015b: nop
IL_015c: ldarg.0
IL_015d: ldstr "a{{0{0}"
IL_0162: ldarg.2
IL_0163: ldlen
IL_0164: conv.i4
IL_0165: box [mscorlib]System.Int32
IL_016a: call string [mscorlib]System.String::Format(string,
object)
IL_016f: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_0174: nop
IL_0175: ldarg.0
IL_0176: ldstr "{0:x}"
IL_017b: ldarg.2
IL_017c: ldlen
IL_017d: conv.i4
IL_017e: box [mscorlib]System.Int32
IL_0183: call string [mscorlib]System.String::Format(string,
object)
IL_0188: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_018d: nop
IL_018e: ldarg.0
IL_018f: ldstr "\ta{0}b"
IL_0194: ldarg.2
IL_0195: ldlen
IL_0196: conv.i4
IL_0197: box [mscorlib]System.Int32
IL_019c: call string [mscorlib]System.String::Format(string,
object)
IL_01a1: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_01a6: nop
IL_01a7: ldarg.0
IL_01a8: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_01ad: ldc.i4.4
IL_01ae: newarr [mscorlib]System.Object
IL_01b3: dup
IL_01b4: ldc.i4.0
IL_01b5: ldarg.2
IL_01b6: ldlen
IL_01b7: conv.i4
IL_01b8: box [mscorlib]System.Int32
IL_01bd: stelem.ref
IL_01be: dup
IL_01bf: ldc.i4.1
IL_01c0: ldarg.2
IL_01c1: ldc.i4.0
IL_01c2: ldelem.ref
IL_01c3: stelem.ref
IL_01c4: dup
IL_01c5: ldc.i4.2
IL_01c6: ldarg.2
IL_01c7: ldarg.2
IL_01c8: ldlen
IL_01c9: conv.i4
IL_01ca: ldelem.ref
IL_01cb: stelem.ref
IL_01cc: dup
IL_01cd: ldc.i4.3
IL_01ce: ldarg.2
IL_01cf: ldlen
IL_01d0: conv.i4
IL_01d1: box [mscorlib]System.Int32
IL_01d6: stelem.ref
IL_01d7: call string [mscorlib]System.String::Format(string,
object[])
IL_01dc: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_01e1: nop
IL_01e2: ldarg.0
IL_01e3: ldstr "\ta{0}"
IL_01e8: ldarg.2
IL_01e9: ldlen
IL_01ea: brtrue.s IL_01ef
IL_01ec: ldc.i4.0
IL_01ed: br.s IL_01f0
IL_01ef: ldc.i4.5
IL_01f0: box [mscorlib]System.Int32
IL_01f5: call string [mscorlib]System.String::Format(string,
object)
IL_01fa: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_01ff: nop
IL_0200: ldarg.0
IL_0201: ldstr "\ta{0}"
IL_0206: ldarg.2
IL_0207: dup
IL_0208: brtrue.s IL_020c
IL_020a: pop
IL_020b: ldarg.2
IL_020c: call string [mscorlib]System.String::Format(string,
object)
IL_0211: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_0216: nop
IL_0217: ldarg.0
IL_0218: ldstr "\ta{0}"
IL_021d: ldarg.2
IL_021e: ldc.i4.0
IL_021f: ldelem.ref
IL_0220: ldc.i4.0
IL_0221: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_0226: ldc.i4.s 97
IL_0228: ceq
IL_022a: box [mscorlib]System.Boolean
IL_022f: call string [mscorlib]System.String::Format(string,
object)
IL_0234: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_0239: nop
IL_023a: ldarg.0
IL_023b: ldstr "\ta{0}"
IL_0240: ldstr "a{0}"
IL_0245: ldarg.2
IL_0246: ldlen
IL_0247: conv.i4
IL_0248: box [mscorlib]System.Int32
IL_024d: call string [mscorlib]System.String::Format(string,
object)
IL_0252: ldarg.2
IL_0253: ldc.i4.0
IL_0254: ldelem.ref
IL_0255: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_025a: box [mscorlib]System.Boolean
IL_025f: call string [mscorlib]System.String::Format(string,
object)
IL_0264: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_0269: nop
IL_026a: ldarg.0
IL_026b: ldstr "{0}"
IL_0270: ldc.i4.1
IL_0271: newarr [mscorlib]System.Object
IL_0276: dup
IL_0277: ldc.i4.0
IL_0278: ldarg.2
IL_0279: ldlen
IL_027a: conv.i4
IL_027b: box [mscorlib]System.Int32
IL_0280: stelem.ref
IL_0281: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0286: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_028b: nop
IL_028c: ldarg.0
IL_028d: ldstr "a{{0{0}"
IL_0292: ldc.i4.1
IL_0293: newarr [mscorlib]System.Object
IL_0298: dup
IL_0299: ldc.i4.0
IL_029a: ldarg.2
IL_029b: ldlen
IL_029c: conv.i4
IL_029d: box [mscorlib]System.Int32
IL_02a2: stelem.ref
IL_02a3: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_02a8: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_02ad: nop
IL_02ae: ldarg.0
IL_02af: ldstr "{0:x}"
IL_02b4: ldc.i4.1
IL_02b5: newarr [mscorlib]System.Object
IL_02ba: dup
IL_02bb: ldc.i4.0
IL_02bc: ldarg.2
IL_02bd: ldlen
IL_02be: conv.i4
IL_02bf: box [mscorlib]System.Int32
IL_02c4: stelem.ref
IL_02c5: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_02ca: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_02cf: nop
IL_02d0: ldarg.0
IL_02d1: ldstr "\ta{0}b"
IL_02d6: ldc.i4.1
IL_02d7: newarr [mscorlib]System.Object
IL_02dc: dup
IL_02dd: ldc.i4.0
IL_02de: ldarg.2
IL_02df: ldlen
IL_02e0: conv.i4
IL_02e1: box [mscorlib]System.Int32
IL_02e6: stelem.ref
IL_02e7: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_02ec: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_02f1: nop
IL_02f2: ldarg.0
IL_02f3: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_02f8: ldc.i4.4
IL_02f9: newarr [mscorlib]System.Object
IL_02fe: dup
IL_02ff: ldc.i4.0
IL_0300: ldarg.2
IL_0301: ldlen
IL_0302: conv.i4
IL_0303: box [mscorlib]System.Int32
IL_0308: stelem.ref
IL_0309: dup
IL_030a: ldc.i4.1
IL_030b: ldarg.2
IL_030c: ldc.i4.0
IL_030d: ldelem.ref
IL_030e: stelem.ref
IL_030f: dup
IL_0310: ldc.i4.2
IL_0311: ldarg.2
IL_0312: ldarg.2
IL_0313: ldlen
IL_0314: conv.i4
IL_0315: ldelem.ref
IL_0316: stelem.ref
IL_0317: dup
IL_0318: ldc.i4.3
IL_0319: ldarg.2
IL_031a: ldlen
IL_031b: conv.i4
IL_031c: box [mscorlib]System.Int32
IL_0321: stelem.ref
IL_0322: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0327: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_032c: nop
IL_032d: ldarg.0
IL_032e: ldstr "\ta{0}"
IL_0333: ldc.i4.1
IL_0334: newarr [mscorlib]System.Object
IL_0339: dup
IL_033a: ldc.i4.0
IL_033b: ldarg.2
IL_033c: ldlen
IL_033d: brtrue.s IL_0342
IL_033f: ldc.i4.0
IL_0340: br.s IL_0343
IL_0342: ldc.i4.5
IL_0343: box [mscorlib]System.Int32
IL_0348: stelem.ref
IL_0349: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_034e: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_0353: nop
IL_0354: ldarg.0
IL_0355: ldstr "\ta{0}"
IL_035a: ldc.i4.1
IL_035b: newarr [mscorlib]System.Object
IL_0360: dup
IL_0361: ldc.i4.0
IL_0362: ldarg.2
IL_0363: dup
IL_0364: brtrue.s IL_0368
IL_0366: pop
IL_0367: ldarg.2
IL_0368: stelem.ref
IL_0369: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_036e: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_0373: nop
IL_0374: ldarg.0
IL_0375: ldstr "\ta{0}"
IL_037a: ldc.i4.1
IL_037b: newarr [mscorlib]System.Object
IL_0380: dup
IL_0381: ldc.i4.0
IL_0382: ldarg.2
IL_0383: ldc.i4.0
IL_0384: ldelem.ref
IL_0385: ldc.i4.0
IL_0386: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_038b: ldc.i4.s 97
IL_038d: ceq
IL_038f: box [mscorlib]System.Boolean
IL_0394: stelem.ref
IL_0395: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_039a: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_039f: nop
IL_03a0: ldarg.0
IL_03a1: ldstr "\ta{0}"
IL_03a6: ldc.i4.1
IL_03a7: newarr [mscorlib]System.Object
IL_03ac: dup
IL_03ad: ldc.i4.0
IL_03ae: ldstr "a{0}"
IL_03b3: ldarg.2
IL_03b4: ldlen
IL_03b5: conv.i4
IL_03b6: box [mscorlib]System.Int32
IL_03bb: call string [mscorlib]System.String::Format(string,
object)
IL_03c0: ldarg.2
IL_03c1: ldc.i4.0
IL_03c2: ldelem.ref
IL_03c3: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_03c8: box [mscorlib]System.Boolean
IL_03cd: stelem.ref
IL_03ce: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_03d3: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_03d8: nop
IL_03d9: ldarg.0
IL_03da: ldstr "{0}"
IL_03df: ldc.i4.1
IL_03e0: newarr [mscorlib]System.Object
IL_03e5: dup
IL_03e6: ldc.i4.0
IL_03e7: ldarg.2
IL_03e8: ldlen
IL_03e9: conv.i4
IL_03ea: box [mscorlib]System.Int32
IL_03ef: stelem.ref
IL_03f0: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_03f5: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_03fa: nop
IL_03fb: ldarg.0
IL_03fc: ldstr "a{{0{0}"
IL_0401: ldc.i4.1
IL_0402: newarr [mscorlib]System.Object
IL_0407: dup
IL_0408: ldc.i4.0
IL_0409: ldarg.2
IL_040a: ldlen
IL_040b: conv.i4
IL_040c: box [mscorlib]System.Int32
IL_0411: stelem.ref
IL_0412: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0417: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_041c: nop
IL_041d: ldarg.0
IL_041e: ldstr "{0:x}"
IL_0423: ldc.i4.1
IL_0424: newarr [mscorlib]System.Object
IL_0429: dup
IL_042a: ldc.i4.0
IL_042b: ldarg.2
IL_042c: ldlen
IL_042d: conv.i4
IL_042e: box [mscorlib]System.Int32
IL_0433: stelem.ref
IL_0434: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0439: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_043e: nop
IL_043f: ldarg.0
IL_0440: ldstr "\ta{0}b"
IL_0445: ldc.i4.1
IL_0446: newarr [mscorlib]System.Object
IL_044b: dup
IL_044c: ldc.i4.0
IL_044d: ldarg.2
IL_044e: ldlen
IL_044f: conv.i4
IL_0450: box [mscorlib]System.Int32
IL_0455: stelem.ref
IL_0456: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_045b: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_0460: nop
IL_0461: ldarg.0
IL_0462: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_0467: ldc.i4.4
IL_0468: newarr [mscorlib]System.Object
IL_046d: dup
IL_046e: ldc.i4.0
IL_046f: ldarg.2
IL_0470: ldlen
IL_0471: conv.i4
IL_0472: box [mscorlib]System.Int32
IL_0477: stelem.ref
IL_0478: dup
IL_0479: ldc.i4.1
IL_047a: ldarg.2
IL_047b: ldc.i4.0
IL_047c: ldelem.ref
IL_047d: stelem.ref
IL_047e: dup
IL_047f: ldc.i4.2
IL_0480: ldarg.2
IL_0481: ldarg.2
IL_0482: ldlen
IL_0483: conv.i4
IL_0484: ldelem.ref
IL_0485: stelem.ref
IL_0486: dup
IL_0487: ldc.i4.3
IL_0488: ldarg.2
IL_0489: ldlen
IL_048a: conv.i4
IL_048b: box [mscorlib]System.Int32
IL_0490: stelem.ref
IL_0491: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0496: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_049b: nop
IL_049c: ldarg.0
IL_049d: ldstr "\ta{0}"
IL_04a2: ldc.i4.1
IL_04a3: newarr [mscorlib]System.Object
IL_04a8: dup
IL_04a9: ldc.i4.0
IL_04aa: ldarg.2
IL_04ab: ldlen
IL_04ac: brtrue.s IL_04b1
IL_04ae: ldc.i4.0
IL_04af: br.s IL_04b2
IL_04b1: ldc.i4.5
IL_04b2: box [mscorlib]System.Int32
IL_04b7: stelem.ref
IL_04b8: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_04bd: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_04c2: nop
IL_04c3: ldarg.0
IL_04c4: ldstr "\ta{0}"
IL_04c9: ldc.i4.1
IL_04ca: newarr [mscorlib]System.Object
IL_04cf: dup
IL_04d0: ldc.i4.0
IL_04d1: ldarg.2
IL_04d2: dup
IL_04d3: brtrue.s IL_04d7
IL_04d5: pop
IL_04d6: ldarg.2
IL_04d7: stelem.ref
IL_04d8: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_04dd: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_04e2: nop
IL_04e3: ldarg.0
IL_04e4: ldstr "\ta{0}"
IL_04e9: ldc.i4.1
IL_04ea: newarr [mscorlib]System.Object
IL_04ef: dup
IL_04f0: ldc.i4.0
IL_04f1: ldarg.2
IL_04f2: ldc.i4.0
IL_04f3: ldelem.ref
IL_04f4: ldc.i4.0
IL_04f5: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_04fa: ldc.i4.s 97
IL_04fc: ceq
IL_04fe: box [mscorlib]System.Boolean
IL_0503: stelem.ref
IL_0504: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0509: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_050e: nop
IL_050f: ldarg.0
IL_0510: ldstr "\ta{0}"
IL_0515: ldc.i4.1
IL_0516: newarr [mscorlib]System.Object
IL_051b: dup
IL_051c: ldc.i4.0
IL_051d: ldstr "a{0}"
IL_0522: ldarg.2
IL_0523: ldlen
IL_0524: conv.i4
IL_0525: box [mscorlib]System.Int32
IL_052a: call string [mscorlib]System.String::Format(string,
object)
IL_052f: ldarg.2
IL_0530: ldc.i4.0
IL_0531: ldelem.ref
IL_0532: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_0537: box [mscorlib]System.Boolean
IL_053c: stelem.ref
IL_053d: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0542: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_0547: nop
IL_0548: ret
} // end of method CS6_StringInterpolation::FormattableStrings
.method public hidebysig instance void
RequiresCast(string 'value') cil managed
{
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CS6_StringInterpolation::RequiresCast
.method public hidebysig instance void
RequiresCast(class [mscorlib]System.FormattableString 'value') cil managed
{
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CS6_StringInterpolation::RequiresCast
.method public hidebysig instance void
RequiresCast(class [mscorlib]System.IFormattable 'value') cil managed
{
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CS6_StringInterpolation::RequiresCast
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method CS6_StringInterpolation::.ctor
} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************