New tests.
[mono.git] / mcs / tests / ver-il-gmcs.xml
index c9f86e2ed908ddd46c7fad7425870ed0e004f8de..259b8bfde02e19438baf2aeab0db82f410537e27 100644 (file)
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void Main()">
-        <size>31</size>
+    </type>
+    <type name="A`1[U]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A`1+Test`1[U,T]">
+      <method name="A`1+Test`1+Nested`1[U,T,T] Foo()">
+        <size>2</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A`1+Test`1+Nested`1[U,T,X]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="X">
+      <method name="Int32 Main()">
+        <size>39</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>90</size>
+        <size>86</size>
+      </method>
+    </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>483</size>
+        <size>459</size>
       </method>
     </type>
     <type name="Mapper`2[A,R]">
         <size>17</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="gtest-116.cs">
     <type name="Slow.Test">
         <size>30</size>
       </method>
       <method name="Int32 Main()">
-        <size>118</size>
+        <size>117</size>
       </method>
     </type>
     <type name="X+A">
         <size>40</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="gtest-166.cs">
     <type name="C">
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>147</size>
+        <size>145</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
     </type>
     <type name="Fault">
       <method name="Void Main()">
-        <size>45</size>
+        <size>47</size>
       </method>
       <method name="System.String ToString()">
         <size>6</size>
       </method>
     </type>
   </test>
-  <test name="gtest-232.cs">
-    <type name="H">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="IEnumerable`1 Merge[T](IEnumerator`1)">
-        <size>30</size>
-      </method>
-      <method name="Void Main(System.String[])">
-        <size>1</size>
-      </method>
-    </type>
-    <type name="H+&lt;Merge&gt;c__Iterator0`1[T]">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="System.Object System.Collections.IEnumerator.get_Current()">
-        <size>12</size>
-      </method>
-      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()">
-        <size>7</size>
-      </method>
-      <method name="Boolean MoveNext()">
-        <size>117</size>
-      </method>
-      <method name="Void Dispose()">
-        <size>8</size>
-      </method>
-      <method name="Void Reset()">
-        <size>6</size>
-      </method>
-      <method name="T System.Collections.Generic.IEnumerator&lt;T&gt;.get_Current()">
-        <size>7</size>
-      </method>
-      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()">
-        <size>40</size>
-      </method>
-    </type>
-  </test>
   <test name="gtest-233.cs">
     <type name="Program">
       <method name="Void .ctor()">
       <method name="Void Main()">
         <size>163</size>
       </method>
+      <method name="Void f6(ParamEnum)">
+        <size>1</size>
+      </method>
     </type>
   </test>
   <test name="gtest-263.cs">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>74</size>
+        <size>94</size>
       </method>
     </type>
     <type name="D">
       </method>
     </type>
   </test>
-  <test name="gtest-316.cs">
-    <type name="X">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void Main()">
-        <size>1</size>
-      </method>
-    </type>
-    <type name="Foo">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Base">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void Method[R]()">
-        <size>0</size>
-      </method>
-    </type>
-    <type name="Derived">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void Method[S]()">
-        <size>7</size>
-      </method>
-      <method name="Void Method2[T]()">
-        <size>18</size>
-      </method>
-    </type>
-  </test>
   <test name="gtest-317.cs">
     <type name="Foo`1[K]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>90</size>
+        <size>86</size>
+      </method>
+    </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>45</size>
       </method>
       <method name="Void Test_6(Boolean)">
-        <size>51</size>
+        <size>47</size>
       </method>
       <method name="Void Test_7(System.Object)">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>75</size>
+        <size>50</size>
       </method>
       <method name="T[] Clone[T](T[])">
         <size>166</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="gtest-422.cs">
     <type name="A">
       </method>
     </type>
   </test>
-  <test name="gtest-448.cs">
-    <type name="C">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void TestA(Int32)">
-        <size>1</size>
-      </method>
-      <method name="Void TestB(Int64)">
-        <size>1</size>
-      </method>
-      <method name="Void TestC(Decimal)">
-        <size>1</size>
-      </method>
-      <method name="Int32 Main()">
-        <size>309</size>
-      </method>
-    </type>
-  </test>
   <test name="gtest-449.cs">
     <type name="Program">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
-  <test name="gtest-451.cs">
-    <type name="C">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Int32 Test(Int32, System.String, Boolean, UInt16)">
-        <size>2</size>
-      </method>
-      <method name="Int32 Main()">
-        <size>232</size>
-      </method>
-    </type>
-  </test>
-  <test name="gtest-452.cs">
-    <type name="C">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void Foo[T](T, T)">
-        <size>1</size>
-      </method>
-      <method name="Void TestParams(System.Int32[])">
-        <size>6</size>
-      </method>
-      <method name="Void TestParams(Int32)">
-        <size>1</size>
-      </method>
-      <method name="System.String get_Item(Int32, System.String)">
-        <size>2</size>
-      </method>
-      <method name="Void set_Item(Int32, System.String, System.String)">
-        <size>4</size>
-      </method>
-      <method name="Int32 Main()">
-        <size>123</size>
-      </method>
-      <method name="Void TestStruct(Nullable`1)">
-        <size>1</size>
-      </method>
-    </type>
-  </test>
   <test name="gtest-453.cs">
     <type name="Test.CompilerTest">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="gtest-467.cs">
+    <type name="S">
+      <method name="Int32 Main()">
+        <size>79</size>
+      </method>
+    </type>
+    <type name="A">
+      <method name="A op_Implicit(S)">
+        <size>6</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-468.cs">
+    <type name="TS">
+      <method name="Nullable`1 get_v()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>43</size>
+      </method>
+      <method name="Nullable`1 op_Implicit(TS)">
+        <size>7</size>
+      </method>
+      <method name="TS op_Implicit(Nullable`1)">
+        <size>2</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-469.cs">
+    <type name="Foo`2[T1,T2]">
+      <method name="Void .ctor(T2)">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Bar">
+      <method name="Int32 Main()">
+        <size>13</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-470.cs">
+    <type name="C">
+      <method name="Void Main()">
+        <size>13</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-471.cs">
+    <type name="Q">
+      <method name="Void bar[T](T ByRef)">
+        <size>16</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>11</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-472.cs">
+    <type name="C`1[T]">
+      <method name="Void CopyUnsafe(T[], System.Int64[])">
+        <size>1</size>
+      </method>
+      <method name="Boolean CopyUnsafe(T[], Int64)">
+        <size>2</size>
+      </method>
+      <method name="Void CopyUnsafe(T[])">
+        <size>11</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-473.cs">
+    <type name="A`1[X]">
+      <method name="Void Foo[T]()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="Void Foo[T]()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Int32 Main()">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-474.cs">
+    <type name="A`1[X]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void Main()">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-475.cs">
+    <type name="Value`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void .cctor()">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="Test`2[T,U]">
+      <method name="Value`1[T] get_Value()">
+        <size>2</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test`2+B[T,U]">
+      <method name="Void .ctor(Value`1)">
+        <size>7</size>
+      </method>
+      <method name="Void .cctor()">
+        <size>16</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void Main()">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-476.cs">
+    <type name="Test`1[T]">
+      <method name="B First()">
+        <size>10</size>
+      </method>
+      <method name="IFoo Second()">
+        <size>15</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-477.cs">
+    <type name="B`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B`1+BNested[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="AA`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="AA`1+ANested[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="M">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-478.cs">
+    <type name="M">
+      <method name="Void Foo()">
+        <size>1</size>
+      </method>
+      <method name="Void GenFoo()">
+        <size>1</size>
+      </method>
+      <method name="Void Main()">
+        <size>13</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-479.cs">
+    <type name="A">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="M">
+      <method name="Void Test[T](I`1)">
+        <size>1</size>
+      </method>
+      <method name="Void Main()">
+        <size>21</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-480.cs">
+    <type name="C">
+      <method name="Void Foo()">
+        <size>55</size>
+      </method>
+      <method name="Void Main()">
+        <size>30</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-481.cs">
+    <type name="TestClass`1[T]">
+      <method name="Void Add(T[][] ByRef)">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor(Int32)">
+        <size>18</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void Main()">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-anon-1.cs">
     <type name="X">
       <method name="Void .ctor()">
         <size>1</size>
       </method>
       <method name="Void Hello[U,V](U, V)">
-        <size>41</size>
+        <size>47</size>
       </method>
     </type>
     <type name="X">
         <size>1</size>
       </method>
       <method name="Void Main()">
-        <size>201</size>
+        <size>200</size>
       </method>
     </type>
     <type name="C+D">
         <size>53</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="gtest-anon-24.cs">
     <type name="Disposable`1[T]">
         <size>26</size>
       </method>
       <method name="Int32 Main()">
-        <size>431</size>
+        <size>501</size>
       </method>
     </type>
     <type name="Test+&lt;For&gt;c__AnonStorey0`1[T]">
         <size>23</size>
       </method>
     </type>
-    <type name="Test+&lt;Do&gt;c__AnonStorey2`1[T]">
-      <method name="Void .ctor()">
-        <size>7</size>
+    <type name="Test">
+      <method name="Void ArrayMutate[T](T[])">
+        <size>27</size>
       </method>
-      <method name="T &lt;&gt;m__2()">
-        <size>28</size>
+      <method name="System.Func`1[T[][]] ArrayMultiMutate[T](T[][])">
+        <size>26</size>
+      </method>
+      <method name="System.Func`1[System.Type] TypeOf[T](T)">
+        <size>38</size>
       </method>
     </type>
-    <type name="Test+&lt;Lock&gt;c__AnonStorey3`1[T]">
+    <type name="Test+&lt;TypeOf&gt;c__AnonStorey2`1[T]">
+      <method name="System.Type &lt;&gt;m__2()">
+        <size>56</size>
+      </method>
       <method name="Void .ctor()">
         <size>7</size>
       </method>
+    </type>
+    <type name="Test+&lt;Do&gt;c__AnonStorey3`1[T]">
       <method name="T &lt;&gt;m__3()">
-        <size>65</size>
+        <size>28</size>
       </method>
-    </type>
-    <type name="Test+&lt;Catch&gt;c__AnonStorey4`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
+    </type>
+    <type name="Test+&lt;Lock&gt;c__AnonStorey4`1[T]">
       <method name="T &lt;&gt;m__4()">
-        <size>48</size>
+        <size>65</size>
       </method>
-    </type>
-    <type name="Test+&lt;Finally&gt;c__AnonStorey5`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
+    </type>
+    <type name="Test+&lt;Catch&gt;c__AnonStorey5`1[T]">
       <method name="T &lt;&gt;m__5()">
-        <size>50</size>
+        <size>48</size>
       </method>
-    </type>
-    <type name="Test+&lt;Using&gt;c__AnonStorey6`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
+    </type>
+    <type name="Test+&lt;Finally&gt;c__AnonStorey6`1[T]">
       <method name="T &lt;&gt;m__6()">
+        <size>50</size>
+      </method>
+      <method name="Void .ctor()">
         <size>7</size>
       </method>
     </type>
-    <type name="Test+&lt;Switch&gt;c__AnonStorey7`1[T]">
+    <type name="Test+&lt;Using&gt;c__AnonStorey7`1[T]">
+      <method name="T &lt;&gt;m__7()">
+        <size>7</size>
+      </method>
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="T &lt;&gt;m__7()">
+    </type>
+    <type name="Test+&lt;Switch&gt;c__AnonStorey8`1[T]">
+      <method name="T &lt;&gt;m__8()">
         <size>35</size>
       </method>
-    </type>
-    <type name="Test+&lt;ForForeach&gt;c__AnonStorey8`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="System.Collections.Generic.List`1[T] &lt;&gt;m__8()">
+    </type>
+    <type name="Test+&lt;ForForeach&gt;c__AnonStorey9`1[T]">
+      <method name="System.Collections.Generic.List`1[T] &lt;&gt;m__9()">
         <size>56</size>
       </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
     </type>
-    <type name="Test">
-      <method name="Void ArrayMutate[T](T[])">
-        <size>27</size>
+    <type name="Test+&lt;ArrayMutate&gt;c__AnonStoreyA`1[T]">
+      <method name="Void &lt;&gt;m__A(Int32)">
+        <size>36</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
-    <type name="Test+&lt;ArrayMutate&gt;c__AnonStorey9`1[T]">
+    <type name="Test+&lt;ArrayMultiMutate&gt;c__AnonStoreyB`1[T]">
+      <method name="T[][] &lt;&gt;m__B()">
+        <size>48</size>
+      </method>
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__9(Int32)">
-        <size>36</size>
+    </type>
+    <type name="CA`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
     <type name="Test">
-      <method name="System.Func`1[T[][]] ArrayMultiMutate[T](T[][])">
-        <size>26</size>
+      <method name="System.Func`1[T[]] NestedTypeMutate[T]()">
+        <size>34</size>
       </method>
     </type>
-    <type name="Test+&lt;ArrayMultiMutate&gt;c__AnonStoreyA`1[T]">
+    <type name="Test+&lt;NestedTypeMutate&gt;c__AnonStoreyC`1[T]">
+      <method name="T[] &lt;&gt;m__C()">
+        <size>37</size>
+      </method>
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="T[][] &lt;&gt;m__A()">
-        <size>48</size>
-      </method>
     </type>
   </test>
   <test name="gtest-anon-25.cs">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>44</size>
+        <size>42</size>
       </method>
     </type>
     <type name="Foo`1+&lt;ContainsAll&gt;c__AnonStorey0`1[T,U]">
         <size>7</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="gtest-anon-39.cs">
     <type name="Test">
       </method>
     </type>
   </test>
-  <test name="gtest-anon-47.cs">
-    <type name="C">
-      <method name="System.Func`2[T1,System.Func`2[T2,System.Action`1[T3]]] Curry[T1,T2,T3](System.Action`3[T1,T2,T3])">
-        <size>26</size>
-      </method>
-    </type>
-    <type name="Test">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Int32 Main()">
-        <size>59</size>
-      </method>
-      <method name="Void &lt;Main&gt;m__3(Int32, Int32, Int32)">
-        <size>23</size>
-      </method>
-    </type>
-    <type name="C+&lt;Curry&gt;c__AnonStorey0`3[T1,T2,T3]">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="System.Func`2[T2,System.Action`1[T3]] &lt;&gt;m__0(T1)">
-        <size>33</size>
-      </method>
-    </type>
-    <type name="C+&lt;Curry&gt;c__AnonStorey0`3+&lt;Curry&gt;c__AnonStorey1`3[T1,T2,T3]">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="System.Action`1[T3] &lt;&gt;m__1(T2)">
-        <size>45</size>
-      </method>
-    </type>
-    <type name="C+&lt;Curry&gt;c__AnonStorey0`3+&lt;Curry&gt;c__AnonStorey1`3+&lt;Curry&gt;c__AnonStorey2`3[T1,T2,T3]">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void &lt;&gt;m__2(T3)">
-        <size>35</size>
-      </method>
-    </type>
-  </test>
   <test name="gtest-anon-48.cs">
     <type name="GeneratorEnumerable`1[T]">
       <method name="Void .ctor(Func`1)">
       </method>
     </type>
   </test>
+  <test name="gtest-anon-57.cs">
+    <type name="X`1[T]">
+      <method name="Void IFoo&lt;T&gt;.Test()">
+        <size>37</size>
+      </method>
+      <method name="Void &lt;Test&gt;m__0()">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="M">
+      <method name="Void Main()">
+        <size>13</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Foo">
+      <method name="Void Invoke()">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Void EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-58.cs">
+    <type name="Test">
+      <method name="X Foo[X](Boolean)">
+        <size>45</size>
+      </method>
+      <method name="X FooNested[X](Boolean)">
+        <size>66</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>36</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test+&lt;Foo&gt;c__AnonStorey0`1[X]">
+      <method name="X &lt;&gt;m__0()">
+        <size>12</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test+&lt;FooNested&gt;c__AnonStorey1`1[X]">
+      <method name="Call`1[X] &lt;&gt;m__1()">
+        <size>12</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-59.cs">
+    <type name="TestGenericsSubtypeMatching.Sender`1[T]">
+      <method name="Void DoSend[TMessage](System.Action`1[T])">
+        <size>83</size>
+      </method>
+      <method name="Void Send(System.Action`1[T])">
+        <size>1</size>
+      </method>
+      <method name="Void ActionOnObject(System.Object)">
+        <size>8</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>11</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="TestGenericsSubtypeMatching.C">
+      <method name="Void Main()">
+        <size>40</size>
+      </method>
+      <method name="Void &lt;Main&gt;m__1(System.String)">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="TestGenericsSubtypeMatching.Sender`1+&lt;DoSend&gt;c__AnonStorey0`1[T,TMessage]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="TestGenericsSubtypeMatching.Sender`1+&lt;DoSend&gt;c__AnonStorey1`1[T,TMessage]">
+      <method name="Void &lt;&gt;m__0(T)">
+        <size>35</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-anon-6.cs">
     <type name="X">
       <method name="Void .ctor()">
         <size>54</size>
       </method>
       <method name="Void ConstantTest_4()">
-        <size>54</size>
+        <size>44</size>
       </method>
       <method name="Void ConstantTest_5()">
         <size>59</size>
         <size>101</size>
       </method>
       <method name="Void ConvertTest_12()">
-        <size>166</size>
+        <size>156</size>
       </method>
       <method name="Void ConvertTest_13()">
         <size>86</size>
         <size>167</size>
       </method>
       <method name="Void EqualTest_8()">
-        <size>126</size>
+        <size>116</size>
       </method>
       <method name="Void EqualTest_9()">
         <size>146</size>
         <size>169</size>
       </method>
       <method name="Void ListInitTest()">
-        <size>414</size>
+        <size>404</size>
       </method>
       <method name="Void ListInitTest_2()">
         <size>292</size>
         <size>63</size>
       </method>
       <method name="Void MemberAccessTest_9()">
-        <size>80</size>
+        <size>91</size>
       </method>
       <method name="Void MemberInitTest()">
         <size>302</size>
         <size>252</size>
       </method>
       <method name="Void NewTest_5()">
-        <size>128</size>
+        <size>371</size>
       </method>
       <method name="Void NotTest()">
         <size>70</size>
         <size>167</size>
       </method>
       <method name="Void NotEqualTest_8()">
-        <size>126</size>
+        <size>116</size>
       </method>
       <method name="Void NotEqualTest_9()">
         <size>146</size>
         <size>144</size>
       </method>
       <method name="Void TypeAsTest_3()">
-        <size>95</size>
+        <size>85</size>
       </method>
       <method name="Void TypeIsTest()">
         <size>103</size>
         <size>103</size>
       </method>
       <method name="Void TypeIsTest_3()">
-        <size>95</size>
+        <size>85</size>
       </method>
       <method name="Void TypeIsTest_5()">
         <size>74</size>
         <size>66</size>
       </method>
       <method name="Void NewTest_6()">
-        <size>53</size>
+        <size>182</size>
       </method>
     </type>
     <type name="InverseLogicalOperator">
       <method name="Void LambdaTest()">
         <size>89</size>
       </method>
-    </type>
-    <type name="Tester+&lt;MemberAccessTest&gt;c__AnonStorey2">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Tester+&lt;MemberAccessTest_3&gt;c__AnonStorey3">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Tester+&lt;MemberAccessTest_4&gt;c__AnonStorey4">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Tester+&lt;MemberAccessTest_6&gt;c__AnonStorey5">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Tester+&lt;MemberAccessTest_9&gt;c__AnonStorey6">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Tester">
       <method name="Void EqualTest_15()">
         <size>159</size>
       </method>
       <method name="Void RightShiftTest_5()">
         <size>152</size>
       </method>
+      <method name="Void QuoteTest_2()">
+        <size>99</size>
+      </method>
+    </type>
+    <type name="Tester+&lt;MemberAccessTest&gt;c__AnonStorey1">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Tester+&lt;MemberAccessTest_3&gt;c__AnonStorey2">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Tester+&lt;MemberAccessTest_4&gt;c__AnonStorey3">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Tester+&lt;MemberAccessTest_6&gt;c__AnonStorey4">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Tester+&lt;MemberAccessTest_9&gt;c__AnonStorey5">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Tester">
+      <method name="Void NewTest_7()">
+        <size>53</size>
+      </method>
     </type>
   </test>
   <test name="gtest-etree-02.cs">
       <method name="Void Foo[T](System.Linq.Expressions.Expression`1[System.Func`2[T,T]])">
         <size>1</size>
       </method>
-      <method name="Void Main()">
-        <size>129</size>
+      <method name="System.String Param(System.String)">
+        <size>114</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>157</size>
+      </method>
+    </type>
+    <type name="M+&lt;Param&gt;c__AnonStorey0">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>56</size>
       </method>
       <method name="Int32 Main()">
-        <size>360</size>
+        <size>350</size>
       </method>
     </type>
   </test>
         <size>3</size>
       </method>
       <method name="Int32 Main()">
-        <size>594</size>
+        <size>564</size>
       </method>
     </type>
     <type name="EmptyDelegate">
         <size>300</size>
       </method>
       <method name="System.Int64[] GetValues()">
-        <size>23</size>
+        <size>18</size>
       </method>
     </type>
     <type name="Mono.C+&lt;Main&gt;c__AnonStorey0">
         <size>7</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="gtest-etree-10.cs">
     <type name="Foo`1[T]">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>44</size>
+        <size>42</size>
       </method>
     </type>
     <type name="Foo`1+&lt;ContainsAll&gt;c__AnonStorey0`1[T,U]">
         <size>7</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="gtest-etree-11.cs">
     <type name="C">
       </method>
     </type>
   </test>
+  <test name="gtest-etree-20.cs">
+    <type name="S">
+      <method name="Int32 Main()">
+        <size>215</size>
+      </method>
+    </type>
+    <type name="A">
+      <method name="A op_Implicit(S)">
+        <size>6</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-exmethod-01.cs">
     <type name="SimpleTest">
       <method name="System.String Prefix(System.String, System.String)">
       </method>
     </type>
   </test>
+  <test name="gtest-exmethod-30.cs">
+    <type name="Test">
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()">
+        <size>2</size>
+      </method>
+      <method name="Int32 get_First()">
+        <size>2</size>
+      </method>
+      <method name="IEnumerator`1 GetEnumerator()">
+        <size>2</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void Test()">
+        <size>14</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-exmethod-31.cs">
+    <type name="N.S">
+      <method name="Void Map[T](Int32, System.Func`2[T,System.String])">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="N2.S2">
+      <method name="Void Map(Int32, Int32)">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="M.C">
+      <method name="Void Main()">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-friend-01.cs">
     <type name="Test">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>282</size>
+        <size>280</size>
       </method>
     </type>
     <type name="&lt;PrivateImplementationDetails&gt;">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>54</size>
+        <size>53</size>
+      </method>
+    </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>183</size>
+        <size>184</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>30</size>
       </method>
       <method name="Int32 Main()">
-        <size>94</size>
+        <size>78</size>
       </method>
     </type>
     <type name="Test+&lt;Create&gt;c__Iterator0`1[T]">
         <size>40</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="gtest-iter-10.cs">
     <type name="Test">
       </method>
     </type>
   </test>
+  <test name="gtest-iter-12.cs">
+    <type name="H">
+      <method name="Void Main(System.String[])">
+        <size>1</size>
+      </method>
+      <method name="IEnumerable`1 Merge[T](IEnumerator`1)">
+        <size>30</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="H+&lt;Merge&gt;c__Iterator0`1[T]">
+      <method name="T System.Collections.Generic.IEnumerator&lt;T&gt;.get_Current()">
+        <size>7</size>
+      </method>
+      <method name="System.Object System.Collections.IEnumerator.get_Current()">
+        <size>12</size>
+      </method>
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()">
+        <size>7</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()">
+        <size>40</size>
+      </method>
+      <method name="Boolean MoveNext()">
+        <size>117</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>8</size>
+      </method>
+      <method name="Void Reset()">
+        <size>6</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-iter-13.cs">
+    <type name="C`1[T]">
+      <method name="IEnumerator GetEnumerator()">
+        <size>12</size>
+      </method>
+      <method name="IEnumerable`1 Filter(System.Func`2[T,System.Boolean])">
+        <size>37</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="M">
+      <method name="Void Main()">
+        <size>57</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C`1+&lt;Filter&gt;c__Iterator0[T]">
+      <method name="T System.Collections.Generic.IEnumerator&lt;T&gt;.get_Current()">
+        <size>7</size>
+      </method>
+      <method name="System.Object System.Collections.IEnumerator.get_Current()">
+        <size>12</size>
+      </method>
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()">
+        <size>7</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator()">
+        <size>52</size>
+      </method>
+      <method name="Boolean MoveNext()">
+        <size>203</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>62</size>
+      </method>
+      <method name="Void Reset()">
+        <size>6</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-lambda-01.cs">
     <type name="X">
       <method name="Int32 Main()">
         <size>2</size>
       </method>
       <method name="Int32 Main()">
-        <size>652</size>
+        <size>648</size>
       </method>
       <method name="&lt;&gt;__AnonType0`2[System.Int32,System.Boolean] &lt;Main&gt;m__0(Int32)">
         <size>42</size>
       </method>
     </type>
   </test>
+  <test name="gtest-optional-01.cs">
+    <type name="C">
+      <method name="Void TestA(Int32)">
+        <size>1</size>
+      </method>
+      <method name="Void TestB(Int64)">
+        <size>1</size>
+      </method>
+      <method name="Void TestC(Decimal)">
+        <size>1</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>310</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-optional-02.cs">
+    <type name="C">
+      <method name="Boolean Test2(Nullable`1)">
+        <size>11</size>
+      </method>
+      <method name="Int32 Test(Nullable`1)">
+        <size>27</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>101</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Boolean Test3(Nullable`1)">
+        <size>21</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-optional-03.cs">
+    <type name="C">
+      <method name="Int32 Test(Int32, System.String, Boolean, UInt16)">
+        <size>2</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>225</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-optional-04.cs">
+    <type name="C">
+      <method name="Void Foo[T](T, T)">
+        <size>1</size>
+      </method>
+      <method name="Void TestParams(System.Int32[])">
+        <size>6</size>
+      </method>
+      <method name="Void TestParams(Int32)">
+        <size>1</size>
+      </method>
+      <method name="Void TestStruct(Nullable`1)">
+        <size>1</size>
+      </method>
+      <method name="System.String get_Item(Int32, System.String)">
+        <size>2</size>
+      </method>
+      <method name="Void set_Item(Int32, System.String, System.String)">
+        <size>4</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>120</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-optional-05.cs">
+    <type name="Blah">
+      <method name="Int32 Foo(Int32, Int32)">
+        <size>4</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>46</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Blah+MyDelegate">
+      <method name="Int32 Invoke(Int32, Int32)">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(Int32, Int32, System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Int32 EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-optional-06.cs">
+    <type name="C">
+      <method name="Int32 Foo(Int32)">
+        <size>2</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>38</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="D">
+      <method name="Int32 Invoke(Int32)">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(Int32, System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Int32 EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-optional-07.cs">
+    <type name="Tests">
+      <method name="Void foo(Foo)">
+        <size>1</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-optional-08.cs">
+    <type name="Tests">
+      <method name="Int32 Main()">
+        <size>36</size>
+      </method>
+      <method name="Void .ctor(String)">
+        <size>14</size>
+      </method>
+      <method name="Void .ctor(Int32)">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-partial-01.cs">
     <type name="B`1[U]">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="gtest-variance-1.cs">
+    <type name="Foo">
+      <method name="System.String get_Bar()">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor(String)">
+        <size>14</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Int32 Main()">
+        <size>57</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-variance-10.cs">
+    <type name="Foo">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Int32 I&lt;string&gt;.get_Count()">
+        <size>2</size>
+      </method>
+      <method name="Int32 I&lt;Foo&gt;.get_Count()">
+        <size>2</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Program">
+      <method name="Int32 Main()">
+        <size>29</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-variance-11.cs">
     <type name="D">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="gtest-variance-12.cs">
+    <type name="D">
+      <method name="Void add_field(D`1[System.String])">
+        <size>24</size>
+      </method>
+      <method name="Void remove_field(D`1[System.String])">
+        <size>24</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>72</size>
+      </method>
+      <method name="Void &lt;Main&gt;m__0()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="D`1[T]">
+      <method name="Void Invoke()">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Void EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-variance-13.cs">
     <type name="A">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="gtest-variance-2.cs">
+    <type name="Foo">
+      <method name="System.String Bar(System.Object)">
+        <size>12</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Int32 Main()">
+        <size>92</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-variance-3.cs">
+    <type name="Test">
+      <method name="Int32 Main()">
+        <size>56</size>
+      </method>
+      <method name="Int32 Bar(Foo`1[System.Object])">
+        <size>12</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Foo`1[T]">
+      <method name="T Invoke()">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="T EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="Test+&lt;Main&gt;c__AnonStorey0">
+      <method name="System.String &lt;&gt;m__0()">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-variance-4.cs">
+    <type name="Test">
+      <method name="Int32 Main()">
+        <size>58</size>
+      </method>
+      <method name="Int32 Bar(Foo`1[System.String], System.String)">
+        <size>8</size>
+      </method>
+      <method name="Int32 &lt;Main&gt;m__0(System.Object)">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Foo`1[T]">
+      <method name="Int32 Invoke(T)">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(T, System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Int32 EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-variance-5.cs">
+    <type name="BothVariants`2[T1,T2]">
+      <method name="T1 get_Foo()">
+        <size>7</size>
+      </method>
+      <method name="Void set_Foo(T1)">
+        <size>8</size>
+      </method>
+      <method name="Int32 Bar(T2)">
+        <size>35</size>
+      </method>
+      <method name="Void .ctor(T1)">
+        <size>14</size>
+      </method>
+    </type>
+    <type name="Invariant`1[T]">
+      <method name="T get_Foo()">
+        <size>36</size>
+      </method>
+      <method name="Int32 Bar(T)">
+        <size>14</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A">
+      <method name="System.String get_Fruit()">
+        <size>6</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="System.String get_Fruit()">
+        <size>6</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="System.String get_Fruit()">
+        <size>6</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Int32 Main()">
+        <size>110</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-variance-6.cs">
     <type name="Program">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="gtest-variance-8.cs">
+    <type name="A`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Int32 Main()">
+        <size>144</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-variance-9.cs">
     <type name="Test">
       <method name="Void .ctor()">
         <size>12</size>
       </method>
       <method name="Int32 Main()">
-        <size>25</size>
+        <size>29</size>
       </method>
     </type>
   </test>
         <size>34</size>
       </method>
       <method name="Int32 Test2()">
-        <size>47</size>
+        <size>46</size>
       </method>
       <method name="Int32 Main()">
         <size>40</size>
         <size>0</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="test-260.cs">
     <type name="x.Test">
         <size>17</size>
       </method>
       <method name="Int32 Main()">
-        <size>84</size>
+        <size>86</size>
       </method>
     </type>
   </test>
     </type>
     <type name="X">
       <method name="IEnumerator GetEnumerator()">
-        <size>36</size>
+        <size>35</size>
+      </method>
+    </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>84</size>
       </method>
       <method name="Int32 Main()">
-        <size>309</size>
+        <size>284</size>
+      </method>
+    </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void .cctor()">
-        <size>98</size>
+        <size>97</size>
       </method>
       <method name="Int32 Main()">
-        <size>794</size>
+        <size>755</size>
       </method>
     </type>
     <type name="&lt;PrivateImplementationDetails&gt;">
       </method>
     </type>
   </test>
-  <test name="test-450.cs">
-    <type name="MyAttribute">
-      <method name="Void .ctor(String)">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="X">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void Main()">
-        <size>1</size>
-      </method>
-    </type>
-  </test>
   <test name="test-451.cs">
     <type name="Test">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
-  <test name="test-454.cs">
-    <type name="FooAttribute">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Test">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Int32 Main()">
-        <size>237</size>
-      </method>
-    </type>
-  </test>
   <test name="test-455.cs">
     <type name="Test">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>21</size>
+        <size>25</size>
       </method>
     </type>
     <type name="Foo">
         <size>33</size>
       </method>
       <method name="Void Test2()">
-        <size>67</size>
+        <size>66</size>
       </method>
       <method name="Void Main()">
         <size>39</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="test-526.cs">
     <type name="Test">
         <size>73</size>
       </method>
       <method name="Void Or()">
-        <size>137</size>
+        <size>129</size>
       </method>
       <method name="Int32 Main()">
         <size>70</size>
         <size>7</size>
       </method>
       <method name="Void ZeroBasedReductions()">
-        <size>9</size>
+        <size>18</size>
       </method>
       <method name="Void Main()">
-        <size>1</size>
+        <size>6</size>
       </method>
     </type>
   </test>
         <size>79</size>
       </method>
       <method name="Void TestOr(Boolean)">
-        <size>92</size>
+        <size>88</size>
       </method>
       <method name="Void Test(Boolean)">
         <size>13</size>
         <size>11</size>
       </method>
       <method name="Void Main()">
-        <size>169</size>
+        <size>167</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>61</size>
+        <size>65</size>
       </method>
     </type>
   </test>
       </method>
     </type>
   </test>
-  <test name="test-722.cs">
-    <type name="Blah">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Int32 Foo(Int32, Int32)">
-        <size>4</size>
-      </method>
-      <method name="Int32 Main()">
-        <size>46</size>
-      </method>
-    </type>
-    <type name="Blah+MyDelegate">
-      <method name="Void .ctor(Object, IntPtr)">
-        <size>0</size>
-      </method>
-      <method name="Int32 Invoke(Int32, Int32)">
-        <size>0</size>
-      </method>
-      <method name="IAsyncResult BeginInvoke(Int32, Int32, System.AsyncCallback, System.Object)">
-        <size>0</size>
-      </method>
-      <method name="Int32 EndInvoke(IAsyncResult)">
-        <size>0</size>
-      </method>
-    </type>
-  </test>
   <test name="test-723.cs">
     <type name="Test">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="test-733.cs">
+    <type name="Test">
+      <method name="Int32 Main()">
+        <size>86</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-734.cs">
+    <type name="M">
+      <method name="Void Run()">
+        <size>19</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>12</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-735.cs">
+    <type name="B">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B+C">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B+C+X">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B+D">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-736.cs">
+    <type name="TestGeneric`1[T]">
+      <method name="Void add_Event(System.EventHandler)">
+        <size>24</size>
+      </method>
+      <method name="Void remove_Event(System.EventHandler)">
+        <size>24</size>
+      </method>
+      <method name="Void Raise()">
+        <size>18</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="TestGeneric2`1[T]">
+      <method name="Void add_Event(TestGeneric2`1+GenericHandler[T])">
+        <size>24</size>
+      </method>
+      <method name="Void remove_Event(TestGeneric2`1+GenericHandler[T])">
+        <size>24</size>
+      </method>
+      <method name="Void Raise()">
+        <size>21</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Void add_Event(System.EventHandler)">
+        <size>24</size>
+      </method>
+      <method name="Void remove_Event(System.EventHandler)">
+        <size>24</size>
+      </method>
+      <method name="Void Raise()">
+        <size>18</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="TestGeneric2`1+GenericHandler[T]">
+      <method name="Void Invoke(T)">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(T, System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Void EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-737.cs">
+    <type name="Breaks">
+      <method name="Double get_Item(Int32, Int32)">
+        <size>7</size>
+      </method>
+      <method name="Void set_Item(Int32, Int32, Double)">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor(Double)">
+        <size>8</size>
+      </method>
+    </type>
+    <type name="Tester">
+      <method name="Int32 Main()">
+        <size>80</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-738.cs">
+    <type name="TestNamespace.ResumableInputStream">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>18</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-739.cs">
+    <type name="X">
+      <method name="Void Finalize()">
+        <size>19</size>
+      </method>
+      <method name="Void Foo()">
+        <size>1</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>89</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-74.cs">
     <type name="X">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="test-740.cs">
+    <type name="FixedTest">
+      <method name="Int32 Main()">
+        <size>348</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="FixedTest+TValue">
+      <method name="System.String ToString()">
+        <size>17</size>
+      </method>
+      <method name="Void .ctor(Int64)">
+        <size>28</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-741.cs">
+    <type name="Test">
+      <method name="Void test()">
+        <size>18</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-742.cs">
+    <type name="Test">
+      <method name="Test Set(C)">
+        <size>20</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Driver">
+      <method name="Int32 Main()">
+        <size>41</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-743.cs">
+    <type name="C">
+      <method name="Void Main()">
+        <size>11</size>
+      </method>
+      <method name="Void Test()">
+        <size>30</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-744.cs">
+    <type name="M">
+      <method name="Void Main()">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="M+Nested">
+      <method name="Void Extra()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A">
+      <method name="Void AMethod()">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="Void BMethod()">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void AMethod()">
+        <size>1</size>
+      </method>
+      <method name="Void BMethod()">
+        <size>1</size>
+      </method>
+      <method name="Void Extra()">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-745.cs">
+    <type name="C">
+      <method name="Void Main()">
+        <size>28</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-746.cs">
+    <type name="Test">
+      <method name="Void Foo(IListCounter)">
+        <size>8</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-747.cs">
+    <type name="B">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B+BNested">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="AA">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="AA+ANested">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="M">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-748.cs">
+    <type name="M">
+      <method name="RealTest.Foo Test()">
+        <size>6</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test.Local.M">
+      <method name="RealTest.Foo Test()">
+        <size>6</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="RealTest.Foo">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-749.cs">
+    <type name="M">
+      <method name="Void Main()">
+        <size>14</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-75.cs">
     <type name="X">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="test-750.cs">
+    <type name="M">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-751.cs">
+    <type name="LocalNS.Compiler">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="System.Local.M">
+      <method name="Void Main()">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-752.cs">
+    <type name="M">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-76.cs">
     <type name="foo">
       <method name="Void .ctor()">
         <size>19</size>
       </method>
       <method name="Int32 Main()">
-        <size>67</size>
+        <size>63</size>
+      </method>
+    </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>22</size>
       </method>
       <method name="Int32 Main()">
-        <size>33</size>
+        <size>32</size>
       </method>
     </type>
     <type name="X+A">
         <size>7</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="test-anon-53.cs">
     <type name="Test">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>95</size>
+        <size>89</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__AnonStorey0">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>171</size>
+        <size>162</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__AnonStorey0">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>233</size>
+        <size>224</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__AnonStorey1">
     </type>
     <type name="X+&lt;Test&gt;c__AnonStorey2">
       <method name="Void &lt;&gt;m__0()">
-        <size>356</size>
+        <size>347</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__AnonStorey2+&lt;Test&gt;c__AnonStorey4">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>166</size>
+        <size>157</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__AnonStorey0">
         <size>22</size>
       </method>
       <method name="Int32 Main()">
-        <size>34</size>
+        <size>32</size>
       </method>
     </type>
     <type name="X+A">
         <size>7</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="test-anon-64.cs">
     <type name="Source">
         <size>1</size>
       </method>
       <method name="Void Main()">
-        <size>99</size>
+        <size>98</size>
       </method>
     </type>
     <type name="C+D">
         <size>3</size>
       </method>
     </type>
+    <type name="&lt;PrivateImplementationDetails&gt;">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
   </test>
   <test name="test-anon-71.cs">
     <type name="Program">
       </method>
     </type>
   </test>
+  <test name="test-cls-19.cs">
+    <type name="A">
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A+PartialClass">
+      <method name="Void Method1(Int32)">
+        <size>1</size>
+      </method>
+      <method name="Void Method2(UInt32)">
+        <size>1</size>
+      </method>
+      <method name="Void Method3(UInt32)">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-externalias-01.cs">
     <type name="Test">
       <method name="Void .ctor()">
         <size>30</size>
       </method>
       <method name="Int32 Main()">
-        <size>245</size>
+        <size>244</size>
       </method>
     </type>
     <type name="&lt;PrivateImplementationDetails&gt;">
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>147</size>
+        <size>145</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
       </method>
     </type>
   </test>
+  <test name="test-named-04.cs">
+    <type name="Program">
+      <method name="Void Foo2(Int32, Int32 ByRef)">
+        <size>40</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>239</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-partial-01.cs">
     <type name="Foo.Hello">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="test-partial-27.cs">
+    <type name="C">
+      <method name="Int32 Main()">
+        <size>2</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-var-01.cs">
     <type name="Test">
       <method name="Void .ctor()">