9 TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
10 TEST_FILE=${TEST_NAME}_generated.cil
12 TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
13 TEST_TYPE2=`echo $TEST_TYPE2 | sed -s 's/&/\\\&/'`
14 sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/OPCODE/${TEST_OP}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" > $TEST_FILE <<//EOF
16 .assembly '${TEST_NAME}_generated'
18 .hash algorithm 0x00008004
22 // VALIDITY CIL which breaks the ECMA-335 rules.
23 // this CIL should fail verification by a conforming CLI verifier.
25 .assembly extern mscorlib
28 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
31 .class ClassA extends [mscorlib]System.Object
35 .class ClassB extends [mscorlib]System.Object
39 .class interface abstract InterfaceA
43 .class interface abstract InterfaceB
47 .class sealed ValueType extends [mscorlib]System.ValueType
49 .field private int32 v
52 .class Class extends [mscorlib]System.Object
54 .field public TYPE1 fld
56 .method public void Method(TYPE1) cil managed
62 .method public static int32 Main() cil managed
72 OPCODE // VALIDITY, TYPE2 cannot be stored in TYPE1.