Browse Source

Add more tests.

pull/1218/merge
Siegfried Pammer 7 years ago
parent
commit
080506bcbe
  1. 25
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.cs
  2. 60
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.il
  3. 52
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.opt.il
  4. 59
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.opt.roslyn.il
  5. 68
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.roslyn.il

25
ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.cs

@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
using System.Runtime.CompilerServices;
namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty
{
internal class OptionalArguments
@ -51,6 +53,29 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty @@ -51,6 +53,29 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty
ParamsMethod(null, 1, 2, 3);
}
private void CallerInfo()
{
CallerMemberName("CallerInfo");
CallerMemberName(null);
CallerLineNumber(60);
CallerLineNumber(0);
}
private void CallerMemberName([CallerMemberName] string memberName = null)
{
}
private void CallerFilePath([CallerFilePath] string filePath = null)
{
}
private void CallerLineNumber([CallerLineNumber] int lineNumber = 0)
{
}
private void ParamsMethod(int a = 5, params int[] values)
{
}

60
ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.il

@ -10,9 +10,9 @@ @@ -10,9 +10,9 @@
}
.assembly OptionalArguments
{
.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.
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
@ -200,6 +200,64 @@ @@ -200,6 +200,64 @@
IL_0066: ret
} // end of method OptionalArguments::ParamsTests
.method private hidebysig instance void
CallerInfo() cil managed
{
// Code size 39 (0x27)
.maxstack 8
IL_0000: nop
IL_0001: ldarg.0
IL_0002: ldstr "CallerInfo"
IL_0007: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerMemberName(string)
IL_000c: nop
IL_000d: ldarg.0
IL_000e: ldnull
IL_000f: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerMemberName(string)
IL_0014: nop
IL_0015: ldarg.0
IL_0016: ldc.i4.s 60
IL_0018: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerLineNumber(int32)
IL_001d: nop
IL_001e: ldarg.0
IL_001f: ldc.i4.0
IL_0020: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerLineNumber(int32)
IL_0025: nop
IL_0026: ret
} // end of method OptionalArguments::CallerInfo
.method private hidebysig instance void
CallerMemberName([opt] string memberName) cil managed
{
.param [1] = nullref
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerMemberNameAttribute::.ctor() = ( 01 00 00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method OptionalArguments::CallerMemberName
.method private hidebysig instance void
CallerFilePath([opt] string filePath) cil managed
{
.param [1] = nullref
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerFilePathAttribute::.ctor() = ( 01 00 00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method OptionalArguments::CallerFilePath
.method private hidebysig instance void
CallerLineNumber([opt] int32 lineNumber) cil managed
{
.param [1] = int32(0x00000000)
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerLineNumberAttribute::.ctor() = ( 01 00 00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method OptionalArguments::CallerLineNumber
.method private hidebysig instance void
ParamsMethod([opt] int32 a,
int32[] values) cil managed

52
ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.opt.il

@ -10,9 +10,9 @@ @@ -10,9 +10,9 @@
}
.assembly OptionalArguments.opt
{
.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.
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
@ -181,6 +181,56 @@ @@ -181,6 +181,56 @@
IL_0060: ret
} // end of method OptionalArguments::ParamsTests
.method private hidebysig instance void
CallerInfo() cil managed
{
// Code size 34 (0x22)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldstr "CallerInfo"
IL_0006: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerMemberName(string)
IL_000b: ldarg.0
IL_000c: ldnull
IL_000d: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerMemberName(string)
IL_0012: ldarg.0
IL_0013: ldc.i4.s 60
IL_0015: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerLineNumber(int32)
IL_001a: ldarg.0
IL_001b: ldc.i4.0
IL_001c: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerLineNumber(int32)
IL_0021: ret
} // end of method OptionalArguments::CallerInfo
.method private hidebysig instance void
CallerMemberName([opt] string memberName) cil managed
{
.param [1] = nullref
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerMemberNameAttribute::.ctor() = ( 01 00 00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method OptionalArguments::CallerMemberName
.method private hidebysig instance void
CallerFilePath([opt] string filePath) cil managed
{
.param [1] = nullref
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerFilePathAttribute::.ctor() = ( 01 00 00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method OptionalArguments::CallerFilePath
.method private hidebysig instance void
CallerLineNumber([opt] int32 lineNumber) cil managed
{
.param [1] = int32(0x00000000)
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerLineNumberAttribute::.ctor() = ( 01 00 00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method OptionalArguments::CallerLineNumber
.method private hidebysig instance void
ParamsMethod([opt] int32 a,
int32[] values) cil managed

59
ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.opt.roslyn.il

@ -160,6 +160,56 @@ @@ -160,6 +160,56 @@
IL_0055: ret
} // end of method OptionalArguments::ParamsTests
.method private hidebysig instance void
CallerInfo() cil managed
{
// Code size 34 (0x22)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldstr "CallerInfo"
IL_0006: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerMemberName(string)
IL_000b: ldarg.0
IL_000c: ldnull
IL_000d: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerMemberName(string)
IL_0012: ldarg.0
IL_0013: ldc.i4.s 60
IL_0015: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerLineNumber(int32)
IL_001a: ldarg.0
IL_001b: ldc.i4.0
IL_001c: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerLineNumber(int32)
IL_0021: ret
} // end of method OptionalArguments::CallerInfo
.method private hidebysig instance void
CallerMemberName([opt] string memberName) cil managed
{
.param [1] = nullref
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerMemberNameAttribute::.ctor() = ( 01 00 00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method OptionalArguments::CallerMemberName
.method private hidebysig instance void
CallerFilePath([opt] string filePath) cil managed
{
.param [1] = nullref
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerFilePathAttribute::.ctor() = ( 01 00 00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method OptionalArguments::CallerFilePath
.method private hidebysig instance void
CallerLineNumber([opt] int32 lineNumber) cil managed
{
.param [1] = int32(0x00000000)
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerLineNumberAttribute::.ctor() = ( 01 00 00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method OptionalArguments::CallerLineNumber
.method private hidebysig instance void
ParamsMethod([opt] int32 a,
int32[] values) cil managed
@ -288,15 +338,16 @@ @@ -288,15 +338,16 @@
.size 12
} // end of class '__StaticArrayInitTypeSize=12'
.field static assembly initonly valuetype '<PrivateImplementationDetails>'/'__StaticArrayInitTypeSize=12' '0F3DD643C5167ACFC541F72809FFF828A6E41494' at I_00002A74
.field static assembly initonly valuetype '<PrivateImplementationDetails>'/'__StaticArrayInitTypeSize=12' E429CCA3F703A39CC5954A6572FEC9086135B34E at I_00002A84
.field static assembly initonly valuetype '<PrivateImplementationDetails>'/'__StaticArrayInitTypeSize=12' '0F3DD643C5167ACFC541F72809FFF828A6E41494' at I_00002BE8
.field static assembly initonly valuetype '<PrivateImplementationDetails>'/'__StaticArrayInitTypeSize=12' E429CCA3F703A39CC5954A6572FEC9086135B34E at I_00002BF8
} // end of class '<PrivateImplementationDetails>'
// =============================================================
.data cil I_00002A74 = bytearray (
.data cil I_00002BE8 = bytearray (
0A 00 00 00 09 00 00 00 08 00 00 00)
.data cil I_00002A84 = bytearray (
.data cil I_00002BF4 = int8[4]
.data cil I_00002BF8 = bytearray (
01 00 00 00 02 00 00 00 03 00 00 00)
// *********** DISASSEMBLY COMPLETE ***********************

68
ICSharpCode.Decompiler.Tests/TestCases/Pretty/OptionalArguments.roslyn.il

@ -180,6 +180,64 @@ @@ -180,6 +180,64 @@
IL_005b: ret
} // end of method OptionalArguments::ParamsTests
.method private hidebysig instance void
CallerInfo() cil managed
{
// Code size 39 (0x27)
.maxstack 8
IL_0000: nop
IL_0001: ldarg.0
IL_0002: ldstr "CallerInfo"
IL_0007: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerMemberName(string)
IL_000c: nop
IL_000d: ldarg.0
IL_000e: ldnull
IL_000f: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerMemberName(string)
IL_0014: nop
IL_0015: ldarg.0
IL_0016: ldc.i4.s 60
IL_0018: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerLineNumber(int32)
IL_001d: nop
IL_001e: ldarg.0
IL_001f: ldc.i4.0
IL_0020: call instance void ICSharpCode.Decompiler.Tests.TestCases.Pretty.OptionalArguments::CallerLineNumber(int32)
IL_0025: nop
IL_0026: ret
} // end of method OptionalArguments::CallerInfo
.method private hidebysig instance void
CallerMemberName([opt] string memberName) cil managed
{
.param [1] = nullref
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerMemberNameAttribute::.ctor() = ( 01 00 00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method OptionalArguments::CallerMemberName
.method private hidebysig instance void
CallerFilePath([opt] string filePath) cil managed
{
.param [1] = nullref
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerFilePathAttribute::.ctor() = ( 01 00 00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method OptionalArguments::CallerFilePath
.method private hidebysig instance void
CallerLineNumber([opt] int32 lineNumber) cil managed
{
.param [1] = int32(0x00000000)
.custom instance void [mscorlib]System.Runtime.CompilerServices.CallerLineNumberAttribute::.ctor() = ( 01 00 00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method OptionalArguments::CallerLineNumber
.method private hidebysig instance void
ParamsMethod([opt] int32 a,
int32[] values) cil managed
@ -319,16 +377,16 @@ @@ -319,16 +377,16 @@
.size 12
} // end of class '__StaticArrayInitTypeSize=12'
.field static assembly initonly valuetype '<PrivateImplementationDetails>'/'__StaticArrayInitTypeSize=12' '0F3DD643C5167ACFC541F72809FFF828A6E41494' at I_00002A90
.field static assembly initonly valuetype '<PrivateImplementationDetails>'/'__StaticArrayInitTypeSize=12' E429CCA3F703A39CC5954A6572FEC9086135B34E at I_00002AA0
.field static assembly initonly valuetype '<PrivateImplementationDetails>'/'__StaticArrayInitTypeSize=12' '0F3DD643C5167ACFC541F72809FFF828A6E41494' at I_00002C10
.field static assembly initonly valuetype '<PrivateImplementationDetails>'/'__StaticArrayInitTypeSize=12' E429CCA3F703A39CC5954A6572FEC9086135B34E at I_00002C20
} // end of class '<PrivateImplementationDetails>'
// =============================================================
.data cil I_00002A90 = bytearray (
.data cil I_00002C10 = bytearray (
0A 00 00 00 09 00 00 00 08 00 00 00)
.data cil I_00002A9C = int8[4]
.data cil I_00002AA0 = bytearray (
.data cil I_00002C1C = int8[4]
.data cil I_00002C20 = bytearray (
01 00 00 00 02 00 00 00 03 00 00 00)
// *********** DISASSEMBLY COMPLETE ***********************

Loading…
Cancel
Save