* Makefile, *.sh, *.il: Change status of a bunch of a tests to reflect the metadata
verifier. First pass into making the test suite works under OSX.
svn path=/trunk/mono/; revision=150305
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Makefile, *.sh, *.il: Change status of a bunch of a tests to reflect the metadata
+ verifier. First pass into making the test suite works under OSX.
+
2010-01-08 Rodrigo Kumpera <rkumpera@novell.com>
* valid_iface_with_variant_constraint.cs: Constraints can be variant.
if [ "$$FIRST" == "strict" ]; \
then \
#in strict more it must fail under strict check and pass under non-strict check \
- ../../metadata/pedump --verify error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
R1=$$?; \
- ../../metadata/pedump --verify error,warn,cls,code,non-strict $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code,non-strict $$TEST.exe >/dev/null 2>/dev/null; \
R2=$$?; \
if [ $$R1 != 2 ] && [ $$R1 != 3 ]; then \
echo "$$TEST is strict but did not fail under strict check, got $${R1} but expected 2 or 3"; \
fi \
elif [ "$$FIRST" == "typeunverifiable" ]; then \
#in type unverifiable more it must fail under verifiable mode but it's ok under valid mode \
- ../../metadata/pedump --verify error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
R1=$$?; \
- ../../metadata/pedump --verify error,warn,cls,code,valid-only $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code,valid-only $$TEST.exe >/dev/null 2>/dev/null; \
R2=$$?; \
if [ $$R1 != 3 ]; then \
echo "$$TEST is type unverifiable but did not fail under verifiable check, got $${R1} but expected 3"; \
echo "$$TEST is type unverifiable but did not pass under non-strict check, got $${R2} but expected 0"; \
fi \
elif [ $$RES != 99 ]; then \
- ../../metadata/pedump --verify error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
R=$$?; \
if [ $$R != $$RES ]; then \
echo "$$TEST failed expected $$RES but got $$R"; \
--- /dev/null
+.assembly extern mscorlib
+{
+ .ver 2:0:0:0
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+}
+.assembly extern System.Core
+{
+ .ver 3:5:0:0
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+}
+.assembly 'test-anon-01'
+{
+ .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
+ 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
+
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module 'test-anon-01.exe' // GUID = {38A511CD-E5D7-4DA2-88C0-A137887BAFBC}
+
+
+ .class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .field private static class [System.Core]System.Func`1<!!0> '<>f__am$cache0'
+ .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
+
+
+ // method line 1
+ .method public hidebysig specialname rtspecialname
+ instance default void '.ctor' () cil managed
+ {
+ // Method begins at RVA 0x20ec
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void object::'.ctor'()
+ IL_0006: ret
+ } // end of method Test::.ctor
+
+ // method line 2
+ .method private static hidebysig
+ default class [System.Core]System.Func`1<!!T> XX<T> () cil managed
+ {
+ // Method begins at RVA 0x20f4
+ // Code size 32 (0x20)
+ .maxstack 4
+ .locals init (
+ class [System.Core]System.Func`1<!!T> V_0)
+ IL_0000: ldsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
+ IL_0005: brtrue.s IL_0018
+
+ IL_0007: ldnull
+ IL_0008: ldftn !!0 class Test::'<XX>m__0'<!!0> ()
+ IL_000e: newobj instance void class [System.Core]System.Func`1<!!T>::'.ctor'(object, native int)
+ IL_0013: stsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
+ IL_0018: ldsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
+ IL_001d: stloc.0
+ IL_001e: ldloc.0
+ IL_001f: ret
+ } // end of method Test::XX
+
+ // method line 3
+ .method public static hidebysig
+ default int32 Main () cil managed
+ {
+ // Method begins at RVA 0x2120
+ .entrypoint
+ // Code size 103 (0x67)
+ .maxstack 20
+ IL_0000: call class [System.Core]System.Func`1<!!0> class Test::XX<bool> ()
+ IL_0005: callvirt instance !0 class [System.Core]System.Func`1<bool>::Invoke()
+ IL_000a: box [mscorlib]System.Boolean
+ IL_000f: call instance class [mscorlib]System.Type object::GetType()
+ IL_0014: ldtoken [mscorlib]System.Boolean
+ IL_0019: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_001e: beq IL_0025
+
+ IL_0023: ldc.i4.1
+ IL_0024: ret
+ IL_0025: call class [System.Core]System.Func`1<!!0> class Test::XX<int32> ()
+ IL_002a: callvirt instance !0 class [System.Core]System.Func`1<int32>::Invoke()
+ IL_002f: box [mscorlib]System.Int32
+ IL_0034: call instance class [mscorlib]System.Type object::GetType()
+ IL_0039: ldtoken [mscorlib]System.Int32
+ IL_003e: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0043: beq IL_004a
+
+ IL_0048: ldc.i4.1
+ IL_0049: ret
+ IL_004a: call class [System.Core]System.Func`1<!!0> class Test::XX<object> ()
+ IL_004f: callvirt instance !0 class [System.Core]System.Func`1<object>::Invoke()
+ IL_0054: brfalse IL_005b
+
+ IL_0059: ldc.i4.2
+ IL_005a: ret
+ IL_005b: ldstr "OK"
+ IL_0060: call void class [mscorlib]System.Console::WriteLine(string)
+ IL_0065: ldc.i4.0
+ IL_0066: ret
+ } // end of method Test::Main
+
+ // method line 4
+ .method private static hidebysig
+ default !!T '<XX>m__0'<T> () cil managed
+ {
+ .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
+
+ // Method begins at RVA 0x2194
+ // Code size 12 (0xc)
+ .maxstack 2
+ .locals init (
+ !!T V_0,
+ !!T V_1)
+ IL_0000: ldloca.s 0
+ IL_0002: initobj !!0
+ IL_0008: ldloc.0
+ IL_0009: ret
+ IL_000a: ldloc.1
+ IL_000b: ret
+ } // end of method Test::<XX>m__0
+
+ } // end of class Test
+
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_TYPE1=$3
fi
fi
-TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | sed -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
+TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | $SED -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
echo $TEST_FILE
-sed -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/TYPE3/${TEST_TYPE3}/g" -e "s/INIT_LOCS/${INIT_LOCS}/g" -e "s/INIT_IL/${INIT_IL}/g"> $TEST_FILE <<//EOF
+$SED -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/TYPE3/${TEST_TYPE3}/g" -e "s/INIT_LOCS/${INIT_LOCS}/g" -e "s/INIT_IL/${INIT_IL}/g"> $TEST_FILE <<//EOF
.assembly extern mscorlib
{
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_TYPE1=$3
INIT_IL="ldloca.s 2\n\tstloc.1"
fi
-TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | sed -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
+TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | $SED -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
echo $TEST_FILE
-sed -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/TYPE3/${TEST_TYPE3}/g" -e "s/INIT_LOCS/${INIT_LOCS}/g" -e "s/INIT_IL/${INIT_IL}/g"> $TEST_FILE <<//EOF
+$SED -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/TYPE3/${TEST_TYPE3}/g" -e "s/INIT_LOCS/${INIT_LOCS}/g" -e "s/INIT_IL/${INIT_IL}/g"> $TEST_FILE <<//EOF
.assembly extern mscorlib
{
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_OP=$3
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" -e "s/OPCODE/${TEST_OP}/g" > $TEST_FILE <<//EOF
+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" -e "s/OPCODE/${TEST_OP}/g" > $TEST_FILE <<//EOF
// VALIDITY CIL which breaks the ECMA-335 rules.
// this CIL should fail verification by a conforming CLI verifier.
I=`expr $I + 1`
done
- ./make_unary_test.sh conv_op_${J}_${I} badmd $OP "$TYPE" "typedref&"
+ ./make_unary_test.sh conv_op_${J}_${I} invalid $OP "typedref&"
J=`expr $J + 1`
I=1
done
./make_store_test.sh coercion_78_${I} unverifiable "$OP" typedref 'native int'
./make_store_test.sh coercion_89_${I} unverifiable "$OP" typedref int64
./make_store_test.sh coercion_80_${I} unverifiable "$OP" typedref float64
- ./make_store_test.sh coercion_81_${I} badmd "$OP" typedref 'typedref&'
+ ./make_store_test.sh coercion_81_${I} invalid "$OP" typedref 'typedref&'
./make_store_test.sh coercion_82_${I} unverifiable "$OP" typedref object
I=`expr $I + 1`
done
#for T1 in "int8" "int64" "float64" "object" "string" "class Class" "int32[]" "int32[,]" "valuetype MyStruct" "valuetype MyStruct2" "int32 *" "valuetype MyStruct *" "method int32 *(int32)"
for T1 in "native int" "int8*" "typedref"
do
- for T2 in "int8" "int64" "float64" "object" "string" "class Class" "int32[]" "int32[,]" "valuetype MyStruct" "valuetype MyStruct2" "int32 *" "valuetype MyStruct *" "method int32 *(int32)" "native int" "typedref" "typedref\&" "class Template\`1<object>" "valuetype StructTemplate\`1<object>" "valuetype StructTemplate2\`1<object>"
+ for T2 in "int8" "int64" "float64" "object" "string" "class Class" "int32[]" "int32[,]" "valuetype MyStruct" "valuetype MyStruct2" "int32 *" "valuetype MyStruct *" "method int32 *(int32)" "native int" "typedref" "class Template\`1<object>" "valuetype StructTemplate\`1<object>" "valuetype StructTemplate2\`1<object>"
do
./make_ldobj_test.sh ldobj_${I} unverifiable "${T1}" "${T2}"
I=`expr $I + 1`
done
done
+for T1 in "native int" "int8*" "typedref"
+do
+ ./make_ldobj_test.sh ldobj_${I} invalid "${T1}" "typedref\&"
+ I=`expr $I + 1`
+done
done
-for TYPE in "int32*" "typedref" "method int32 *(int32)"
+for TYPE in "int32*" "method int32 *(int32)"
do
./make_stobj_test.sh stobj_simple_${I} unverifiable "$TYPE" "$TYPE\&" "$TYPE"
I=`expr $I + 1`
done
-for TYPE in "int32\&" "void"
+for TYPE in "int32\&" "void" "typedref"
do
- ./make_stobj_test.sh stobj_simple_${I} badmd "$TYPE" "$TYPE\&" "$TYPE"
+ ./make_stobj_test.sh stobj_simple_${I} invalid "$TYPE" "$TYPE\&" "$TYPE"
I=`expr $I + 1`
done
done
#should be able to use unmanaged types
-for TYPE in "int32*" "typedref" "method int32 *(int32)"
+for TYPE in "int32*" "method int32 *(int32)"
do
./make_cpobj_test.sh cpobj_simple_${I} unverifiable "${TYPE}\&" "${TYPE}\&" "${TYPE}"
I=`expr $I + 1`
done
#should be able to use invalid types
-for TYPE in "int32\&" "void"
+for TYPE in "int32\&" "void" "typedref"
do
- ./make_cpobj_test.sh cpobj_simple_${I} badmd "${TYPE}\&" "${TYPE}\&" "${TYPE}"
+ ./make_cpobj_test.sh cpobj_simple_${I} invalid "${TYPE}\&" "${TYPE}\&" "${TYPE}"
I=`expr $I + 1`
done
#call conv
./make_delegate_compat_test.sh delegate_bad_cconv_1 unverifiable int32 int32 int32 int32 "default" "vararg"
-./make_delegate_compat_test.sh delegate_bad_cconv_2 unverifiable int32 int32 int32 int32 "vararg" " "
+#This is invalid because we don't properly decode memberref signatures
+./make_delegate_compat_test.sh delegate_bad_cconv_2 invalid int32 int32 int32 int32 "vararg" " "
#return type
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_OP=$3
TEST_TYPE1=$4
-TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | sed -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
+TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | $SED -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
echo $TEST_FILE
-TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
-sed -e "s/OPCODE/${TEST_OP}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/LOAD_OPCODE/${TEST_LOAD_OP}/g" > $TEST_FILE <<//EOF
+TEST_TYPE1=`echo $TEST_TYPE1 | $SED -s 's/&/\\\&/'`
+$SED -e "s/OPCODE/${TEST_OP}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/LOAD_OPCODE/${TEST_LOAD_OP}/g" > $TEST_FILE <<//EOF
// VALIDITY CIL which breaks the ECMA-335 rules.
// this CIL should fail verification by a conforming CLI verifier.
.field [0] private int32 privateIntVal
.field [0] public int32 publicIntVal
.field [4] public int32 intVal
- //.field [4] public object objVal
}
.method public static int32 Main() cil managed
+++ /dev/null
-.assembly extern mscorlib
-{
- .ver 2:0:0:0
- .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
-}
-.assembly extern System.Core
-{
- .ver 3:5:0:0
- .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
-}
-.assembly 'test-anon-01'
-{
- .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
- 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
- 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
-
- .hash algorithm 0x00008004
- .ver 0:0:0:0
-}
-.module 'test-anon-01.exe' // GUID = {38A511CD-E5D7-4DA2-88C0-A137887BAFBC}
-
-
- .class public auto ansi beforefieldinit Test
- extends [mscorlib]System.Object
- {
- .field private static class [System.Core]System.Func`1<!!0> '<>f__am$cache0'
- .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
-
-
- // method line 1
- .method public hidebysig specialname rtspecialname
- instance default void '.ctor' () cil managed
- {
- // Method begins at RVA 0x20ec
- // Code size 7 (0x7)
- .maxstack 8
- IL_0000: ldarg.0
- IL_0001: call instance void object::'.ctor'()
- IL_0006: ret
- } // end of method Test::.ctor
-
- // method line 2
- .method private static hidebysig
- default class [System.Core]System.Func`1<!!T> XX<T> () cil managed
- {
- // Method begins at RVA 0x20f4
- // Code size 32 (0x20)
- .maxstack 4
- .locals init (
- class [System.Core]System.Func`1<!!T> V_0)
- IL_0000: ldsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
- IL_0005: brtrue.s IL_0018
-
- IL_0007: ldnull
- IL_0008: ldftn !!0 class Test::'<XX>m__0'<!!0> ()
- IL_000e: newobj instance void class [System.Core]System.Func`1<!!T>::'.ctor'(object, native int)
- IL_0013: stsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
- IL_0018: ldsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
- IL_001d: stloc.0
- IL_001e: ldloc.0
- IL_001f: ret
- } // end of method Test::XX
-
- // method line 3
- .method public static hidebysig
- default int32 Main () cil managed
- {
- // Method begins at RVA 0x2120
- .entrypoint
- // Code size 103 (0x67)
- .maxstack 20
- IL_0000: call class [System.Core]System.Func`1<!!0> class Test::XX<bool> ()
- IL_0005: callvirt instance !0 class [System.Core]System.Func`1<bool>::Invoke()
- IL_000a: box [mscorlib]System.Boolean
- IL_000f: call instance class [mscorlib]System.Type object::GetType()
- IL_0014: ldtoken [mscorlib]System.Boolean
- IL_0019: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
- IL_001e: beq IL_0025
-
- IL_0023: ldc.i4.1
- IL_0024: ret
- IL_0025: call class [System.Core]System.Func`1<!!0> class Test::XX<int32> ()
- IL_002a: callvirt instance !0 class [System.Core]System.Func`1<int32>::Invoke()
- IL_002f: box [mscorlib]System.Int32
- IL_0034: call instance class [mscorlib]System.Type object::GetType()
- IL_0039: ldtoken [mscorlib]System.Int32
- IL_003e: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
- IL_0043: beq IL_004a
-
- IL_0048: ldc.i4.1
- IL_0049: ret
- IL_004a: call class [System.Core]System.Func`1<!!0> class Test::XX<object> ()
- IL_004f: callvirt instance !0 class [System.Core]System.Func`1<object>::Invoke()
- IL_0054: brfalse IL_005b
-
- IL_0059: ldc.i4.2
- IL_005a: ret
- IL_005b: ldstr "OK"
- IL_0060: call void class [mscorlib]System.Console::WriteLine(string)
- IL_0065: ldc.i4.0
- IL_0066: ret
- } // end of method Test::Main
-
- // method line 4
- .method private static hidebysig
- default !!T '<XX>m__0'<T> () cil managed
- {
- .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
-
- // Method begins at RVA 0x2194
- // Code size 12 (0xc)
- .maxstack 2
- .locals init (
- !!T V_0,
- !!T V_1)
- IL_0000: ldloca.s 0
- IL_0002: initobj !!0
- IL_0008: ldloc.0
- IL_0009: ret
- IL_000a: ldloc.1
- IL_000b: ret
- } // end of method Test::<XX>m__0
-
- } // end of class Test
-