Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gen-array2.il « tests « ilasm « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4528bb0f796e5431fa1fe848d7d4b774435dfca1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Test that no duplicate TypeSpec entries are emitted 
//
// Multiple instaces of generic type class [one]gen<T> from an *external* assembly, with the same
// argument (int32). Only one typespec should be emitted and shared by all these.

.assembly extern mscorlib
{
  .ver 2:0:0:0
}
.assembly extern one
{
}
.assembly 'gen-array2'
{
  .custom instance void class [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.

  .ver  0:0:0:0
}
.module arr.exe

  .class private auto ansi beforefieldinit test
  	extends [mscorlib]System.Object
  {
    .method public static  hidebysig 
           default void Main ()  cil managed 
    {
	.entrypoint
	.maxstack 3
	.locals init (
		/* Multiple generic instances with same argument */
		class [one]gen`1<int32>[]	V_0,
		class [one]gen`1<int32>[][]	V_1,
		class [one]gen`1<int32>	V_2,
		class [one]gen`1<int32>[]	V_3,
		class [one]gen`1<class [one]gen`1<int32>>	V_4,
		class [one]gen`1<class [one]gen`1<int32>>[]	V_5,
		class [one]gen`1<class [one]gen`1<int32>>[][]	V_6,
		class [one]gen`1<class [one]gen`1<int32>[]>[][]	V_7,
		class [one]gen`1<class [one]gen`1<int32>[][]>[][]	V_8)
	IL_0000:  ldc.i4.s 0x36
	IL_0002:  newarr class [one]gen`1<int32>
	IL_0007:  stloc.0 
	IL_0008:  ldloc.0 
	IL_0009:  ldc.i4.0 
	IL_000a:  newobj instance void class [one]gen`1<int32>::.ctor()
	IL_000f:  stelem.ref 
	IL_0010:  ret 
    }

  }