2010-05-11 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mono / tests / verifier / make_unbox_any_test.sh
blob26e6710545ce414b36ef892e1335124fa9aac05a
1 #! /bin/sh
3 TEST_NAME=$1
4 TEST_VALIDITY=$2
5 TEST_TYPE1=$3
6 TEST_TYPE2=$4
7 TEST_POST_OP=$5
8 TEST_INIT=$6
10 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
11 echo $TEST_FILE
12 sed -e "s/INIT_OP/${TEST_INIT}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/POST_OP/${TEST_POST_OP}/g"> $TEST_FILE <<//EOF
14 .assembly extern mscorlib
16 .ver 2:0:0:0
17 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
20 .assembly 'ldobj_test'
22 .hash algorithm 0x00008004
23 .ver 0:0:0:0
26 .module ldobj.exe
29 .class Class extends [mscorlib]System.Object
31 .field public int32 valid
34 .class public Template\`1<T>
35 extends [mscorlib]System.Object
39 .class sealed public StructTemplate\`1<T>
40 extends [mscorlib]System.ValueType
42 .field public !0 t
45 .class sealed public StructTemplate2\`1<T>
46 extends [mscorlib]System.ValueType
48 .field public !0 t
52 .class public auto ansi sealed MyStruct
53 extends [mscorlib]System.ValueType
55 .field public int32 foo
59 .class public auto ansi sealed MyEnum
60 extends [mscorlib]System.Enum
62 .field public specialname rtspecialname int32 value__
63 .field public static literal valuetype MyEnum B = int32(0x00000000)
64 .field public static literal valuetype MyEnum C = int32(0x00000001)
67 .method public static int32 Main ()
69 .entrypoint
70 .maxstack 8
71 .locals init (TYPE1 V_0, TYPE2 V_1)
73 .try {
74 INIT_OP
75 stloc.0
77 ldloc.0
79 unbox.any TYPE2 // VALIDITY
80 POST_OP
81 leave END
82 } catch [mscorlib]System.NullReferenceException {
83 pop
84 leave END
87 END:
88 ldc.i4.0
89 ret
92 //EOF