1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4
5.assembly extern System.Runtime
6{
7}
8
9.assembly ThisStateTests
10{
11}
12
13.class public auto ansi beforefieldinit FieldTestsType
14        extends [System.Runtime]System.Object
15{
16    .field private int32 instanceField
17    .field private static int32 staticField
18
19    .method public hidebysig instance void 'special.LoadFieldThisInit..ctor_Valid'() cil managed { ret }
20    .method public hidebysig specialname rtspecialname instance void .ctor() cil managed
21    {
22        ldarg.0
23        call    instance void [System.Runtime]System.Object::.ctor()
24        ldarg.0
25        ldfld   int32 FieldTestsType::instanceField
26        pop
27        ret
28    }
29
30    .method public hidebysig instance void 'special.LoadFieldThisUninit..ctor_Valid'(int32) cil managed { ret }
31    .method public hidebysig specialname rtspecialname instance void .ctor(int32) cil managed
32    {
33        ldarg.0
34        dup
35        ldfld   int32 FieldTestsType::instanceField
36        pop
37        call    instance void [System.Runtime]System.Object::.ctor()
38        ret
39    }
40
41    .method public hidebysig instance void 'special.LoadSFieldThisUninit..ctor_Valid'(float64) cil managed { ret }
42    .method public hidebysig specialname rtspecialname instance void .ctor(float64) cil managed
43    {
44        ldarg.0
45        ldsfld   int32 FieldTestsType::staticField
46        pop
47        call    instance void [System.Runtime]System.Object::.ctor()
48        ret
49    }
50
51    .method public hidebysig instance void 'special.StoreFieldThisInit..ctor_Valid'(int64) cil managed { ret }
52    .method public hidebysig specialname rtspecialname instance void .ctor(int64) cil managed
53    {
54        ldarg.0
55        call    instance void [System.Runtime]System.Object::.ctor()
56        ldarg.0
57        ldc.i4.0
58        stfld   int32 FieldTestsType::instanceField
59        ret
60    }
61
62    .method public hidebysig instance void 'special.StoreFieldThisUninit..ctor_Valid'(int32, int32) cil managed { ret }
63    .method public hidebysig specialname rtspecialname instance void .ctor(int32, int32) cil managed
64    {
65        ldarg.0
66        dup
67        ldc.i4.0
68        stfld   int32 FieldTestsType::instanceField
69        call    instance void [System.Runtime]System.Object::.ctor()
70        ret
71    }
72
73    .method public hidebysig instance void 'special.StoreSFieldThisUninit..ctor_Valid'(native int) cil managed { ret }
74    .method public hidebysig specialname rtspecialname instance void .ctor(native int) cil managed
75    {
76        ldc.i4.0
77        stsfld   int32 FieldTestsType::staticField
78        ldarg.0
79        call    instance void [System.Runtime]System.Object::.ctor()
80        ret
81    }
82}
83
84.class public auto ansi beforefieldinit ThisStateTestsType
85        extends [System.Runtime]System.Object
86{
87    .method public hidebysig instance void 'special.ThrowThisUninit..ctor_Invalid_UninitStack'() cil managed { ret }
88    .method public hidebysig specialname rtspecialname instance void .ctor() cil managed
89    {
90        ldarg.0
91        throw
92        ret
93    }
94
95    .method public hidebysig instance void 'special.CallCtorOverload..ctor_Valid'(int32) cil managed { ret }
96    .method public hidebysig specialname rtspecialname instance void .ctor(int32) cil managed
97    {
98        ldarg.0
99        call    instance void ThisStateTestsType::.ctor()
100        ret
101    }
102}
103
104.class public auto ansi beforefieldinit LoadStoreVarTestsType
105        extends [System.Runtime]System.Object
106{
107    .method public hidebysig instance void 'special.StoreLocUninit..ctor_Invalid_StackUninit'() cil managed { ret }
108    .method public hidebysig specialname rtspecialname instance void .ctor() cil managed
109    {
110        .locals init (
111            [0] int32
112        )
113
114        ldc.i4.0
115        stloc.0
116        ldarg.0
117        call    instance void [System.Runtime]System.Object::.ctor()
118        ret
119    }
120
121    .method public hidebysig instance void 'special.StoreThisUninit..ctor_Invalid_ThisUninitStore'(int32) cil managed { ret }
122    .method public hidebysig specialname rtspecialname instance void .ctor(int32) cil managed
123    {
124        newobj  instance void LoadStoreVarTestsType::.ctor()
125        starg 0
126        ldarg.0
127        call    instance void [System.Runtime]System.Object::.ctor()
128        ret
129    }
130
131    .method public hidebysig instance void 'special.LoadAddrOfThisUninit..ctor_Invalid_ThisUninitStore'(int64) cil managed { ret }
132    .method public hidebysig specialname rtspecialname instance void .ctor(int64) cil managed
133    {
134        ldarga 0
135        pop
136        ldarg.0
137        call    instance void [System.Runtime]System.Object::.ctor()
138        ret
139    }
140}
141