8 TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
9 TEST_FILE=${TEST_NAME}_generated.il
11 TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
12 TEST_TYPE2=`echo $TEST_TYPE2 | sed -s 's/&/\\\&/'`
13 sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" > $TEST_FILE <<//EOF
15 // VALIDITY CIL which breaks the ECMA-335 rules.
16 // this CIL should fail verification by a conforming CLI verifier.
18 .assembly '${TEST_NAME}_generated'
20 .hash algorithm 0x00008004
24 .class ClassA extends [mscorlib]System.Object
28 .class ClassB extends [mscorlib]System.Object
32 .class ClassSubA extends ClassA
36 .class interface abstract InterfaceA
40 .class interface abstract InterfaceB
44 .class ImplA extends [mscorlib]System.Object implements InterfaceA
49 .class sealed MyValueType extends [mscorlib]System.ValueType
51 .field private int32 v
54 .class sealed MyValueType2 extends [mscorlib]System.ValueType
56 .field private int64 v
59 .class public Template
60 extends [mscorlib]System.Object
62 .field public object foo
65 .class public Template\`1<T>
66 extends [mscorlib]System.Object
70 .class public Template\`2<T, U>
71 extends [mscorlib]System.Object
76 .class interface Bivariant\`2<+T,-U>
77 extends [mscorlib]System.Object
81 .class public BaseBase\`2<H,G>
82 extends [mscorlib]System.Object
86 .class public Base\`1<B>
87 extends class BaseBase\`2<int32, !0>
91 .class public SubClass1\`1<T>
92 extends class Base\`1<!0>
96 .class public SubClass2\`1<J>
97 extends class Base\`1<!0>
101 .class interface public Interface\`1<I>
106 .class public InterfaceImpl\`1<M>
107 implements class Interface\`1<!0>
112 .class interface public ICovariant\`1<+T>
116 .class interface public IContravariant\`1<-T>
120 .class public CovariantImpl\`1<K>
121 implements class ICovariant\`1<!0>
125 .class public ContravariantImpl\`1<H>
126 implements class IContravariant\`1<!0>
131 .method public static TYPE1 Foo(TYPE2 V_0) cil managed
138 .method public static int32 Foo() cil managed
145 call TYPE1 Foo(TYPE2)