summaryrefslogtreecommitdiff
path: root/tests/src/JIT/Directed/coverage/importer/ldelemnullarr2.il
blob: d4af5e598365574180f6b739dd3950e01d1bf1ad (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
// 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 legacy library mscorlib {}
.assembly extern System.Console
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
  .ver 4:0:0:0
}
.assembly legacy library ldelemnullarr2 {}
.class private auto ansi beforefieldinit ldelemnullarr2
       extends [mscorlib]System.Object
{
  .method public hidebysig static void  f() cil managed
  {
    // Code size       11 (0xb)
    .maxstack  2
    .locals init (int32[] V_0)
    IL_0002:  ldnull
    IL_0003:  ldc.i4.0
    IL_0004:  ldelem.i4
    IL_0005:  call       void [System.Console]System.Console::WriteLine(int32)
    IL_000a:  ret
  } // end of method ldelemnullarr2::f

  .method public hidebysig static int32  Main() cil managed
  {
    .entrypoint
    // Code size       59 (0x3b)
    .maxstack  1
    .locals init (int32 V_0)
    .try
    {
      IL_0000:  call       void ldelemnullarr2::f()
      IL_0005:  leave.s    IL_0021

    }  // end .try
    catch [mscorlib]System.NullReferenceException 
    {
      IL_0007:  pop
      IL_0008:  ldstr      "Caught expected System.NullReferenceException"
      IL_000d:  call       void [System.Console]System.Console::WriteLine(string)
      IL_0012:  ldstr      "PASSED"
      IL_0017:  call       void [System.Console]System.Console::WriteLine(string)
      IL_001c:  ldc.i4.s   100
      IL_001e:  stloc.0
      IL_001f:  leave.s    IL_0039

    }  // end handler
    IL_0021:  ldstr      "Should have caught System.NullReferenceException"
    IL_0026:  call       void [System.Console]System.Console::WriteLine(string)
    IL_002b:  ldstr      "FAILED"
    IL_0030:  call       void [System.Console]System.Console::WriteLine(string)
    IL_0035:  ldc.i4.1
    IL_0036:  stloc.0
    IL_0037:  br.s       IL_0039

    IL_0039:  ldloc.0
    IL_003a:  ret
  }
}