summaryrefslogtreecommitdiff
path: root/tests/src/Loader/classloader/regressions/429802/CMain.il
blob: da86838fae861d6d24e84a1ef61fb8db093a3789 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

.assembly extern System.Console { }

//  Microsoft (R) .NET Framework IL Disassembler.  Version 2.0.41217.00
//  Copyright (C) Microsoft Corporation. All rights reserved.



// Metadata version: v2.0.41217
.assembly extern retargetable mscorlib
{
  .publickeytoken = (96 9D B8 05 3D 33 22 AC )                         // ....=3".
  .ver 0:0:0:0
}
.assembly extern mscorlib as mscorlib_1
{
  .ver 2:0:0:0
}
.assembly extern BarImpl
{
  .ver 0:0:0:0
}
.assembly extern MyBar
{
  .ver 0:0:0:0
}
.assembly CMain
{
  .hash algorithm 0x00008004
  .ver 0:0:0:0
}
.module M
// MVID: {01C3371C-004D-0000-A745-03831C37C341}
.imagebase 0x034f0000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003       // WINDOWS_CUI
.corflags 0x00000001    //  ILONLY
// Image base: 0x03090000


// =============== CLASS MEMBERS DECLARATION ===================

.class public auto ansi beforefieldinit CMain
       extends [mscorlib_1]System.Object
{
  .method public hidebysig static int32  Main(string[] args) cil managed
  {
    .entrypoint
    // Code size       106 (0x6a)
    .maxstack  2
    .locals init (bool V_0,
             class [BarImpl]BarImpl V_1,
             class [MyBar]MyBar V_2,
             int32 V_3)
    IL_0000:  ldc.i4.1
    IL_0001:  stloc.0
    IL_0002:  newobj     instance void [BarImpl]BarImpl::.ctor()
    IL_0007:  stloc.1
    IL_0008:  ldc.i4.2
    IL_0009:  ldloc.1
    IL_000a:  callvirt   instance int32 [MyBar]MyBar::DoBar()
    IL_000f:  beq.s      IL_001d

    IL_0011:  ldstr      "FAIL: expected BarImpl.DoBar to execute, but anoth"
    + "er method was executed instead."
    IL_0016:  call       void [mscorlib_1]System.Console::WriteLine(string)
    IL_001b:  ldc.i4.0
    IL_001c:  stloc.0
    IL_001d:  ldloc.1
    IL_001e:  stloc.2
    IL_001f:  ldc.i4.2
    IL_0020:  ldloc.2
    IL_0021:  callvirt   instance int32 [MyBar]MyBar::DoBar()
    IL_0026:  beq.s      IL_0034

    IL_0028:  ldstr      "FAIL: expected BarImpl.DoBar to execute, but anoth"
    + "er method was executed instead."
    IL_002d:  call       void [mscorlib_1]System.Console::WriteLine(string)
    IL_0032:  ldc.i4.0
    IL_0033:  stloc.0
    IL_0034:  ldc.i4.1
    IL_0035:  ldloc.2
    IL_0036:  call       instance int32 [MyBar]MyBar::DoBar()
    IL_003b:  beq.s      IL_0049

    IL_003d:  ldstr      "FAIL: expected MyBar.DoSelfBar to execute, but ano"
    + "ther method was executed instead."
    IL_0042:  call       void [mscorlib_1]System.Console::WriteLine(string)
    IL_0047:  ldc.i4.0
    IL_0048:  stloc.0
    IL_0049:  ldloc.0
    IL_004a:  brtrue.s   IL_005b

    IL_004c:  ldc.i4.s   101
    IL_004e:  stloc.3
    IL_004f:  ldstr      "FAIL"
    IL_0054:  call       void [mscorlib_1]System.Console::WriteLine(string)
    IL_0059:  br.s       IL_0068

    IL_005b:  ldc.i4.s   100
    IL_005d:  stloc.3
    IL_005e:  ldstr      "PASS"
    IL_0063:  call       void [mscorlib_1]System.Console::WriteLine(string)
    IL_0068:  ldloc.3
    IL_0069:  ret
  } // end of method CMain::Main

  .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_1]System.Object::.ctor()
    IL_0006:  ret
  } // end of method CMain::.ctor

} // end of class CMain


// =============================================================

// *********** DISASSEMBLY COMPLETE ***********************