10 TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
11 TEST_FILE=${TEST_NAME}_generated.il
13 TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
14 TEST_TYPE2=`echo $TEST_TYPE2 | sed -s 's/&/\\\&/'`
16 if [ "$TEST_CREATE_FIELD" == "no" ]; then
19 CLASS_FIELDS=".field public ${TEST_TYPE1} fld\n .field public static ${TEST_TYPE1} sfld";
22 sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/CLASS_FIELDS/${CLASS_FIELDS}/g" -e "s/OPCODE/${TEST_OP}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" > $TEST_FILE <<//EOF
24 .assembly '${TEST_NAME}_generated'
26 .hash algorithm 0x00008004
30 // VALIDITY CIL which breaks the ECMA-335 rules.
31 // this CIL should fail verification by a conforming CLI verifier.
33 .assembly extern mscorlib
36 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
39 .class ClassA extends [mscorlib]System.Object
43 .class ClassB extends [mscorlib]System.Object
47 .class interface abstract InterfaceA
51 .class interface abstract InterfaceB
55 .class sealed ValueType extends [mscorlib]System.ValueType
57 .field private int32 v
60 .class Class extends [mscorlib]System.Object
64 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
68 call instance void object::.ctor()
72 .method public void Method(TYPE1) cil managed
78 .method public static int32 Main() cil managed
86 newobj instance void class Class::.ctor()
88 OPCODE // VALIDITY, TYPE2 cannot be stored in TYPE1.