Merge pull request #617 from knocte/httpwebrequest_playground
[mono.git] / mono / tests / verifier / make_ctor_test.sh
1 #! /bin/sh
2
3 SED="sed"
4 if [ `which gsed 2> /dev/null` ] ; then 
5         SED="gsed"
6 fi
7
8 TEST_NAME=$1
9 TEST_VALIDITY=$2
10 TEST_CODE=$3
11 TEST_TARGET_TYPE=$4
12
13 TARGET_TYPE="Test"
14 TEST_OTHER_CODE="call instance void TestClass::'.ctor'()"
15
16 if [ "$TEST_TARGET_TYPE" == "other" ]; then
17         TARGET_TYPE="TestSubClass"
18         TEST_OTHER_CODE=$TEST_CODE
19         TEST_CODE=""
20 fi
21
22 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
23 echo $TEST_FILE
24 $SED -e "s/CODE/${TEST_CODE}/g" -e "s/OTHER/${TEST_OTHER_CODE}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" > $TEST_FILE <<//EOF
25
26 .assembly extern mscorlib
27 {
28   .ver 2:0:0:0
29   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
30 }
31 .assembly 'delegate_test'
32 {
33   .hash algorithm 0x00008004
34   .ver  0:0:0:0
35 }
36 .module delegate_test.exe
37 .class ansi beforefieldinit TestClass extends [mscorlib]System.Object
38 {
39         .method public hidebysig specialname  rtspecialname instance default void .ctor ()  cil managed 
40         {
41                 .maxstack 8
42                 ldarg.0
43                 call instance void object::'.ctor'()
44                 ret 
45         }
46
47         .method public hidebysig specialname  rtspecialname instance default void .ctor (object V_1)  cil managed 
48         {
49                 .maxstack 8
50                 ldarg.0
51                 call instance void object::'.ctor'()
52                 ret 
53         }
54 }
55
56 .module delegate_test.exe
57 .class ansi beforefieldinit TestSubClass extends TestClass
58 {
59         .method public hidebysig specialname  rtspecialname instance default void .ctor ()  cil managed 
60         {
61                 .maxstack 8
62                 ldarg.0
63                 OTHER
64                 
65                 leave END
66 END:
67                 ret 
68         }
69 }
70
71
72
73
74 .class ansi beforefieldinit Test extends [mscorlib]System.Object
75 {
76         .field int32 val
77         .field object obj
78
79         .method public hidebysig  specialname  rtspecialname instance default void .ctor ()  cil managed 
80         {
81                 .maxstack 8
82                 .locals init (Test V_0)
83                 ldarg.0
84                 CODE
85                 
86                 leave END
87 END:
88                 ret 
89         }
90
91         .method public hidebysig static default void StaticMethod (object A_0)  cil managed 
92         {
93                 .maxstack 8
94                 ret 
95         }
96
97
98         .method public hidebysig instance default void InstanceMethod ()  cil managed 
99         {
100                 .maxstack 8
101                 ret 
102         }
103
104 }
105
106
107 .class public auto ansi beforefieldinit Driver
108         extends [mscorlib]System.Object
109 {
110         .method public hidebysig  specialname  rtspecialname instance default void .ctor ()  cil managed 
111         {
112                 .maxstack 8
113                 ldarg.0
114                 call instance void object::'.ctor'()
115
116                 ret 
117         }
118
119         .method public static int32 Main ()
120         {
121                 .entrypoint
122                 .maxstack 2
123                 .locals init ()
124                 newobj instance void ${TARGET_TYPE}::.ctor()
125                 pop
126                 ldc.i4.0
127                 ret 
128
129         }
130 }
131 //EOF