C# 3.0 updates
[mono.git] / mono / tests / verifier / make_ldvirtftn_test.sh
1 #! /bin/sh
2
3 TEST_NAME=$1
4 TEST_VALIDITY=$2
5 TEST_LDFTN_OP=$3
6 TEST_OP=$4
7
8 TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | sed -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
9 echo $TEST_FILE
10 TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
11 sed -e "s/OPCODE/${TEST_OP}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/LDFTN_OP/${TEST_LDFTN_OP}/g" > $TEST_FILE <<//EOF
12
13 .assembly extern mscorlib
14 {
15   .ver 2:0:0:0
16   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
17 }
18 .assembly 'ldftn_test'
19 {
20   .hash algorithm 0x00008004
21   .ver  0:0:0:0
22 }
23 .module ldftn_test.exe
24
25 .class public Test
26         extends [mscorlib]System.Object
27 {
28         .method public hidebysig  specialname  rtspecialname instance default void .ctor ()  cil managed 
29         {
30                 .maxstack 8
31                 ldarg.0
32                 call instance void object::.ctor()
33                 ret 
34         }
35
36         .method public virtual void VirtMethod ()
37         {
38                 ret
39         }
40
41         .method public void Method ()
42         {
43                 ret
44         }
45
46         .method public static void StaticMethod ()
47         {
48                 ret
49         }
50 }
51
52 .class sealed MyValueType extends [mscorlib]System.ValueType
53 {
54         .field private int32 v
55 }
56
57 .class public auto ansi beforefieldinit Driver
58         extends [mscorlib]System.Object
59 {
60         .method public static void Method ()
61         {
62                 ret
63         }
64
65         .method public virtual void VirtMethod ()
66         {
67                 ret
68         }
69
70         .method public static void Foo (native int bla) {
71                 ret
72         }
73
74         .method public static int32 Main ()
75         {
76                 .entrypoint
77                 .maxstack 2
78                 .locals init (Test V0, MyValueType V1)
79                 newobj void class Test::.ctor()
80                 stloc.0
81
82                 OPCODE // VALIDITY
83                 LDFTN_OP
84                 pop
85
86                 ldc.i4.0
87                 ret 
88         }
89 }
90 //EOF