9 if [ "${TEST_EMIT_CSTOR}" == "yes" ]; then
10 TEST_CSTOR="newobj instance void ${TEST_TYPE2}::.ctor()";
15 TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
16 TEST_FILE=${TEST_NAME}_generated.il
18 #TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
19 #TEST_TYPE2=`echo $TEST_TYPE2 | sed -s 's/&/\\\&/'`
20 sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/CSTOR/${TEST_CSTOR}/g" -e "s/OPCODE/${TEST_OP}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" > $TEST_FILE <<//EOF
22 .assembly '${TEST_NAME}_generated'
24 .hash algorithm 0x00008004
28 // VALIDITY CIL which breaks the ECMA-335 rules.
29 // this CIL should fail verification by a conforming CLI verifier.
31 .assembly extern mscorlib
34 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
37 .class interface abstract InterfaceA
41 .class interface abstract InterfaceB
45 .class sealed MyValueType extends [mscorlib]System.ValueType
47 .field public int32 fld
50 .class ClassB extends [mscorlib]System.Object
52 .field public TYPE1 fld
53 .field public static TYPE1 sfld
55 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
59 call instance void object::.ctor()
64 .class ClassA extends [mscorlib]System.Object
66 .field public TYPE1 fld
67 .field public static TYPE1 sfld
68 .field public initonly TYPE1 const_field
69 .field public static initonly TYPE1 st_const_field
71 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
75 call instance void object::.ctor()
80 .class public SubClass extends ClassA
82 .field public TYPE1 subfld
83 .field public static TYPE1 subsfld
85 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
89 call instance void ClassA::.ctor()
94 .class public explicit Overlapped extends [mscorlib]System.Object
96 .field[0] public TYPE1 field1
97 //.field[0] public TYPE1 field2
98 .field[8] public TYPE1 field3
99 //.field[8] public TYPE1 field4
100 .field[16] public TYPE1 field5
101 .field[20] public TYPE1 field10
102 .field[24] public TYPE2 field_ok
104 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
108 call instance void object::.ctor()
113 .class public explicit SubOverlapped extends Overlapped
115 .field[16] public TYPE1 field6
117 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
121 call instance void Overlapped::.ctor()
126 .method public static int32 Main() cil managed