#! /bin/sh SED="sed" if [ `which gsed 2> /dev/null` ] ; then SED="gsed" fi TEST_NAME=$1 TEST_VALIDITY=$2 TEST_TYPE1=$3 TEST_TYPE2=$4 TEST_NAME=${TEST_VALIDITY}_${TEST_NAME} TEST_FILE=${TEST_NAME}_generated.il echo $TEST_FILE TEST_TYPE1=`echo $TEST_TYPE1 | $SED -s 's/&/\\\&/'` TEST_TYPE2=`echo $TEST_TYPE2 | $SED -s 's/&/\\\&/'` $SED -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" > $TEST_FILE < extends [mscorlib]System.Object { } .class public Template\`2 extends [mscorlib]System.Object { } .class interface Bivariant\`2<+T,-U> extends [mscorlib]System.Object { } .class public BaseBase\`2 extends [mscorlib]System.Object { } .class public Base\`1 extends class BaseBase\`2 { } .class public SubClass1\`1 extends class Base\`1 { } .class public SubClass2\`1 extends class Base\`1 { } .class interface public Interface\`1 { } .class public InterfaceImpl\`1 implements class Interface\`1 { } .class interface public ICovariant\`1<+T> { } .class interface public IContravariant\`1<-T> { } .class public CovariantImpl\`1 implements class ICovariant\`1 { } .class public ContravariantImpl\`1 implements class IContravariant\`1 { } .method public static TYPE1 Foo(TYPE2 V_0) cil managed { .maxstack 2 ldarg.0 ret // VALIDITY. } .method public static int32 Foo() cil managed { .entrypoint .maxstack 2 .locals init ( TYPE2 V) ldloc.0 call TYPE1 Foo(TYPE2) pop ldc.i4.0 ret // VALIDITY. } //EOF