.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.
 
 
 
 

1055 lines
45 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 02 00 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 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CS6_StringInterpolation::Main
.method public hidebysig static void General(string[] args) cil managed
{
// Code size 278 (0x116)
.maxstack 6
IL_0000: ldstr "{0}"
IL_0005: ldarg.0
IL_0006: ldlen
IL_0007: conv.i4
IL_0008: box [mscorlib]System.Int32
IL_000d: call string [mscorlib]System.String::Format(string,
object)
IL_0012: call void [mscorlib]System.Console::WriteLine(string)
IL_0017: ldstr "a{{0{0}"
IL_001c: ldarg.0
IL_001d: ldlen
IL_001e: conv.i4
IL_001f: box [mscorlib]System.Int32
IL_0024: call string [mscorlib]System.String::Format(string,
object)
IL_0029: call void [mscorlib]System.Console::WriteLine(string)
IL_002e: ldstr "{0:x}"
IL_0033: ldarg.0
IL_0034: ldlen
IL_0035: conv.i4
IL_0036: box [mscorlib]System.Int32
IL_003b: call string [mscorlib]System.String::Format(string,
object)
IL_0040: call void [mscorlib]System.Console::WriteLine(string)
IL_0045: ldstr "\ta{0}b"
IL_004a: ldarg.0
IL_004b: ldlen
IL_004c: conv.i4
IL_004d: box [mscorlib]System.Int32
IL_0052: call string [mscorlib]System.String::Format(string,
object)
IL_0057: call void [mscorlib]System.Console::WriteLine(string)
IL_005c: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_0061: ldc.i4.4
IL_0062: newarr [mscorlib]System.Object
IL_0067: dup
IL_0068: ldc.i4.0
IL_0069: ldarg.0
IL_006a: ldlen
IL_006b: conv.i4
IL_006c: box [mscorlib]System.Int32
IL_0071: stelem.ref
IL_0072: dup
IL_0073: ldc.i4.1
IL_0074: ldarg.0
IL_0075: ldc.i4.0
IL_0076: ldelem.ref
IL_0077: stelem.ref
IL_0078: dup
IL_0079: ldc.i4.2
IL_007a: ldarg.0
IL_007b: ldarg.0
IL_007c: ldlen
IL_007d: conv.i4
IL_007e: ldelem.ref
IL_007f: stelem.ref
IL_0080: dup
IL_0081: ldc.i4.3
IL_0082: ldarg.0
IL_0083: ldlen
IL_0084: conv.i4
IL_0085: box [mscorlib]System.Int32
IL_008a: stelem.ref
IL_008b: call string [mscorlib]System.String::Format(string,
object[])
IL_0090: call void [mscorlib]System.Console::WriteLine(string)
IL_0095: ldstr "\ta{0}"
IL_009a: ldarg.0
IL_009b: ldlen
IL_009c: brtrue.s IL_00a1
IL_009e: ldc.i4.0
IL_009f: br.s IL_00a2
IL_00a1: ldc.i4.5
IL_00a2: box [mscorlib]System.Int32
IL_00a7: call string [mscorlib]System.String::Format(string,
object)
IL_00ac: call void [mscorlib]System.Console::WriteLine(string)
IL_00b1: ldstr "\ta{0}"
IL_00b6: ldarg.0
IL_00b7: dup
IL_00b8: brtrue.s IL_00bc
IL_00ba: pop
IL_00bb: ldarg.0
IL_00bc: call string [mscorlib]System.String::Format(string,
object)
IL_00c1: call void [mscorlib]System.Console::WriteLine(string)
IL_00c6: ldstr "\ta{0}"
IL_00cb: ldarg.0
IL_00cc: ldc.i4.0
IL_00cd: ldelem.ref
IL_00ce: ldc.i4.0
IL_00cf: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_00d4: ldc.i4.s 97
IL_00d6: ceq
IL_00d8: box [mscorlib]System.Boolean
IL_00dd: call string [mscorlib]System.String::Format(string,
object)
IL_00e2: call void [mscorlib]System.Console::WriteLine(string)
IL_00e7: ldstr "\ta{0}"
IL_00ec: ldstr "a{0}"
IL_00f1: ldarg.0
IL_00f2: ldlen
IL_00f3: conv.i4
IL_00f4: box [mscorlib]System.Int32
IL_00f9: call string [mscorlib]System.String::Format(string,
object)
IL_00fe: ldarg.0
IL_00ff: ldc.i4.0
IL_0100: ldelem.ref
IL_0101: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_0106: box [mscorlib]System.Boolean
IL_010b: call string [mscorlib]System.String::Format(string,
object)
IL_0110: call void [mscorlib]System.Console::WriteLine(string)
IL_0115: ret
} // end of method CS6_StringInterpolation::General
.method public hidebysig static void ArrayExpansionSpecialCases(object[] args) cil managed
{
// Code size 33 (0x21)
.maxstack 8
IL_0000: ldstr "args: {0}"
IL_0005: ldarg.0
IL_0006: call string [mscorlib]System.String::Format(string,
object)
IL_000b: call void [mscorlib]System.Console::WriteLine(string)
IL_0010: ldstr "args: {0}"
IL_0015: ldarg.0
IL_0016: call string [mscorlib]System.String::Format(string,
object[])
IL_001b: call void [mscorlib]System.Console::WriteLine(string)
IL_0020: ret
} // end of method CS6_StringInterpolation::ArrayExpansionSpecialCases
.method public hidebysig static void InvalidFormatString(string[] args) cil managed
{
// Code size 556 (0x22c)
.maxstack 3
IL_0000: ldstr ""
IL_0005: ldarg.0
IL_0006: ldlen
IL_0007: conv.i4
IL_0008: box [mscorlib]System.Int32
IL_000d: call string [mscorlib]System.String::Format(string,
object)
IL_0012: call void [mscorlib]System.Console::WriteLine(string)
IL_0017: ldstr "a"
IL_001c: ldarg.0
IL_001d: ldlen
IL_001e: conv.i4
IL_001f: box [mscorlib]System.Int32
IL_0024: call string [mscorlib]System.String::Format(string,
object)
IL_0029: call void [mscorlib]System.Console::WriteLine(string)
IL_002e: ldstr "}"
IL_0033: ldarg.0
IL_0034: ldlen
IL_0035: conv.i4
IL_0036: box [mscorlib]System.Int32
IL_003b: call string [mscorlib]System.String::Format(string,
object)
IL_0040: call void [mscorlib]System.Console::WriteLine(string)
IL_0045: ldstr "{"
IL_004a: ldarg.0
IL_004b: ldlen
IL_004c: conv.i4
IL_004d: box [mscorlib]System.Int32
IL_0052: call string [mscorlib]System.String::Format(string,
object)
IL_0057: call void [mscorlib]System.Console::WriteLine(string)
IL_005c: ldstr ":"
IL_0061: ldarg.0
IL_0062: ldlen
IL_0063: conv.i4
IL_0064: box [mscorlib]System.Int32
IL_0069: call string [mscorlib]System.String::Format(string,
object)
IL_006e: call void [mscorlib]System.Console::WriteLine(string)
IL_0073: ldstr "\t"
IL_0078: ldarg.0
IL_0079: ldlen
IL_007a: conv.i4
IL_007b: box [mscorlib]System.Int32
IL_0080: call string [mscorlib]System.String::Format(string,
object)
IL_0085: call void [mscorlib]System.Console::WriteLine(string)
IL_008a: ldstr "\\"
IL_008f: ldarg.0
IL_0090: ldlen
IL_0091: conv.i4
IL_0092: box [mscorlib]System.Int32
IL_0097: call string [mscorlib]System.String::Format(string,
object)
IL_009c: call void [mscorlib]System.Console::WriteLine(string)
IL_00a1: ldstr "\""
IL_00a6: ldarg.0
IL_00a7: ldlen
IL_00a8: conv.i4
IL_00a9: box [mscorlib]System.Int32
IL_00ae: call string [mscorlib]System.String::Format(string,
object)
IL_00b3: call void [mscorlib]System.Console::WriteLine(string)
IL_00b8: ldstr "aa"
IL_00bd: ldarg.0
IL_00be: ldlen
IL_00bf: conv.i4
IL_00c0: box [mscorlib]System.Int32
IL_00c5: call string [mscorlib]System.String::Format(string,
object)
IL_00ca: call void [mscorlib]System.Console::WriteLine(string)
IL_00cf: ldstr "a}"
IL_00d4: ldarg.0
IL_00d5: ldlen
IL_00d6: conv.i4
IL_00d7: box [mscorlib]System.Int32
IL_00dc: call string [mscorlib]System.String::Format(string,
object)
IL_00e1: call void [mscorlib]System.Console::WriteLine(string)
IL_00e6: ldstr "a{"
IL_00eb: ldarg.0
IL_00ec: ldlen
IL_00ed: conv.i4
IL_00ee: box [mscorlib]System.Int32
IL_00f3: call string [mscorlib]System.String::Format(string,
object)
IL_00f8: call void [mscorlib]System.Console::WriteLine(string)
IL_00fd: ldstr "a:"
IL_0102: ldarg.0
IL_0103: ldlen
IL_0104: conv.i4
IL_0105: box [mscorlib]System.Int32
IL_010a: call string [mscorlib]System.String::Format(string,
object)
IL_010f: call void [mscorlib]System.Console::WriteLine(string)
IL_0114: ldstr "a\t"
IL_0119: ldarg.0
IL_011a: ldlen
IL_011b: conv.i4
IL_011c: box [mscorlib]System.Int32
IL_0121: call string [mscorlib]System.String::Format(string,
object)
IL_0126: call void [mscorlib]System.Console::WriteLine(string)
IL_012b: ldstr "a\\"
IL_0130: ldarg.0
IL_0131: ldlen
IL_0132: conv.i4
IL_0133: box [mscorlib]System.Int32
IL_0138: call string [mscorlib]System.String::Format(string,
object)
IL_013d: call void [mscorlib]System.Console::WriteLine(string)
IL_0142: ldstr "a\""
IL_0147: ldarg.0
IL_0148: ldlen
IL_0149: conv.i4
IL_014a: box [mscorlib]System.Int32
IL_014f: call string [mscorlib]System.String::Format(string,
object)
IL_0154: call void [mscorlib]System.Console::WriteLine(string)
IL_0159: ldstr "a{:"
IL_015e: ldarg.0
IL_015f: ldlen
IL_0160: conv.i4
IL_0161: box [mscorlib]System.Int32
IL_0166: call string [mscorlib]System.String::Format(string,
object)
IL_016b: call void [mscorlib]System.Console::WriteLine(string)
IL_0170: ldstr "a{0"
IL_0175: ldarg.0
IL_0176: ldlen
IL_0177: conv.i4
IL_0178: box [mscorlib]System.Int32
IL_017d: call string [mscorlib]System.String::Format(string,
object)
IL_0182: call void [mscorlib]System.Console::WriteLine(string)
IL_0187: ldstr "a{{0"
IL_018c: ldarg.0
IL_018d: ldlen
IL_018e: conv.i4
IL_018f: box [mscorlib]System.Int32
IL_0194: call string [mscorlib]System.String::Format(string,
object)
IL_0199: call void [mscorlib]System.Console::WriteLine(string)
IL_019e: ldstr "}a{{0"
IL_01a3: ldarg.0
IL_01a4: ldlen
IL_01a5: conv.i4
IL_01a6: box [mscorlib]System.Int32
IL_01ab: call string [mscorlib]System.String::Format(string,
object)
IL_01b0: call void [mscorlib]System.Console::WriteLine(string)
IL_01b5: ldstr "}{"
IL_01ba: ldarg.0
IL_01bb: ldlen
IL_01bc: conv.i4
IL_01bd: box [mscorlib]System.Int32
IL_01c2: call string [mscorlib]System.String::Format(string,
object)
IL_01c7: call void [mscorlib]System.Console::WriteLine(string)
IL_01cc: ldstr "{}"
IL_01d1: ldarg.0
IL_01d2: ldlen
IL_01d3: conv.i4
IL_01d4: box [mscorlib]System.Int32
IL_01d9: call string [mscorlib]System.String::Format(string,
object)
IL_01de: call void [mscorlib]System.Console::WriteLine(string)
IL_01e3: ldstr "{0:}"
IL_01e8: ldarg.0
IL_01e9: ldlen
IL_01ea: conv.i4
IL_01eb: box [mscorlib]System.Int32
IL_01f0: call string [mscorlib]System.String::Format(string,
object)
IL_01f5: call void [mscorlib]System.Console::WriteLine(string)
IL_01fa: ldstr "{0{a}0}"
IL_01ff: ldarg.0
IL_0200: ldlen
IL_0201: conv.i4
IL_0202: box [mscorlib]System.Int32
IL_0207: call string [mscorlib]System.String::Format(string,
object)
IL_020c: call void [mscorlib]System.Console::WriteLine(string)
IL_0211: ldstr "test: {0}"
IL_0216: ldstr ","
IL_021b: ldarg.0
IL_021c: call string [mscorlib]System.String::Join(string,
string[])
IL_0221: call string [mscorlib]System.String::Format(string,
object)
IL_0226: call void [mscorlib]System.Console::WriteLine(string)
IL_022b: ret
} // end of method CS6_StringInterpolation::InvalidFormatString
.method public hidebysig instance void
FormattableStrings(class [mscorlib]System.FormattableString s,
string[] args) cil managed
{
// Code size 1325 (0x52d)
.maxstack 8
IL_0000: ldstr "{0}"
IL_0005: ldc.i4.1
IL_0006: newarr [mscorlib]System.Object
IL_000b: dup
IL_000c: ldc.i4.0
IL_000d: ldarg.2
IL_000e: ldlen
IL_000f: conv.i4
IL_0010: box [mscorlib]System.Int32
IL_0015: stelem.ref
IL_0016: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_001b: starg.s s
IL_001d: ldstr "a{{0{0}"
IL_0022: ldc.i4.1
IL_0023: newarr [mscorlib]System.Object
IL_0028: dup
IL_0029: ldc.i4.0
IL_002a: ldarg.2
IL_002b: ldlen
IL_002c: conv.i4
IL_002d: box [mscorlib]System.Int32
IL_0032: stelem.ref
IL_0033: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0038: starg.s s
IL_003a: ldstr "{0:x}"
IL_003f: ldc.i4.1
IL_0040: newarr [mscorlib]System.Object
IL_0045: dup
IL_0046: ldc.i4.0
IL_0047: ldarg.2
IL_0048: ldlen
IL_0049: conv.i4
IL_004a: box [mscorlib]System.Int32
IL_004f: stelem.ref
IL_0050: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0055: starg.s s
IL_0057: ldstr "\ta{0}b"
IL_005c: ldc.i4.1
IL_005d: newarr [mscorlib]System.Object
IL_0062: dup
IL_0063: ldc.i4.0
IL_0064: ldarg.2
IL_0065: ldlen
IL_0066: conv.i4
IL_0067: box [mscorlib]System.Int32
IL_006c: stelem.ref
IL_006d: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0072: starg.s s
IL_0074: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_0079: ldc.i4.4
IL_007a: newarr [mscorlib]System.Object
IL_007f: dup
IL_0080: ldc.i4.0
IL_0081: ldarg.2
IL_0082: ldlen
IL_0083: conv.i4
IL_0084: box [mscorlib]System.Int32
IL_0089: stelem.ref
IL_008a: dup
IL_008b: ldc.i4.1
IL_008c: ldarg.2
IL_008d: ldc.i4.0
IL_008e: ldelem.ref
IL_008f: stelem.ref
IL_0090: dup
IL_0091: ldc.i4.2
IL_0092: ldarg.2
IL_0093: ldarg.2
IL_0094: ldlen
IL_0095: conv.i4
IL_0096: ldelem.ref
IL_0097: stelem.ref
IL_0098: dup
IL_0099: ldc.i4.3
IL_009a: ldarg.2
IL_009b: ldlen
IL_009c: conv.i4
IL_009d: box [mscorlib]System.Int32
IL_00a2: stelem.ref
IL_00a3: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_00a8: starg.s s
IL_00aa: ldstr "\ta{0}"
IL_00af: ldc.i4.1
IL_00b0: newarr [mscorlib]System.Object
IL_00b5: dup
IL_00b6: ldc.i4.0
IL_00b7: ldarg.2
IL_00b8: ldlen
IL_00b9: brtrue.s IL_00be
IL_00bb: ldc.i4.0
IL_00bc: br.s IL_00bf
IL_00be: ldc.i4.5
IL_00bf: box [mscorlib]System.Int32
IL_00c4: stelem.ref
IL_00c5: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_00ca: starg.s s
IL_00cc: ldstr "\ta{0}"
IL_00d1: ldc.i4.1
IL_00d2: newarr [mscorlib]System.Object
IL_00d7: dup
IL_00d8: ldc.i4.0
IL_00d9: ldarg.2
IL_00da: dup
IL_00db: brtrue.s IL_00df
IL_00dd: pop
IL_00de: ldarg.2
IL_00df: stelem.ref
IL_00e0: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_00e5: starg.s s
IL_00e7: ldstr "\ta{0}"
IL_00ec: ldc.i4.1
IL_00ed: newarr [mscorlib]System.Object
IL_00f2: dup
IL_00f3: ldc.i4.0
IL_00f4: ldarg.2
IL_00f5: ldc.i4.0
IL_00f6: ldelem.ref
IL_00f7: ldc.i4.0
IL_00f8: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_00fd: ldc.i4.s 97
IL_00ff: ceq
IL_0101: box [mscorlib]System.Boolean
IL_0106: stelem.ref
IL_0107: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_010c: starg.s s
IL_010e: ldstr "\ta{0}"
IL_0113: ldc.i4.1
IL_0114: newarr [mscorlib]System.Object
IL_0119: dup
IL_011a: ldc.i4.0
IL_011b: ldstr "a{0}"
IL_0120: ldarg.2
IL_0121: ldlen
IL_0122: conv.i4
IL_0123: box [mscorlib]System.Int32
IL_0128: call string [mscorlib]System.String::Format(string,
object)
IL_012d: ldarg.2
IL_012e: ldc.i4.0
IL_012f: ldelem.ref
IL_0130: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_0135: box [mscorlib]System.Boolean
IL_013a: stelem.ref
IL_013b: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0140: starg.s s
IL_0142: ldarg.0
IL_0143: ldstr "{0}"
IL_0148: ldarg.2
IL_0149: ldlen
IL_014a: conv.i4
IL_014b: box [mscorlib]System.Int32
IL_0150: call string [mscorlib]System.String::Format(string,
object)
IL_0155: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_015a: ldarg.0
IL_015b: ldstr "a{{0{0}"
IL_0160: ldarg.2
IL_0161: ldlen
IL_0162: conv.i4
IL_0163: box [mscorlib]System.Int32
IL_0168: call string [mscorlib]System.String::Format(string,
object)
IL_016d: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_0172: ldarg.0
IL_0173: ldstr "{0:x}"
IL_0178: ldarg.2
IL_0179: ldlen
IL_017a: conv.i4
IL_017b: box [mscorlib]System.Int32
IL_0180: call string [mscorlib]System.String::Format(string,
object)
IL_0185: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_018a: ldarg.0
IL_018b: ldstr "\ta{0}b"
IL_0190: ldarg.2
IL_0191: ldlen
IL_0192: conv.i4
IL_0193: box [mscorlib]System.Int32
IL_0198: call string [mscorlib]System.String::Format(string,
object)
IL_019d: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_01a2: ldarg.0
IL_01a3: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_01a8: ldc.i4.4
IL_01a9: newarr [mscorlib]System.Object
IL_01ae: dup
IL_01af: ldc.i4.0
IL_01b0: ldarg.2
IL_01b1: ldlen
IL_01b2: conv.i4
IL_01b3: box [mscorlib]System.Int32
IL_01b8: stelem.ref
IL_01b9: dup
IL_01ba: ldc.i4.1
IL_01bb: ldarg.2
IL_01bc: ldc.i4.0
IL_01bd: ldelem.ref
IL_01be: stelem.ref
IL_01bf: dup
IL_01c0: ldc.i4.2
IL_01c1: ldarg.2
IL_01c2: ldarg.2
IL_01c3: ldlen
IL_01c4: conv.i4
IL_01c5: ldelem.ref
IL_01c6: stelem.ref
IL_01c7: dup
IL_01c8: ldc.i4.3
IL_01c9: ldarg.2
IL_01ca: ldlen
IL_01cb: conv.i4
IL_01cc: box [mscorlib]System.Int32
IL_01d1: stelem.ref
IL_01d2: call string [mscorlib]System.String::Format(string,
object[])
IL_01d7: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_01dc: ldarg.0
IL_01dd: ldstr "\ta{0}"
IL_01e2: ldarg.2
IL_01e3: ldlen
IL_01e4: brtrue.s IL_01e9
IL_01e6: ldc.i4.0
IL_01e7: br.s IL_01ea
IL_01e9: ldc.i4.5
IL_01ea: box [mscorlib]System.Int32
IL_01ef: call string [mscorlib]System.String::Format(string,
object)
IL_01f4: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_01f9: ldarg.0
IL_01fa: ldstr "\ta{0}"
IL_01ff: ldarg.2
IL_0200: dup
IL_0201: brtrue.s IL_0205
IL_0203: pop
IL_0204: ldarg.2
IL_0205: call string [mscorlib]System.String::Format(string,
object)
IL_020a: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_020f: ldarg.0
IL_0210: ldstr "\ta{0}"
IL_0215: ldarg.2
IL_0216: ldc.i4.0
IL_0217: ldelem.ref
IL_0218: ldc.i4.0
IL_0219: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_021e: ldc.i4.s 97
IL_0220: ceq
IL_0222: box [mscorlib]System.Boolean
IL_0227: call string [mscorlib]System.String::Format(string,
object)
IL_022c: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_0231: ldarg.0
IL_0232: ldstr "\ta{0}"
IL_0237: ldstr "a{0}"
IL_023c: ldarg.2
IL_023d: ldlen
IL_023e: conv.i4
IL_023f: box [mscorlib]System.Int32
IL_0244: call string [mscorlib]System.String::Format(string,
object)
IL_0249: ldarg.2
IL_024a: ldc.i4.0
IL_024b: ldelem.ref
IL_024c: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_0251: box [mscorlib]System.Boolean
IL_0256: call string [mscorlib]System.String::Format(string,
object)
IL_025b: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(string)
IL_0260: ldarg.0
IL_0261: ldstr "{0}"
IL_0266: ldc.i4.1
IL_0267: newarr [mscorlib]System.Object
IL_026c: dup
IL_026d: ldc.i4.0
IL_026e: ldarg.2
IL_026f: ldlen
IL_0270: conv.i4
IL_0271: box [mscorlib]System.Int32
IL_0276: stelem.ref
IL_0277: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_027c: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_0281: ldarg.0
IL_0282: ldstr "a{{0{0}"
IL_0287: ldc.i4.1
IL_0288: newarr [mscorlib]System.Object
IL_028d: dup
IL_028e: ldc.i4.0
IL_028f: ldarg.2
IL_0290: ldlen
IL_0291: conv.i4
IL_0292: box [mscorlib]System.Int32
IL_0297: stelem.ref
IL_0298: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_029d: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_02a2: ldarg.0
IL_02a3: ldstr "{0:x}"
IL_02a8: ldc.i4.1
IL_02a9: newarr [mscorlib]System.Object
IL_02ae: dup
IL_02af: ldc.i4.0
IL_02b0: ldarg.2
IL_02b1: ldlen
IL_02b2: conv.i4
IL_02b3: box [mscorlib]System.Int32
IL_02b8: stelem.ref
IL_02b9: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_02be: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_02c3: ldarg.0
IL_02c4: ldstr "\ta{0}b"
IL_02c9: ldc.i4.1
IL_02ca: newarr [mscorlib]System.Object
IL_02cf: dup
IL_02d0: ldc.i4.0
IL_02d1: ldarg.2
IL_02d2: ldlen
IL_02d3: conv.i4
IL_02d4: box [mscorlib]System.Int32
IL_02d9: stelem.ref
IL_02da: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_02df: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_02e4: ldarg.0
IL_02e5: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_02ea: ldc.i4.4
IL_02eb: newarr [mscorlib]System.Object
IL_02f0: dup
IL_02f1: ldc.i4.0
IL_02f2: ldarg.2
IL_02f3: ldlen
IL_02f4: conv.i4
IL_02f5: box [mscorlib]System.Int32
IL_02fa: stelem.ref
IL_02fb: dup
IL_02fc: ldc.i4.1
IL_02fd: ldarg.2
IL_02fe: ldc.i4.0
IL_02ff: ldelem.ref
IL_0300: stelem.ref
IL_0301: dup
IL_0302: ldc.i4.2
IL_0303: ldarg.2
IL_0304: ldarg.2
IL_0305: ldlen
IL_0306: conv.i4
IL_0307: ldelem.ref
IL_0308: stelem.ref
IL_0309: dup
IL_030a: ldc.i4.3
IL_030b: ldarg.2
IL_030c: ldlen
IL_030d: conv.i4
IL_030e: box [mscorlib]System.Int32
IL_0313: stelem.ref
IL_0314: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0319: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_031e: ldarg.0
IL_031f: ldstr "\ta{0}"
IL_0324: ldc.i4.1
IL_0325: newarr [mscorlib]System.Object
IL_032a: dup
IL_032b: ldc.i4.0
IL_032c: ldarg.2
IL_032d: ldlen
IL_032e: brtrue.s IL_0333
IL_0330: ldc.i4.0
IL_0331: br.s IL_0334
IL_0333: ldc.i4.5
IL_0334: box [mscorlib]System.Int32
IL_0339: stelem.ref
IL_033a: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_033f: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_0344: ldarg.0
IL_0345: ldstr "\ta{0}"
IL_034a: ldc.i4.1
IL_034b: newarr [mscorlib]System.Object
IL_0350: dup
IL_0351: ldc.i4.0
IL_0352: ldarg.2
IL_0353: dup
IL_0354: brtrue.s IL_0358
IL_0356: pop
IL_0357: ldarg.2
IL_0358: stelem.ref
IL_0359: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_035e: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_0363: ldarg.0
IL_0364: ldstr "\ta{0}"
IL_0369: ldc.i4.1
IL_036a: newarr [mscorlib]System.Object
IL_036f: dup
IL_0370: ldc.i4.0
IL_0371: ldarg.2
IL_0372: ldc.i4.0
IL_0373: ldelem.ref
IL_0374: ldc.i4.0
IL_0375: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_037a: ldc.i4.s 97
IL_037c: ceq
IL_037e: box [mscorlib]System.Boolean
IL_0383: stelem.ref
IL_0384: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0389: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_038e: ldarg.0
IL_038f: ldstr "\ta{0}"
IL_0394: ldc.i4.1
IL_0395: newarr [mscorlib]System.Object
IL_039a: dup
IL_039b: ldc.i4.0
IL_039c: ldstr "a{0}"
IL_03a1: ldarg.2
IL_03a2: ldlen
IL_03a3: conv.i4
IL_03a4: box [mscorlib]System.Int32
IL_03a9: call string [mscorlib]System.String::Format(string,
object)
IL_03ae: ldarg.2
IL_03af: ldc.i4.0
IL_03b0: ldelem.ref
IL_03b1: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_03b6: box [mscorlib]System.Boolean
IL_03bb: stelem.ref
IL_03bc: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_03c1: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.FormattableString)
IL_03c6: ldarg.0
IL_03c7: ldstr "{0}"
IL_03cc: ldc.i4.1
IL_03cd: newarr [mscorlib]System.Object
IL_03d2: dup
IL_03d3: ldc.i4.0
IL_03d4: ldarg.2
IL_03d5: ldlen
IL_03d6: conv.i4
IL_03d7: box [mscorlib]System.Int32
IL_03dc: stelem.ref
IL_03dd: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_03e2: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_03e7: ldarg.0
IL_03e8: ldstr "a{{0{0}"
IL_03ed: ldc.i4.1
IL_03ee: newarr [mscorlib]System.Object
IL_03f3: dup
IL_03f4: ldc.i4.0
IL_03f5: ldarg.2
IL_03f6: ldlen
IL_03f7: conv.i4
IL_03f8: box [mscorlib]System.Int32
IL_03fd: stelem.ref
IL_03fe: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0403: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_0408: ldarg.0
IL_0409: ldstr "{0:x}"
IL_040e: ldc.i4.1
IL_040f: newarr [mscorlib]System.Object
IL_0414: dup
IL_0415: ldc.i4.0
IL_0416: ldarg.2
IL_0417: ldlen
IL_0418: conv.i4
IL_0419: box [mscorlib]System.Int32
IL_041e: stelem.ref
IL_041f: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0424: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_0429: ldarg.0
IL_042a: ldstr "\ta{0}b"
IL_042f: ldc.i4.1
IL_0430: newarr [mscorlib]System.Object
IL_0435: dup
IL_0436: ldc.i4.0
IL_0437: ldarg.2
IL_0438: ldlen
IL_0439: conv.i4
IL_043a: box [mscorlib]System.Int32
IL_043f: stelem.ref
IL_0440: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0445: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_044a: ldarg.0
IL_044b: ldstr "\ta{0}ba{1}a{2}a{3}"
IL_0450: ldc.i4.4
IL_0451: newarr [mscorlib]System.Object
IL_0456: dup
IL_0457: ldc.i4.0
IL_0458: ldarg.2
IL_0459: ldlen
IL_045a: conv.i4
IL_045b: box [mscorlib]System.Int32
IL_0460: stelem.ref
IL_0461: dup
IL_0462: ldc.i4.1
IL_0463: ldarg.2
IL_0464: ldc.i4.0
IL_0465: ldelem.ref
IL_0466: stelem.ref
IL_0467: dup
IL_0468: ldc.i4.2
IL_0469: ldarg.2
IL_046a: ldarg.2
IL_046b: ldlen
IL_046c: conv.i4
IL_046d: ldelem.ref
IL_046e: stelem.ref
IL_046f: dup
IL_0470: ldc.i4.3
IL_0471: ldarg.2
IL_0472: ldlen
IL_0473: conv.i4
IL_0474: box [mscorlib]System.Int32
IL_0479: stelem.ref
IL_047a: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_047f: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_0484: ldarg.0
IL_0485: ldstr "\ta{0}"
IL_048a: ldc.i4.1
IL_048b: newarr [mscorlib]System.Object
IL_0490: dup
IL_0491: ldc.i4.0
IL_0492: ldarg.2
IL_0493: ldlen
IL_0494: brtrue.s IL_0499
IL_0496: ldc.i4.0
IL_0497: br.s IL_049a
IL_0499: ldc.i4.5
IL_049a: box [mscorlib]System.Int32
IL_049f: stelem.ref
IL_04a0: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_04a5: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_04aa: ldarg.0
IL_04ab: ldstr "\ta{0}"
IL_04b0: ldc.i4.1
IL_04b1: newarr [mscorlib]System.Object
IL_04b6: dup
IL_04b7: ldc.i4.0
IL_04b8: ldarg.2
IL_04b9: dup
IL_04ba: brtrue.s IL_04be
IL_04bc: pop
IL_04bd: ldarg.2
IL_04be: stelem.ref
IL_04bf: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_04c4: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_04c9: ldarg.0
IL_04ca: ldstr "\ta{0}"
IL_04cf: ldc.i4.1
IL_04d0: newarr [mscorlib]System.Object
IL_04d5: dup
IL_04d6: ldc.i4.0
IL_04d7: ldarg.2
IL_04d8: ldc.i4.0
IL_04d9: ldelem.ref
IL_04da: ldc.i4.0
IL_04db: callvirt instance char [mscorlib]System.String::get_Chars(int32)
IL_04e0: ldc.i4.s 97
IL_04e2: ceq
IL_04e4: box [mscorlib]System.Boolean
IL_04e9: stelem.ref
IL_04ea: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_04ef: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_04f4: ldarg.0
IL_04f5: ldstr "\ta{0}"
IL_04fa: ldc.i4.1
IL_04fb: newarr [mscorlib]System.Object
IL_0500: dup
IL_0501: ldc.i4.0
IL_0502: ldstr "a{0}"
IL_0507: ldarg.2
IL_0508: ldlen
IL_0509: conv.i4
IL_050a: box [mscorlib]System.Int32
IL_050f: call string [mscorlib]System.String::Format(string,
object)
IL_0514: ldarg.2
IL_0515: ldc.i4.0
IL_0516: ldelem.ref
IL_0517: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_051c: box [mscorlib]System.Boolean
IL_0521: stelem.ref
IL_0522: call class [mscorlib]System.FormattableString [mscorlib]System.Runtime.CompilerServices.FormattableStringFactory::Create(string,
object[])
IL_0527: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation::RequiresCast(class [mscorlib]System.IFormattable)
IL_052c: ret
} // end of method CS6_StringInterpolation::FormattableStrings
.method public hidebysig instance void
RequiresCast(string 'value') cil managed
{
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CS6_StringInterpolation::RequiresCast
.method public hidebysig instance void
RequiresCast(class [mscorlib]System.FormattableString 'value') cil managed
{
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CS6_StringInterpolation::RequiresCast
.method public hidebysig instance void
RequiresCast(class [mscorlib]System.IFormattable 'value') cil managed
{
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CS6_StringInterpolation::RequiresCast
.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 [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method CS6_StringInterpolation::.ctor
} // end of class ICSharpCode.Decompiler.Tests.TestCases.Pretty.CS6_StringInterpolation
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************