New test.
[mono.git] / mcs / tests / ver-il-gmcs.xml
index 02d5a68ea503e88423e4efa4ae9b641840eb5970..f156fee0837ca0bf60a92ccf289d09d3faa696a3 100644 (file)
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>66</size>
+        <size>83</size>
       </method>
     </type>
     <type name="Test`2[A,B]">
     </type>
     <type name="X">
       <method name="System.String &lt;Main&gt;m__0(Double)">
-        <size>19</size>
+        <size>17</size>
       </method>
     </type>
   </test>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>25</size>
+        <size>42</size>
       </method>
     </type>
     <type name="Mapper`2[T,V]">
     </type>
     <type name="X">
       <method name="Double &lt;Main&gt;m__0(Int32)">
-        <size>15</size>
+        <size>13</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>483</size>
+        <size>500</size>
       </method>
     </type>
     <type name="Mapper`2[A,R]">
     </type>
     <type name="MyTest">
       <method name="System.String &lt;Main&gt;m__0(Double)">
-        <size>19</size>
+        <size>17</size>
       </method>
     </type>
   </test>
         <size>13</size>
       </method>
       <method name="T`1[System.Int64] N()">
-        <size>13</size>
+        <size>30</size>
       </method>
     </type>
     <type name="D">
     </type>
     <type name="B">
       <method name="Int32 &lt;M&gt;m__0[X](X)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;N&gt;m__1(Int64)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>8</size>
       </method>
       <method name="Void Main()">
-        <size>39</size>
+        <size>56</size>
       </method>
       <method name="System.String &lt;Main&gt;m__0(Int32)">
-        <size>10</size>
+        <size>8</size>
       </method>
     </type>
   </test>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>97</size>
+        <size>95</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>213</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>23</size>
+        <size>22</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Int32 Test()">
-        <size>297</size>
+        <size>289</size>
       </method>
       <method name="Int32 Main()">
         <size>6</size>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>51</size>
+        <size>68</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__0(System.String)">
-        <size>14</size>
+        <size>12</size>
       </method>
     </type>
   </test>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>50</size>
+        <size>48</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>50</size>
+        <size>48</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>30</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>83</size>
+        <size>100</size>
       </method>
       <method name="IEnumerable`1 FromTo(Int32, Int32)">
         <size>30</size>
     </type>
     <type name="MyTest">
       <method name="System.String &lt;Main&gt;m__0(Int32)">
-        <size>10</size>
+        <size>8</size>
       </method>
     </type>
     <type name="MyTest+&lt;Map&gt;c__Iterator0`4[Aa,Af,Rf,Rr]">
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Int32 Test(Nullable`1)">
-        <size>45</size>
+        <size>44</size>
       </method>
       <method name="Int32 Main()">
         <size>42</size>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>52</size>
+        <size>69</size>
       </method>
     </type>
     <type name="Test+TestDel">
     </type>
     <type name="Test">
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void .cctor()">
-        <size>29</size>
+        <size>46</size>
       </method>
       <method name="Int32 Main()">
         <size>6</size>
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__0(U, U)">
-        <size>16</size>
+        <size>14</size>
       </method>
     </type>
     <type name="Test+&lt;WrapMyComparison&gt;c__AnonStorey1`1[W]">
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__1(W, W)">
-        <size>16</size>
+        <size>14</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="B+&lt;C&gt;c__AnonStorey0">
+    <type name="B+&lt;C&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>57</size>
+        <size>54</size>
       </method>
     </type>
-    <type name="B+&lt;C&gt;c__AnonStorey1">
+    <type name="B+&lt;C&gt;c__AnonStorey1+&lt;C&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__1()">
-        <size>54</size>
+        <size>57</size>
       </method>
     </type>
   </test>
         <size>46</size>
       </method>
       <method name="Boolean Test_4()">
-        <size>34</size>
+        <size>29</size>
       </method>
       <method name="Int32 Main()">
         <size>60</size>
         <size>7</size>
       </method>
       <method name="Void CopyTo(Bug.xxx*)">
-        <size>113</size>
+        <size>99</size>
       </method>
       <method name="Void Convert(Bug.xxx*, System.UInt64*)">
-        <size>107</size>
+        <size>93</size>
       </method>
       <method name="Void Main()">
         <size>1</size>
         <size>1</size>
       </method>
       <method name="Int32 Main()">
-        <size>130</size>
+        <size>164</size>
       </method>
       <method name="Void Method(Thing+Handler, System.String[])">
         <size>1</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>178</size>
+        <size>176</size>
       </method>
       <method name="Void Dispose()">
         <size>60</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>16</size>
+        <size>4</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void GetMethodGroup(Test+MemberFilter)">
-        <size>26</size>
+        <size>43</size>
       </method>
       <method name="Void Main()">
         <size>1</size>
     </type>
     <type name="Test">
       <method name="Boolean &lt;GetMethodGroup&gt;m__0()">
-        <size>4</size>
+        <size>2</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-395.cs">
+    <type name="RuleBuilder`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="IDynamicObject">
+      <method name="RuleBuilder`1[T] GetRule[T]()">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="RubyMethod">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="RuleBuilder`1[T] IDynamicObject.GetRule[T]()">
+        <size>6</size>
+      </method>
+    </type>
+    <type name="T">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
       </method>
     </type>
   </test>
       </method>
     </type>
   </test>
+  <test name="gtest-399.cs">
+    <type name="TestIssue.Base">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="TestIssue.Derived">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="TestIssue.Program">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>39</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-400.cs">
+    <type name="Gen`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Boolean Foo(T)">
+        <size>10</size>
+      </method>
+    </type>
+    <type name="Program">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Boolean Foo[T]()">
+        <size>17</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>66</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-401.cs">
+    <type name="ParserTest">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>173</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-402.cs">
+    <type name="X">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>16</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-403.cs">
+    <type name="T">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>15</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-anon-1.cs">
     <type name="X">
       <method name="Void .ctor()">
     </type>
     <type name="X">
       <method name="TDelegate &lt;CreateMethodUnscoped&gt;m__0[TDelegate](System.Object)">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void SomeCaller()">
-        <size>19</size>
+        <size>36</size>
       </method>
       <method name="Void Main()">
         <size>1</size>
       </method>
       <method name="Int32 &lt;SomeCaller&gt;m__0(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="Test`1+&lt;Hello&gt;c__AnonStorey0`1[T,S]">
+    <type name="Test`1+&lt;Hello&gt;c__AnonStorey1`1[T,S]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0(T)">
-        <size>65</size>
+      <method name="Void &lt;&gt;m__0(Int64)">
+        <size>57</size>
       </method>
     </type>
-    <type name="Test`1+&lt;Hello&gt;c__AnonStorey1`1[T,S]">
+    <type name="Test`1+&lt;Hello&gt;c__AnonStorey1`1+&lt;Hello&gt;c__AnonStorey0`1[T,S]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__1(Int64)">
-        <size>57</size>
+      <method name="Void &lt;&gt;m__1(T)">
+        <size>65</size>
       </method>
     </type>
   </test>
     </type>
     <type name="TestClass">
       <method name="Void .ctor()">
-        <size>30</size>
+        <size>47</size>
       </method>
       <method name="Void Func[T](TestFunc`1[T])">
         <size>1</size>
         <size>1</size>
       </method>
       <method name="Void Main()">
-        <size>41</size>
+        <size>75</size>
       </method>
     </type>
     <type name="C+Func`1[T]">
     </type>
     <type name="C">
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>19</size>
       </method>
       <method name="Void Main()">
-        <size>49</size>
+        <size>100</size>
       </method>
     </type>
     <type name="C+Func`2[TR,TA]">
     </type>
     <type name="C">
       <method name="T &lt;Test2&gt;m__0[T](T)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Int32)">
-        <size>18</size>
+        <size>16</size>
       </method>
       <method name="System.String &lt;Main&gt;m__2(Int32)">
-        <size>8</size>
+        <size>6</size>
       </method>
       <method name="System.String &lt;Main&gt;m__3(Int32)">
-        <size>8</size>
+        <size>6</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void TestNaturalSort()">
-        <size>14</size>
+        <size>31</size>
       </method>
       <method name="Void Main()">
         <size>6</size>
       </method>
-      <method name="Int32 &lt;TestNaturalSort&gt;m__2(System.String, System.String)">
-        <size>108</size>
-      </method>
     </type>
     <type name="Test+&lt;TestNaturalSort&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="System.String &lt;&gt;m__0(System.Text.RegularExpressions.Match)">
-        <size>115</size>
-      </method>
       <method name="System.String &lt;&gt;m__1(System.Text.RegularExpressions.Match)">
-        <size>115</size>
+        <size>113</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Int32 &lt;TestNaturalSort&gt;m__0(System.String, System.String)">
+        <size>106</size>
+      </method>
+    </type>
+    <type name="Test+&lt;TestNaturalSort&gt;c__AnonStorey0">
+      <method name="System.String &lt;&gt;m__2(System.Text.RegularExpressions.Match)">
+        <size>113</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey1`1[T]">
+    <type name="X+&lt;Test&gt;c__AnonStorey0`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>50</size>
+      <method name="Simple &lt;&gt;m__0()">
+        <size>55</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey0`1[T]">
+    <type name="X+&lt;Test&gt;c__AnonStorey0`1+&lt;Test&gt;c__AnonStorey1`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Simple &lt;&gt;m__1()">
-        <size>57</size>
+      <method name="Void &lt;&gt;m__1()">
+        <size>50</size>
       </method>
     </type>
   </test>
         <size>2</size>
       </method>
       <method name="Int32 Main()">
-        <size>65</size>
+        <size>82</size>
       </method>
     </type>
     <type name="D1">
     </type>
     <type name="C">
       <method name="Int32 &lt;Main&gt;m__0()">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Main()">
-        <size>133</size>
+        <size>201</size>
       </method>
     </type>
     <type name="C+D">
       <method name="Void &lt;&gt;m__1()">
         <size>34</size>
       </method>
-      <method name="Void &lt;&gt;m__2()">
+    </type>
+    <type name="C">
+      <method name="Void &lt;Main&gt;m__2()">
         <size>16</size>
       </method>
-      <method name="Void &lt;&gt;m__3()">
+      <method name="Void &lt;Main&gt;m__3()">
         <size>16</size>
       </method>
-      <method name="Void &lt;&gt;m__4()">
+      <method name="Void &lt;Main&gt;m__4()">
         <size>60</size>
       </method>
-      <method name="Void &lt;&gt;m__5()">
+      <method name="Void &lt;Main&gt;m__5()">
         <size>51</size>
       </method>
     </type>
         <size>7</size>
       </method>
       <method name="T[] &lt;&gt;m__0()">
-        <size>58</size>
+        <size>56</size>
       </method>
     </type>
     <type name="Test+&lt;Throw&gt;c__AnonStorey1`1[T]">
         <size>7</size>
       </method>
       <method name="T &lt;&gt;m__1()">
-        <size>25</size>
+        <size>23</size>
       </method>
     </type>
     <type name="Test+&lt;Do&gt;c__AnonStorey2`1[T]">
         <size>7</size>
       </method>
       <method name="T &lt;&gt;m__2()">
-        <size>30</size>
+        <size>28</size>
       </method>
     </type>
     <type name="Test+&lt;Lock&gt;c__AnonStorey3`1[T]">
         <size>7</size>
       </method>
       <method name="T &lt;&gt;m__5()">
-        <size>52</size>
+        <size>50</size>
       </method>
     </type>
     <type name="Test+&lt;Using&gt;c__AnonStorey6`1[T]">
         <size>7</size>
       </method>
       <method name="T &lt;&gt;m__6()">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
     <type name="Test+&lt;Switch&gt;c__AnonStorey7`1[T]">
         <size>7</size>
       </method>
       <method name="T &lt;&gt;m__7()">
-        <size>42</size>
+        <size>35</size>
       </method>
     </type>
     <type name="Test+&lt;ForForeach&gt;c__AnonStorey8`1[T]">
         <size>7</size>
       </method>
       <method name="System.Collections.Generic.List`1[T] &lt;&gt;m__8()">
-        <size>64</size>
+        <size>61</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="HS`1[T] &lt;&gt;m__0()">
-        <size>14</size>
+        <size>12</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="TDest &lt;GetUpcaster&gt;m__0[TSource,TDest](TSource)">
-        <size>14</size>
+        <size>12</size>
       </method>
       <method name="TDest &lt;GetDowncaster&gt;m__1[TSource,TDest](TSource)">
-        <size>14</size>
+        <size>12</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Foo[T]()">
-        <size>27</size>
+        <size>14</size>
       </method>
       <method name="Void Main()">
         <size>1</size>
         <size>0</size>
       </method>
     </type>
-    <type name="B+&lt;Foo&gt;c__AnonStorey0`1[T]">
-      <method name="Void .ctor()">
+    <type name="B">
+      <method name="Void &lt;Foo&gt;m__0[T]()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>12</size>
-      </method>
     </type>
   </test>
   <test name="gtest-anon-29.cs">
         <size>7</size>
       </method>
       <method name="T &lt;&gt;m__0()">
-        <size>14</size>
+        <size>12</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Test[T](T)">
-        <size>41</size>
+        <size>28</size>
       </method>
       <method name="Void Main()">
         <size>14</size>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey0`1[T]">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void &lt;&gt;m__0(T)">
-        <size>13</size>
+    <type name="X">
+      <method name="Void &lt;Test&gt;m__0[T](T)">
+        <size>8</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey2`1[T]">
+    <type name="X+&lt;Test&gt;c__AnonStorey0`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>50</size>
-      </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey0`1[T]">
+    <type name="X+&lt;Test&gt;c__AnonStorey1`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Simple &lt;&gt;m__1()">
-        <size>74</size>
+    </type>
+    <type name="X+&lt;Test&gt;c__AnonStorey0`1[T]">
+      <method name="Simple &lt;&gt;m__0()">
+        <size>72</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey1`1[T]">
+    <type name="X+&lt;Test&gt;c__AnonStorey0`1+&lt;Test&gt;c__AnonStorey2`1[T]">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
+      <method name="Void &lt;&gt;m__1()">
+        <size>50</size>
+      </method>
     </type>
   </test>
   <test name="gtest-anon-31.cs">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0(System.Object, System.EventArgs)">
-        <size>1</size>
+        <size>36</size>
       </method>
       <method name="Void &lt;&gt;m__1(System.Object, System.EventArgs)">
-        <size>19</size>
+        <size>1</size>
       </method>
     </type>
   </test>
       </method>
     </type>
   </test>
+  <test name="gtest-anon-33.cs">
+    <type name="IEnumerableRocks">
+      <method name="System.String Implode[TSource,TResult](IEnumerable`1, System.String, System.Func`2[TSource,TResult])">
+        <size>33</size>
+      </method>
+      <method name="System.String Implode[TSource](IEnumerable`1, System.String, System.Action`2[System.Text.StringBuilder,TSource])">
+        <size>130</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>67</size>
+      </method>
+      <method name="System.String &lt;Main&gt;m__1(System.String)">
+        <size>17</size>
+      </method>
+    </type>
+    <type name="IEnumerableRocks+&lt;Implode&gt;c__AnonStorey0`2[TSource,TResult]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void &lt;&gt;m__0(System.Text.StringBuilder, TSource)">
+        <size>34</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-34.cs">
+    <type name="MyClass">
+      <method name="Void .ctor()">
+        <size>18</size>
+      </method>
+      <method name="Int32 get_Answer()">
+        <size>7</size>
+      </method>
+      <method name="Void set_Answer(Int32)">
+        <size>8</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>82</size>
+      </method>
+    </type>
+    <type name="Test+D">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <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>
+    </type>
+    <type name="Test+&lt;Main&gt;c__AnonStorey0">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void &lt;&gt;m__0()">
+        <size>33</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-35.cs">
+    <type name="C`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="System.Func`1[T] XX()">
+        <size>32</size>
+      </method>
+      <method name="T &lt;XX&gt;m__0()">
+        <size>10</size>
+      </method>
+    </type>
+    <type name="C2`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="System.Func`1[C`1[T]] XX()">
+        <size>32</size>
+      </method>
+      <method name="C`1[T] &lt;XX&gt;m__1()">
+        <size>2</size>
+      </method>
+    </type>
+    <type name="N1">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="System.Func`1[T] XX[T]()">
+        <size>15</size>
+      </method>
+      <method name="T &lt;XX&gt;m__2[T]()">
+        <size>10</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>98</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-36.cs">
+    <type name="IBar`1[T]">
+      <method name="Void add_Handler(Handler`1[T])">
+        <size>0</size>
+      </method>
+      <method name="Void remove_Handler(Handler`1[T])">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="Foo`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void add_handler(Handler`1[T])">
+        <size>24</size>
+      </method>
+      <method name="Void remove_handler(Handler`1[T])">
+        <size>24</size>
+      </method>
+      <method name="Void add_Handler(Handler`1[T])">
+        <size>64</size>
+      </method>
+      <method name="Void remove_Handler(Handler`1[T])">
+        <size>24</size>
+      </method>
+      <method name="Void &lt;add_Handler&gt;m__0(System.Object)">
+        <size>18</size>
+      </method>
+    </type>
+    <type name="Program">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>15</size>
+      </method>
+    </type>
+    <type name="Handler`1[T]">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <method name="Void Invoke(System.Object)">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(System.Object, System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Void EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-37.cs">
+    <type name="Wrap`1[U]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Run[T](Wrap`1[T])">
+        <size>56</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>16</size>
+      </method>
+    </type>
+    <type name="Test+&lt;Run&gt;c__AnonStorey0`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void &lt;&gt;m__0()">
+        <size>17</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-38.cs">
+    <type name="Foo`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Boolean ContainsAll[U](IEnumerable`1)">
+        <size>40</size>
+      </method>
+      <method name="Boolean Contains(T)">
+        <size>2</size>
+      </method>
+    </type>
+    <type name="Program">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>44</size>
+      </method>
+    </type>
+    <type name="Foo`1+&lt;ContainsAll&gt;c__AnonStorey0`1[T,U]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Boolean &lt;&gt;m__0()">
+        <size>187</size>
+      </method>
+    </type>
+    <type name="Foo`1+&lt;ContainsAll&gt;c__AnonStorey0`1+&lt;ContainsAll&gt;c__AnonStorey1`1[T,U]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-39.cs">
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Test_1[T](T)">
+        <size>33</size>
+      </method>
+      <method name="Void Test_2[T](Nullable`1)">
+        <size>33</size>
+      </method>
+      <method name="Void Main()">
+        <size>26</size>
+      </method>
+    </type>
+    <type name="Test+D">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <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>
+    </type>
+    <type name="Test+&lt;Test_1&gt;c__AnonStorey0`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void &lt;&gt;m__0()">
+        <size>24</size>
+      </method>
+    </type>
+    <type name="Test+&lt;Test_2&gt;c__AnonStorey1`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void &lt;&gt;m__1()">
+        <size>85</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-anon-4.cs">
     <type name="Test">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="gtest-anon-40.cs">
+    <type name="RunTests">
+      <method name="Int32 Main()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test1.X">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Test1[R](R, Int32)">
+        <size>150</size>
+      </method>
+      <method name="Void Run()">
+        <size>13</size>
+      </method>
+    </type>
+    <type name="Test1.Foo">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <method name="Int32 Invoke()">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Int32 EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="Test1.X+&lt;Test1&gt;c__AnonStorey1`1[R]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 &lt;&gt;m__0()">
+        <size>71</size>
+      </method>
+    </type>
+    <type name="Test1.X+&lt;Test1&gt;c__AnonStorey0`1[R]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test1.X+&lt;Test1&gt;c__AnonStorey2`1[R]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-41.cs">
+    <type name="C">
+      <method name="Decimal Average[TSource](IEnumerable`1, System.Func`2[TSource,System.Decimal])">
+        <size>71</size>
+      </method>
+      <method name="TResult Average[TElement,TAggregate,TResult](IEnumerable`1, System.Func`3[TAggregate,TElement,TAggregate], System.Func`3[TAggregate,TElement,TResult])">
+        <size>6</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Decimal &lt;Average&gt;m__0[TSource](Decimal, Decimal)">
+        <size>8</size>
+      </method>
+      <method name="Decimal &lt;Average&gt;m__1[TSource](Decimal, Decimal)">
+        <size>8</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-anon-42.cs">
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Test_3[T]()">
+        <size>37</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>12</size>
+      </method>
+      <method name="Void &lt;Test_3&gt;m__0[T]()">
+        <size>11</size>
+      </method>
+    </type>
+    <type name="Test+D">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <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>
+    </type>
+  </test>
   <test name="gtest-anon-5.cs">
     <type name="X">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__0()">
-        <size>36</size>
+        <size>34</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__AnonStorey0`1[R]">
         <size>83</size>
       </method>
       <method name="Foo op_Implicit(Test)">
-        <size>13</size>
+        <size>30</size>
       </method>
       <method name="IEnumerable`1 op_Addition(Test, Test)">
         <size>30</size>
       </method>
     </type>
   </test>
+  <test name="gtest-anon-type-10.cs">
+    <type name="A">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 get_X()">
+        <size>3</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>11</size>
+      </method>
+      <method name="Int32 Test()">
+        <size>33</size>
+      </method>
+    </type>
+    <type name="&lt;&gt;__AnonType0`1[&lt;X&gt;__T]">
+      <method name="Void .ctor(&lt;X&gt;__T)">
+        <size>14</size>
+      </method>
+      <method name="&lt;X&gt;__T get_X()">
+        <size>7</size>
+      </method>
+      <method name="Boolean Equals(System.Object)">
+        <size>39</size>
+      </method>
+      <method name="Int32 GetHashCode()">
+        <size>78</size>
+      </method>
+      <method name="System.String ToString()">
+        <size>57</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-anontype-01.cs">
     <type name="Test">
       <method name="Void .ctor()">
         <size>24</size>
       </method>
       <method name="System.Linq.Expressions.Expression`1[System.Func`1[System.Func`1[System.Boolean]]] GetEvent()">
-        <size>56</size>
+        <size>43</size>
       </method>
       <method name="Void set_MyTypeProperty(MyType)">
         <size>8</size>
         <size>138</size>
       </method>
       <method name="Void CallTest_2()">
-        <size>130</size>
+        <size>117</size>
       </method>
       <method name="Void CallTest_3()">
-        <size>232</size>
+        <size>217</size>
       </method>
       <method name="Void CallTest_4()">
-        <size>144</size>
+        <size>131</size>
       </method>
       <method name="Void CallTest_5()">
-        <size>122</size>
+        <size>109</size>
       </method>
       <method name="Void CallTest_6()">
         <size>70</size>
         <size>61</size>
       </method>
       <method name="Void ConstantTest_4()">
-        <size>61</size>
+        <size>54</size>
       </method>
       <method name="Void ConstantTest_5()">
         <size>59</size>
         <size>116</size>
       </method>
       <method name="Void ConvertTest_12()">
-        <size>181</size>
+        <size>166</size>
       </method>
       <method name="Void ConvertTest_13()">
         <size>86</size>
         <size>113</size>
       </method>
       <method name="Void EqualTestDelegate_2()">
-        <size>257</size>
+        <size>342</size>
       </method>
       <method name="Void ExclusiveOrTest()">
         <size>115</size>
         <size>90</size>
       </method>
       <method name="Void InvokeTest_2()">
-        <size>121</size>
+        <size>138</size>
       </method>
       <method name="Void LeftShiftTest()">
         <size>155</size>
         <size>169</size>
       </method>
       <method name="Void ListInitTest()">
-        <size>429</size>
+        <size>414</size>
       </method>
       <method name="Void ListInitTest_2()">
         <size>292</size>
         <size>144</size>
       </method>
       <method name="Void TypeAsTest_3()">
-        <size>110</size>
+        <size>95</size>
       </method>
       <method name="Void TypeIsTest()">
         <size>103</size>
         <size>87</size>
       </method>
       <method name="Int32 Main()">
-        <size>111</size>
+        <size>179</size>
       </method>
     </type>
     <type name="Tester+EmptyDelegate">
         <size>1</size>
       </method>
       <method name="System.String &lt;InvokeTest_2&gt;m__5(Int32)">
-        <size>14</size>
+        <size>12</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__6(System.Reflection.MethodInfo)">
-        <size>14</size>
+        <size>12</size>
       </method>
       <method name="System.String &lt;Main&gt;m__7(System.Reflection.MethodInfo)">
-        <size>9</size>
-      </method>
-      <method name="Boolean &lt;Main&gt;m__8(System.Reflection.MethodInfo)">
-        <size>9</size>
-      </method>
-      <method name="Boolean &lt;Main&gt;m__9(Boolean)">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="MemberAccessData+&lt;GetEvent&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
         <size>7</size>
       </method>
-    </type>
-    <type name="Tester+&lt;CallTest_2&gt;c__AnonStorey1">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Tester+&lt;CallTest_3&gt;c__AnonStorey2">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="Tester+&lt;CallTest_4&gt;c__AnonStorey3">
-      <method name="Void .ctor()">
+      <method name="Boolean &lt;Main&gt;m__8(System.Reflection.MethodInfo)">
         <size>7</size>
       </method>
-    </type>
-    <type name="Tester+&lt;CallTest_5&gt;c__AnonStorey4">
-      <method name="Void .ctor()">
-        <size>7</size>
+      <method name="Boolean &lt;Main&gt;m__9(Boolean)">
+        <size>5</size>
       </method>
     </type>
     <type name="Tester+&lt;ConvertTest_9&gt;c__AnonStorey5">
         <size>7</size>
       </method>
     </type>
-    <type name="Tester+&lt;MemberAccessTest_9&gt;c__AnonStorey10">
+    <type name="Tester">
+      <method name="Void NewArrayInitTest_5()">
+        <size>158</size>
+      </method>
+    </type>
+    <type name="Tester+&lt;MemberAccessTest_9&gt;c__AnonStoreyA">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       </method>
     </type>
   </test>
+  <test name="gtest-etree-03.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>6</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-etree-04.cs">
     <type name="C">
       <method name="Void .ctor()">
         <size>56</size>
       </method>
       <method name="Int32 Main()">
-        <size>375</size>
+        <size>360</size>
       </method>
     </type>
   </test>
       </method>
     </type>
   </test>
+  <test name="gtest-etree-09.cs">
+    <type name="Mono.C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>289</size>
+      </method>
+      <method name="System.Int64[] GetValues()">
+        <size>23</size>
+      </method>
+    </type>
+    <type name="Mono.C+&lt;Main&gt;c__AnonStorey0">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-etree-10.cs">
+    <type name="Foo`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Boolean ContainsAll[U](IEnumerable`1)">
+        <size>177</size>
+      </method>
+      <method name="Boolean Contains(T)">
+        <size>2</size>
+      </method>
+    </type>
+    <type name="Program">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>44</size>
+      </method>
+    </type>
+    <type name="Foo`1+&lt;ContainsAll&gt;c__AnonStorey1`1[T,U]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-etree-11.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>12</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Invalid(Int32)">
+        <size>134</size>
+      </method>
+      <method name="Void Other(System.Int32[])">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="Test+&lt;Invalid&gt;c__AnonStorey0">
+      <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-initialize-08.cs">
+    <type name="T">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="X">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Z[] get_Prop()">
+        <size>7</size>
+      </method>
+      <method name="Void set_Prop(Z[])">
+        <size>8</size>
+      </method>
+    </type>
+    <type name="Z">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Void .ctor(String)">
+        <size>70</size>
+      </method>
+      <method name="Void .ctor(Int32)">
+        <size>70</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>13</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-iter-01.cs">
     <type name="C">
       <method name="Void .ctor()">
         <size>12</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>27</size>
+        <size>25</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>8</size>
+      </method>
+      <method name="Void Reset()">
+        <size>6</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-iter-03.cs">
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>18</size>
+      </method>
+      <method name="IEnumerable`1 Annotations[T]()">
+        <size>23</size>
+      </method>
+      <method name="IEnumerable`1 Annotations(System.Type)">
+        <size>30</size>
+      </method>
+      <method name="Void Main()">
+        <size>14</size>
+      </method>
+    </type>
+    <type name="Test+&lt;Annotations&gt;c__Iterator0`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="T System.Collections.Generic.IEnumerator`1[T].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>39</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable`1[T].GetEnumerator()">
+        <size>39</size>
+      </method>
+      <method name="Boolean MoveNext()">
+        <size>194</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>60</size>
+      </method>
+      <method name="Void Reset()">
+        <size>6</size>
+      </method>
+    </type>
+    <type name="Test+&lt;Annotations&gt;c__Iterator1">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="System.Object System.Collections.Generic.IEnumerator`1[[System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].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>53</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable`1[[System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetEnumerator()">
+        <size>53</size>
+      </method>
+      <method name="Boolean MoveNext()">
+        <size>213</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>51</size>
+      </method>
+      <method name="Void Reset()">
+        <size>6</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-iter-04.cs">
+    <type name="TestClass">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void ToString(System.Object)">
+        <size>0</size>
+      </method>
+      <method name="IEnumerable`1 TestEnumerator()">
+        <size>23</size>
+      </method>
+      <method name="Void Test()">
+        <size>8</size>
+      </method>
+    </type>
+    <type name="M">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="TestClass+&lt;TestEnumerator&gt;c__Iterator0">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="System.Object System.Collections.Generic.IEnumerator`1[[System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].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>39</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable`1[[System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetEnumerator()">
+        <size>39</size>
+      </method>
+      <method name="Boolean MoveNext()">
+        <size>37</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>8</size>
+      </method>
+      <method name="Void Reset()">
+        <size>6</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-iter-05.cs">
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="IEnumerable`1 TestRoutine[T](IEnumerable`1, Foo`1[T])">
+        <size>30</size>
+      </method>
+      <method name="Void Main()">
+        <size>31</size>
+      </method>
+    </type>
+    <type name="Foo`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void CreateItem[G]()">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="Test+&lt;TestRoutine&gt;c__Iterator0`1[T]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="T System.Collections.Generic.IEnumerator`1[T].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>65</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable`1[T].GetEnumerator()">
+        <size>65</size>
+      </method>
+      <method name="Boolean MoveNext()">
+        <size>185</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>60</size>
+      </method>
+      <method name="Void Reset()">
+        <size>6</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-iter-06.cs">
+    <type name="Mono.Rocks.KeyValuePair">
+      <method name="Nullable`1 Just[TKey,TValue](TKey, TValue)">
+        <size>16</size>
+      </method>
+    </type>
+    <type name="Mono.Rocks.Sequence">
+      <method name="IEnumerable`1 Unfoldr[TSource,TResult](TSource, System.Func`2[TSource,System.Nullable`1[System.Collections.Generic.KeyValuePair`2[TResult,TSource]]])">
+        <size>8</size>
+      </method>
+      <method name="IEnumerable`1 CreateUnfoldrIterator[TSource,TResult](TSource, System.Func`2[TSource,System.Nullable`1[System.Collections.Generic.KeyValuePair`2[TResult,TSource]]])">
+        <size>30</size>
+      </method>
+    </type>
+    <type name="Mono.Rocks.Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>121</size>
+      </method>
+      <method name="Nullable`1 &lt;Main&gt;m__0(Int32)">
+        <size>30</size>
+      </method>
+    </type>
+    <type name="Mono.Rocks.Sequence+&lt;CreateUnfoldrIterator&gt;c__Iterator0`2[TSource,TResult]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="TResult System.Collections.Generic.IEnumerator`1[TResult].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>65</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable`1[TResult].GetEnumerator()">
+        <size>65</size>
+      </method>
+      <method name="Boolean MoveNext()">
+        <size>183</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>1192</size>
+        <size>2076</size>
       </method>
       <method name="Void Foo(Int32, Boolean)">
         <size>11</size>
     </type>
     <type name="from.C">
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Nullable`1 &lt;Main&gt;m__2(Nullable`1)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__3(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
     <type name="from.C+&lt;Main&gt;c__AnonStorey0">
         <size>7</size>
       </method>
       <method name="IEnumerable`1 &lt;&gt;m__4(Int32)">
-        <size>9</size>
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__5(Int32, Int32)">
-        <size>4</size>
+    </type>
+    <type name="from.C">
+      <method name="Int32 &lt;Main&gt;m__5(Int32, Int32)">
+        <size>2</size>
       </method>
-      <method name="Boolean &lt;&gt;m__6(Int32)">
-        <size>12</size>
+      <method name="Boolean &lt;Main&gt;m__6(Int32)">
+        <size>10</size>
       </method>
-      <method name="Int32 &lt;&gt;m__7(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__7(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__8(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__8(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__9(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__9(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__10(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__A(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__11(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__B(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__12(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__C(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__13(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__D(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__14(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__E(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__15(ITest)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__F(ITest)">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__16(Int32, ITest)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__10(Int32, ITest)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__17(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__11(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__18(ITest)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__12(ITest)">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__19(Int32, ITest)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__13(Int32, ITest)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__20(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__14(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__21(ITest)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__15(ITest)">
+        <size>7</size>
       </method>
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,from.ITest] &lt;&gt;m__22(Int32, ITest)">
-        <size>10</size>
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,from.ITest] &lt;Main&gt;m__16(Int32, ITest)">
+        <size>8</size>
       </method>
-      <method name="Int32 &lt;&gt;m__23(&lt;&gt;__AnonType0`2[System.Int32,from.ITest])">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__17(&lt;&gt;__AnonType0`2[System.Int32,from.ITest])">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__24(ITest)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__18(ITest)">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__25(&lt;&gt;__AnonType0`2[System.Int32,from.ITest], ITest)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__19(&lt;&gt;__AnonType0`2[System.Int32,from.ITest], ITest)">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__26(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__1A(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__27(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__1B(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__28(Int32, IEnumerable`1)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__1C(Int32, IEnumerable`1)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__29(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__1D(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__30(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__1E(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__31(Int32, IEnumerable`1)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__1F(Int32, IEnumerable`1)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__32(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__20(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__33(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__21(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__34(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__22(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__35(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__23(Int32)">
+        <size>2</size>
       </method>
-      <method name="IGrouping`2 &lt;&gt;m__36(IGrouping`2)">
-        <size>4</size>
+      <method name="IGrouping`2 &lt;Main&gt;m__24(IGrouping`2)">
+        <size>2</size>
       </method>
-      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Int32] &lt;&gt;m__37(Int32)">
-        <size>12</size>
+      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Int32] &lt;Main&gt;m__25(Int32)">
+        <size>10</size>
       </method>
-      <method name="Int32 &lt;&gt;m__38(&lt;&gt;__AnonType1`2[System.Int32,System.Int32])">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__26(&lt;&gt;__AnonType1`2[System.Int32,System.Int32])">
+        <size>7</size>
       </method>
-      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Int32] &lt;&gt;m__39(Int32)">
-        <size>12</size>
+      <method name="&lt;&gt;__AnonType1`2[System.Int32,System.Int32] &lt;Main&gt;m__27(Int32)">
+        <size>10</size>
       </method>
-      <method name="&lt;&gt;__AnonType2`2[&lt;&gt;__AnonType1`2[System.Int32,System.Int32],System.Int32] &lt;&gt;m__40(&lt;&gt;__AnonType1`2[System.Int32,System.Int32])">
-        <size>17</size>
+      <method name="&lt;&gt;__AnonType2`2[&lt;&gt;__AnonType1`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__28(&lt;&gt;__AnonType1`2[System.Int32,System.Int32])">
+        <size>15</size>
       </method>
-      <method name="Int32 &lt;&gt;m__41(&lt;&gt;__AnonType2`2[&lt;&gt;__AnonType1`2[System.Int32,System.Int32],System.Int32])">
-        <size>14</size>
+      <method name="Int32 &lt;Main&gt;m__29(&lt;&gt;__AnonType2`2[&lt;&gt;__AnonType1`2[System.Int32,System.Int32],System.Int32])">
+        <size>12</size>
       </method>
-      <method name="Int32 &lt;&gt;m__42(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__2A(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__43(Int32)">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__2B(Int32)">
+        <size>2</size>
       </method>
-      <method name="IEnumerable`1 &lt;&gt;m__44(IGrouping`2)">
-        <size>9</size>
+      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__2D(IGrouping`2, Int32)">
+        <size>8</size>
       </method>
-      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;&gt;m__45(IGrouping`2, Int32)">
-        <size>10</size>
+      <method name="Int32 &lt;Main&gt;m__2E(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__46(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__2F(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__47(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
-        <size>9</size>
+      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__31(IGrouping`2, Int32)">
+        <size>8</size>
       </method>
-      <method name="IEnumerable`1 &lt;&gt;m__48(IGrouping`2)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__32(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
+        <size>2</size>
       </method>
-      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;&gt;m__49(IGrouping`2, Int32)">
-        <size>10</size>
+      <method name="Int32 &lt;Main&gt;m__33(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__50(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
-        <size>4</size>
+      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__35(IGrouping`2, Int32)">
+        <size>8</size>
       </method>
-      <method name="Int32 &lt;&gt;m__51(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__36(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
+        <size>2</size>
       </method>
-      <method name="IEnumerable`1 &lt;&gt;m__52(IGrouping`2)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__37(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
+        <size>7</size>
       </method>
-      <method name="&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32] &lt;&gt;m__53(IGrouping`2, Int32)">
-        <size>10</size>
+      <method name="IGrouping`2 &lt;Main&gt;m__38(IGrouping`2)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__54(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
-        <size>4</size>
+      <method name="Int32 &lt;Main&gt;m__39(Int32)">
+        <size>2</size>
       </method>
-      <method name="Int32 &lt;&gt;m__55(&lt;&gt;__AnonType3`2[System.Linq.IGrouping`2[System.Int32,System.Int32],System.Int32])">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__3A(Int32)">
+        <size>2</size>
       </method>
-      <method name="IGrouping`2 &lt;&gt;m__56(IGrouping`2)">
-        <size>4</size>
+    </type>
+    <type name="from.C+&lt;Main&gt;c__AnonStorey0">
+      <method name="IEnumerable`1 &lt;&gt;m__2C(IGrouping`2)">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__57(Int32)">
-        <size>4</size>
+      <method name="IEnumerable`1 &lt;&gt;m__30(IGrouping`2)">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__58(Int32)">
-        <size>4</size>
+      <method name="IEnumerable`1 &lt;&gt;m__34(IGrouping`2)">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>449</size>
+        <size>517</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Int32)">
-        <size>5</size>
+        <size>3</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__2(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__3(Int32)">
-        <size>5</size>
+        <size>3</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>128</size>
+        <size>179</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__0(Int32)">
-        <size>7</size>
+        <size>5</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__1(Int32)">
-        <size>7</size>
+        <size>5</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__2(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>501</size>
+        <size>569</size>
       </method>
     </type>
     <type name="&lt;PrivateImplementationDetails&gt;">
     </type>
     <type name="TestGroupBy">
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__2(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__3(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>965</size>
+        <size>1254</size>
       </method>
     </type>
     <type name="OrderByTests+Data">
     </type>
     <type name="OrderByTests">
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__2(Int32)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__3(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
       <method name="System.String &lt;Main&gt;m__4(System.String)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__5(System.String)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__6(OrderByTests+Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="System.String &lt;Main&gt;m__7(OrderByTests+Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__8(OrderByTests+Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="System.String &lt;Main&gt;m__9(OrderByTests+Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
-      <method name="Boolean &lt;Main&gt;m__10(OrderByTests+Data)">
-        <size>13</size>
+      <method name="Boolean &lt;Main&gt;m__A(OrderByTests+Data)">
+        <size>11</size>
       </method>
-      <method name="Int32 &lt;Main&gt;m__11(OrderByTests+Data)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__B(OrderByTests+Data)">
+        <size>7</size>
       </method>
-      <method name="System.String &lt;Main&gt;m__12(OrderByTests+Data)">
-        <size>9</size>
+      <method name="System.String &lt;Main&gt;m__C(OrderByTests+Data)">
+        <size>7</size>
       </method>
-      <method name="Boolean &lt;Main&gt;m__13(OrderByTests+Data)">
-        <size>13</size>
+      <method name="Boolean &lt;Main&gt;m__D(OrderByTests+Data)">
+        <size>11</size>
       </method>
-      <method name="System.String &lt;Main&gt;m__14(OrderByTests+Data)">
-        <size>9</size>
+      <method name="System.String &lt;Main&gt;m__E(OrderByTests+Data)">
+        <size>7</size>
       </method>
-      <method name="System.String &lt;Main&gt;m__15(OrderByTests+Data)">
-        <size>9</size>
+      <method name="System.String &lt;Main&gt;m__F(OrderByTests+Data)">
+        <size>7</size>
       </method>
-      <method name="OrderByTests+Data &lt;Main&gt;m__16(OrderByTests+Data)">
-        <size>4</size>
+      <method name="OrderByTests+Data &lt;Main&gt;m__10(OrderByTests+Data)">
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>312</size>
+        <size>414</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`2[&lt;i&gt;__T,&lt;u&gt;__T]">
     </type>
     <type name="Let">
       <method name="&lt;&gt;__AnonType0`2[System.Int32,System.Int32] &lt;Main&gt;m__0(Int32)">
-        <size>12</size>
+        <size>10</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(&lt;&gt;__AnonType0`2[System.Int32,System.Int32])">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="&lt;&gt;__AnonType0`2[System.Int32,System.Int32] &lt;Main&gt;m__2(Int32)">
-        <size>12</size>
+        <size>10</size>
       </method>
       <method name="&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.Int32],System.Int32] &lt;Main&gt;m__3(&lt;&gt;__AnonType0`2[System.Int32,System.Int32])">
-        <size>17</size>
+        <size>15</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__4(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.Int32],System.Int32])">
-        <size>20</size>
+        <size>18</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__5(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.Int32],System.Int32])">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>649</size>
+        <size>761</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`2[&lt;i1&gt;__T,&lt;i2&gt;__T]">
         <size>7</size>
       </method>
       <method name="IEnumerable`1 &lt;&gt;m__0(Int32)">
-        <size>14</size>
+        <size>12</size>
       </method>
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;&gt;m__1(Int32, System.String)">
-        <size>10</size>
+      <method name="IEnumerable`1 &lt;&gt;m__3(Int32)">
+        <size>12</size>
       </method>
-      <method name="Boolean &lt;&gt;m__2(Int32)">
-        <size>7</size>
+      <method name="IEnumerable`1 &lt;&gt;m__5(&lt;&gt;__AnonType0`2[System.Int32,System.String])">
+        <size>12</size>
       </method>
-      <method name="IEnumerable`1 &lt;&gt;m__3(Int32)">
-        <size>14</size>
+      <method name="IEnumerable`1 &lt;&gt;m__9(Int32)">
+        <size>7</size>
       </method>
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;&gt;m__4(Int32, System.String)">
-        <size>10</size>
+    </type>
+    <type name="SelectMany">
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__1(Int32, System.String)">
+        <size>8</size>
       </method>
-      <method name="IEnumerable`1 &lt;&gt;m__5(&lt;&gt;__AnonType0`2[System.Int32,System.String])">
-        <size>14</size>
+      <method name="Boolean &lt;Main&gt;m__2(Int32)">
+        <size>5</size>
       </method>
-      <method name="&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32] &lt;&gt;m__6(&lt;&gt;__AnonType0`2[System.Int32,System.String], Int32)">
-        <size>10</size>
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__4(Int32, System.String)">
+        <size>8</size>
       </method>
-      <method name="Int32 &lt;&gt;m__7(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32])">
-        <size>9</size>
+      <method name="&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32] &lt;Main&gt;m__6(&lt;&gt;__AnonType0`2[System.Int32,System.String], Int32)">
+        <size>8</size>
       </method>
-      <method name="&lt;&gt;__AnonType2`3[System.Int32,System.Int32,System.Int32] &lt;&gt;m__8(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32])">
-        <size>27</size>
+      <method name="Int32 &lt;Main&gt;m__7(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32])">
+        <size>7</size>
       </method>
-      <method name="IEnumerable`1 &lt;&gt;m__9(Int32)">
-        <size>9</size>
+      <method name="&lt;&gt;__AnonType2`3[System.Int32,System.Int32,System.Int32] &lt;Main&gt;m__8(&lt;&gt;__AnonType1`2[&lt;&gt;__AnonType0`2[System.Int32,System.String],System.Int32])">
+        <size>25</size>
       </method>
-      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;&gt;m__10(Int32, System.String)">
-        <size>10</size>
+      <method name="&lt;&gt;__AnonType0`2[System.Int32,System.String] &lt;Main&gt;m__A(Int32, System.String)">
+        <size>8</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>119</size>
+        <size>153</size>
       </method>
       <method name="TestA &lt;Main&gt;m__0(TestA)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__1(TestA)">
-        <size>19</size>
+        <size>17</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>640</size>
+        <size>912</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`1[&lt;Result&gt;__T]">
     </type>
     <type name="Join">
       <method name="Int32 &lt;Main&gt;m__0(Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="&lt;&gt;__AnonType0`1[System.String] &lt;Main&gt;m__2(Data, Data)">
-        <size>25</size>
+        <size>23</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__3(Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__4(Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="&lt;&gt;__AnonType1`2[Data,Data] &lt;Main&gt;m__5(Data, Data)">
-        <size>10</size>
+        <size>8</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__6(&lt;&gt;__AnonType1`2[Data,Data])">
-        <size>24</size>
+        <size>22</size>
       </method>
       <method name="&lt;&gt;__AnonType0`1[System.String] &lt;Main&gt;m__7(&lt;&gt;__AnonType1`2[Data,Data])">
-        <size>35</size>
+        <size>33</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__8(Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__9(Data)">
-        <size>9</size>
+        <size>7</size>
       </method>
-      <method name="&lt;&gt;__AnonType0`1[System.String] &lt;Main&gt;m__10(Data, Data)">
-        <size>25</size>
+      <method name="&lt;&gt;__AnonType0`1[System.String] &lt;Main&gt;m__A(Data, Data)">
+        <size>23</size>
       </method>
-      <method name="Int32 &lt;Main&gt;m__11(Data)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__B(Data)">
+        <size>7</size>
       </method>
-      <method name="Int32 &lt;Main&gt;m__12(Data)">
-        <size>9</size>
+      <method name="Int32 &lt;Main&gt;m__C(Data)">
+        <size>7</size>
       </method>
-      <method name="&lt;&gt;__AnonType1`2[Data,Data] &lt;Main&gt;m__13(Data, Data)">
-        <size>10</size>
+      <method name="&lt;&gt;__AnonType1`2[Data,Data] &lt;Main&gt;m__D(Data, Data)">
+        <size>8</size>
       </method>
-      <method name="Int32 &lt;Main&gt;m__14(&lt;&gt;__AnonType1`2[Data,Data])">
-        <size>14</size>
+      <method name="Int32 &lt;Main&gt;m__E(&lt;&gt;__AnonType1`2[Data,Data])">
+        <size>12</size>
       </method>
-      <method name="Data &lt;Main&gt;m__15(&lt;&gt;__AnonType1`2[Data,Data])">
-        <size>9</size>
+      <method name="Data &lt;Main&gt;m__F(&lt;&gt;__AnonType1`2[Data,Data])">
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>465</size>
+        <size>635</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`2[&lt;a&gt;__T,&lt;ab&gt;__T]">
     </type>
     <type name="GroupJoin">
       <method name="Int32 &lt;Main&gt;m__0(DataA)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(DataB)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="&lt;&gt;__AnonType0`2[DataA,System.Collections.Generic.IEnumerable`1[DataB]] &lt;Main&gt;m__2(DataA, IEnumerable`1)">
-        <size>10</size>
+        <size>8</size>
       </method>
       <method name="IEnumerable`1 &lt;Main&gt;m__3(&lt;&gt;__AnonType0`2[DataA,System.Collections.Generic.IEnumerable`1[DataB]])">
-        <size>14</size>
+        <size>12</size>
       </method>
       <method name="&lt;&gt;__AnonType1`2[System.String,System.String] &lt;Main&gt;m__4(&lt;&gt;__AnonType0`2[DataA,System.Collections.Generic.IEnumerable`1[DataB]], DataB)">
-        <size>41</size>
+        <size>39</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__5(DataA)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__6(DataB)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="&lt;&gt;__AnonType0`2[DataA,System.Collections.Generic.IEnumerable`1[DataB]] &lt;Main&gt;m__7(DataA, IEnumerable`1)">
-        <size>10</size>
+        <size>8</size>
       </method>
       <method name="IEnumerable`1 &lt;Main&gt;m__8(&lt;&gt;__AnonType0`2[DataA,System.Collections.Generic.IEnumerable`1[DataB]])">
-        <size>14</size>
+        <size>12</size>
       </method>
       <method name="&lt;&gt;__AnonType1`2[System.String,System.String] &lt;Main&gt;m__9(&lt;&gt;__AnonType0`2[DataA,System.Collections.Generic.IEnumerable`1[DataB]], DataB)">
-        <size>41</size>
+        <size>39</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>190</size>
+        <size>275</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__0(Int32)">
-        <size>7</size>
+        <size>5</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Int32)">
-        <size>7</size>
+        <size>5</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__2(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__3(Int32)">
-        <size>7</size>
+        <size>5</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__4(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void XX()">
-        <size>74</size>
+        <size>108</size>
       </method>
       <method name="Int32 Main()">
-        <size>2</size>
+        <size>481</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`2[&lt;values&gt;__T,&lt;length&gt;__T]">
     </type>
     <type name="NestedQuery">
       <method name="&lt;&gt;__AnonType0`2[System.String,System.Int32] &lt;XX&gt;m__0(System.String)">
-        <size>15</size>
-      </method>
-      <method name="&lt;&gt;__AnonType1`2[System.Char,System.Int32] &lt;XX&gt;m__1(Char)">
-        <size>11</size>
-      </method>
-      <method name="IEnumerable`1 &lt;XX&gt;m__4(&lt;&gt;__AnonType0`2[System.String,System.Int32])">
-        <size>78</size>
+        <size>13</size>
       </method>
     </type>
     <type name="NestedQuery+&lt;XX&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Boolean &lt;&gt;m__2(&lt;&gt;__AnonType1`2[System.Char,System.Int32])">
-        <size>17</size>
+    </type>
+    <type name="NestedQuery+&lt;Main&gt;c__AnonStorey1">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="NestedQuery">
+      <method name="IEnumerable`1 &lt;XX&gt;m__1(&lt;&gt;__AnonType0`2[System.String,System.Int32])">
+        <size>110</size>
+      </method>
+      <method name="Boolean &lt;Main&gt;m__2(System.String)">
+        <size>10</size>
+      </method>
+      <method name="IEnumerable`1 &lt;Main&gt;m__3(System.String)">
+        <size>36</size>
+      </method>
+      <method name="&lt;&gt;__AnonType0`2[System.String,System.Int32] &lt;Main&gt;m__4(System.String)">
+        <size>13</size>
       </method>
-      <method name="Char &lt;&gt;m__3(&lt;&gt;__AnonType1`2[System.Char,System.Int32])">
+      <method name="IEnumerable`1 &lt;Main&gt;m__5(&lt;&gt;__AnonType0`2[System.String,System.Int32])">
+        <size>110</size>
+      </method>
+      <method name="&lt;&gt;__AnonType1`2[System.Char,System.Int32] &lt;XX&gt;m__6(Char)">
+        <size>9</size>
+      </method>
+      <method name="Char &lt;XX&gt;m__8(&lt;&gt;__AnonType1`2[System.Char,System.Int32])">
+        <size>7</size>
+      </method>
+      <method name="Boolean &lt;Main&gt;m__9(Char)">
+        <size>6</size>
+      </method>
+      <method name="&lt;&gt;__AnonType1`2[System.Char,System.Int32] &lt;Main&gt;m__A(Char)">
         <size>9</size>
       </method>
+      <method name="Char &lt;Main&gt;m__C(&lt;&gt;__AnonType1`2[System.Char,System.Int32])">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="NestedQuery+&lt;XX&gt;c__AnonStorey0">
+      <method name="Boolean &lt;&gt;m__7(&lt;&gt;__AnonType1`2[System.Char,System.Int32])">
+        <size>15</size>
+      </method>
+    </type>
+    <type name="NestedQuery+&lt;Main&gt;c__AnonStorey1">
+      <method name="Boolean &lt;&gt;m__B(&lt;&gt;__AnonType1`2[System.Char,System.Int32])">
+        <size>15</size>
+      </method>
     </type>
   </test>
   <test name="gtest-linq-13.cs">
         <size>1</size>
       </method>
       <method name="Void Foo(TypeDefinition)">
-        <size>30</size>
+        <size>47</size>
       </method>
       <method name="MethodDefinition &lt;Foo&gt;m__0(MethodDefinition)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
     <type name="Extension">
       </method>
     </type>
   </test>
+  <test name="gtest-linq-15.cs">
+    <type name="NameCollisionTest.Data">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="NameCollisionTest.Ex">
+      <method name="IEnumerable`1 Foo[T,TR](IEnumerable`1, System.Func`2[T,TR])">
+        <size>30</size>
+      </method>
+    </type>
+    <type name="NameCollisionTest.C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>78</size>
+      </method>
+      <method name="Int32 &lt;Main&gt;m__0(NameCollisionTest.Data)">
+        <size>7</size>
+      </method>
+      <method name="Boolean &lt;Main&gt;m__1(Int32)">
+        <size>5</size>
+      </method>
+    </type>
+    <type name="NameCollisionTest.Ex+&lt;Foo&gt;c__Iterator0`2[T,TR]">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="TR System.Collections.Generic.IEnumerator`1[TR].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>65</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable`1[TR].GetEnumerator()">
+        <size>65</size>
+      </method>
+      <method name="Boolean MoveNext()">
+        <size>86</size>
+      </method>
+      <method name="Void Dispose()">
+        <size>8</size>
+      </method>
+      <method name="Void Reset()">
+        <size>6</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-partial-01.cs">
     <type name="C">
       <method name="Void .ctor()">
         <size>13</size>
       </method>
       <method name="Int32 Main()">
-        <size>249</size>
+        <size>300</size>
       </method>
     </type>
     <type name="IntFunc">
     </type>
     <type name="X">
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
     </type>
     <type name="X+&lt;Main&gt;c__AnonStorey0">
       <method name="Void &lt;&gt;m__2(Int32)">
         <size>8</size>
       </method>
-      <method name="Void &lt;&gt;m__3(Int32)">
+    </type>
+    <type name="X">
+      <method name="Void &lt;Main&gt;m__3(Int32)">
         <size>8</size>
       </method>
     </type>
         <size>19</size>
       </method>
       <method name="Void Main()">
-        <size>18</size>
+        <size>35</size>
       </method>
     </type>
     <type name="funcs">
     </type>
     <type name="X">
       <method name="System.String &lt;Main&gt;m__0(System.String)">
-        <size>14</size>
+        <size>12</size>
       </method>
     </type>
   </test>
         <size>8</size>
       </method>
       <method name="Int32 Main()">
-        <size>37</size>
+        <size>54</size>
       </method>
     </type>
     <type name="Func`2[TArg0,TResult]">
     </type>
     <type name="Demo">
       <method name="TimeSpan &lt;Main&gt;m__0(System.String)">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>14</size>
       </method>
       <method name="Int32 Main()">
-        <size>69</size>
+        <size>103</size>
       </method>
     </type>
     <type name="Func`2[TArg0,TResult]">
     </type>
     <type name="Demo">
       <method name="TimeSpan &lt;Main&gt;m__0(System.String)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="Double &lt;Main&gt;m__1(TimeSpan)">
-        <size>10</size>
+        <size>8</size>
       </method>
     </type>
   </test>
         <size>8</size>
       </method>
       <method name="Int32 Main()">
-        <size>91</size>
+        <size>125</size>
       </method>
     </type>
     <type name="C+di">
         <size>0</size>
       </method>
     </type>
-    <type name="C">
-      <method name="System.String &lt;Main&gt;m__1(System.String)">
-        <size>33</size>
-      </method>
-      <method name="Int32 &lt;Main&gt;m__3(Int32)">
-        <size>33</size>
-      </method>
-    </type>
     <type name="C+&lt;Main&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="System.String &lt;&gt;m__0(System.String)">
-        <size>14</size>
-      </method>
     </type>
     <type name="C+&lt;Main&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Int32 &lt;&gt;m__2(Int32)">
-        <size>13</size>
+    </type>
+    <type name="C">
+      <method name="System.String &lt;Main&gt;m__0(System.String)">
+        <size>31</size>
+      </method>
+      <method name="Int32 &lt;Main&gt;m__1(Int32)">
+        <size>31</size>
+      </method>
+    </type>
+    <type name="C+&lt;Main&gt;c__AnonStorey0">
+      <method name="System.String &lt;&gt;m__2(System.String)">
+        <size>12</size>
+      </method>
+    </type>
+    <type name="C+&lt;Main&gt;c__AnonStorey1">
+      <method name="Int32 &lt;&gt;m__3(Int32)">
+        <size>11</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Int32 Main()">
-        <size>19</size>
+        <size>36</size>
       </method>
     </type>
     <type name="TestClass+DT">
         <size>0</size>
       </method>
     </type>
-    <type name="TestClass">
-      <method name="Void &lt;Main&gt;m__2(F)">
-        <size>31</size>
-      </method>
-    </type>
-    <type name="TestClass+&lt;Main&gt;c__AnonStorey1">
+    <type name="TestClass+&lt;Main&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0(F)">
-        <size>77</size>
+      <method name="Void &lt;&gt;m__1(T)">
+        <size>38</size>
       </method>
     </type>
-    <type name="TestClass+&lt;Main&gt;c__AnonStorey0">
+    <type name="TestClass">
+      <method name="Void &lt;Main&gt;m__0(F)">
+        <size>31</size>
+      </method>
+    </type>
+    <type name="TestClass+&lt;Main&gt;c__AnonStorey0+&lt;Main&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__1(T)">
-        <size>38</size>
+      <method name="Void &lt;&gt;m__2(F)">
+        <size>77</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Main()">
-        <size>105</size>
+        <size>207</size>
       </method>
     </type>
     <type name="D">
         <size>1</size>
       </method>
       <method name="Int32 Main()">
-        <size>202</size>
+        <size>321</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__1(Int32)">
-        <size>7</size>
+        <size>5</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__2(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__3(Int32)">
-        <size>7</size>
+        <size>5</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__4(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
       <method name="Boolean &lt;Main&gt;m__5(Int32)">
-        <size>7</size>
+        <size>5</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__6(Int32)">
-        <size>6</size>
+        <size>4</size>
       </method>
     </type>
   </test>
         <size>2</size>
       </method>
       <method name="Void Main()">
-        <size>62</size>
+        <size>113</size>
       </method>
     </type>
     <type name="Func`1[TD]">
     </type>
     <type name="C">
       <method name="System.String &lt;Main&gt;m__0()">
-        <size>8</size>
+        <size>6</size>
       </method>
       <method name="System.String &lt;Main&gt;m__1()">
-        <size>8</size>
+        <size>6</size>
       </method>
       <method name="System.String &lt;Main&gt;m__2(System.String)">
-        <size>8</size>
+        <size>6</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="IEnumerable`1 &lt;&gt;m__0(Int32)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="IEnumerable`1 &lt;&gt;m__1(Int32, System.Int32[])">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="IEnumerable`1 &lt;&gt;m__2(System.Int32[])">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Group`2[TI,TV] &lt;&gt;m__0(TV)">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>12</size>
       </method>
       <method name="Void Main()">
-        <size>42</size>
+        <size>76</size>
       </method>
       <method name="System.String Bar()">
-        <size>18</size>
+        <size>35</size>
       </method>
     </type>
     <type name="TestUnary">
         <size>1</size>
       </method>
       <method name="Void Bar()">
-        <size>18</size>
+        <size>35</size>
       </method>
       <method name="Void &lt;Bar&gt;m__0(Int32)">
         <size>6</size>
     </type>
     <type name="Program">
       <method name="System.String &lt;Bar&gt;m__1(System.String)">
-        <size>9</size>
+        <size>7</size>
       </method>
       <method name="System.String &lt;Main&gt;m__2(System.String)">
-        <size>4</size>
+        <size>2</size>
       </method>
       <method name="Void &lt;Main&gt;m__3(System.String)">
         <size>7</size>
         <size>1</size>
       </method>
       <method name="T &lt;Foo&gt;m__0[T](T)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>98</size>
+        <size>115</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__1(System.String)">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
     <type name="Enumerable+&lt;Sum&gt;c__AnonStorey0`1[TSource]">
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__0(Int32, TSource)">
-        <size>17</size>
+        <size>15</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Testing()">
-        <size>88</size>
+        <size>75</size>
       </method>
       <method name="Void Main()">
         <size>11</size>
       </method>
-    </type>
-    <type name="TestCase+&lt;Testing&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>13</size>
+      <method name="Void &lt;Testing&gt;m__0()">
+        <size>8</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="TResult &lt;&gt;m__0(T1, T2, Int32)">
-        <size>16</size>
+        <size>14</size>
       </method>
     </type>
   </test>
       </method>
     </type>
   </test>
+  <test name="ltest-20.cs">
+    <type name="Z">
+      <method name="Void .ctor()">
+        <size>37</size>
+      </method>
+      <method name="Void &lt;Z&gt;m__0()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Boolean Foo()">
+        <size>2</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="TestMethod">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <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>
+    </type>
+  </test>
+  <test name="ltest-21.cs">
+    <type name="Program">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="T Foo[T](System.Func`2[System.String,T])">
+        <size>12</size>
+      </method>
+      <method name="Void Foo(System.Action`1[System.String])">
+        <size>12</size>
+      </method>
+      <method name="System.String Bar()">
+        <size>35</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>95</size>
+      </method>
+      <method name="System.String &lt;Bar&gt;m__0(System.String)">
+        <size>7</size>
+      </method>
+      <method name="System.String &lt;Main&gt;m__1(System.String)">
+        <size>2</size>
+      </method>
+      <method name="Void &lt;Main&gt;m__2(System.String)">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-1.cs">
     <type name="X">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>100</size>
+        <size>99</size>
       </method>
     </type>
   </test>
         <size>29</size>
       </method>
       <method name="Int64 test24(Int32)">
-        <size>68</size>
+        <size>67</size>
       </method>
       <method name="Int64 test25(Int32)">
         <size>44</size>
         <size>41</size>
       </method>
       <method name="Void test37()">
-        <size>44</size>
+        <size>42</size>
       </method>
       <method name="Int32 test38()">
         <size>2</size>
       </method>
     </type>
   </test>
-  <test name="test-298.cs">
-    <type name="X">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Int32 Main(System.String[])">
-        <size>16</size>
-      </method>
-    </type>
-  </test>
   <test name="test-299.cs">
     <type name="SampleClass">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>51</size>
+        <size>50</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>38</size>
+        <size>55</size>
       </method>
     </type>
     <type name="Mapper">
     </type>
     <type name="X">
       <method name="Double &lt;Main&gt;m__0(Int32)">
-        <size>8</size>
+        <size>6</size>
       </method>
     </type>
   </test>
         <size>17</size>
       </method>
       <method name="Int32 Main()">
-        <size>89</size>
+        <size>84</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__0()">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
     <type name="X+&lt;t2&gt;c__AnonStorey1">
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__1()">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
     <type name="X+&lt;Main2&gt;c__AnonStorey2">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>153</size>
+        <size>20</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>28</size>
+        <size>27</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 ParseType(System.String)">
-        <size>87</size>
+        <size>164</size>
       </method>
       <method name="Void Main()">
         <size>12</size>
         <size>89</size>
       </method>
       <method name="Int32 TestPtrAdd()">
-        <size>86</size>
+        <size>87</size>
       </method>
       <method name="Int32 TestPtrAssign()">
         <size>198</size>
       </method>
       <method name="Int32 TestPtrArithmetic()">
-        <size>229</size>
+        <size>227</size>
       </method>
       <method name="Int32 TestMultiple()">
         <size>93</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>174</size>
+        <size>171</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>19</size>
+        <size>18</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>45</size>
+        <size>44</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Z()">
-        <size>32</size>
-      </method>
-    </type>
-    <type name="X+&lt;Z&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
-        <size>7</size>
+        <size>19</size>
       </method>
-      <method name="Void &lt;&gt;m__0(System.Object)">
-        <size>12</size>
+      <method name="Void &lt;Z&gt;m__0(System.Object)">
+        <size>25</size>
       </method>
-      <method name="Void &lt;&gt;m__1(System.Object)">
-        <size>30</size>
+      <method name="Void &lt;Z&gt;m__1(System.Object)">
+        <size>7</size>
       </method>
     </type>
   </test>
   <test name="test-481.cs">
     <type name="TestClass">
       <method name="Int32 Main()">
-        <size>25</size>
+        <size>42</size>
       </method>
     </type>
     <type name="TestDelegate">
         <size>70</size>
       </method>
       <method name="Int32 tests(System.String)">
-        <size>96</size>
+        <size>152</size>
       </method>
       <method name="Int32 testn(System.String)">
-        <size>31</size>
+        <size>76</size>
       </method>
       <method name="Int32 testm(System.String)">
-        <size>32</size>
+        <size>77</size>
       </method>
       <method name="Int32 testo(System.String)">
-        <size>40</size>
+        <size>79</size>
       </method>
       <method name="Int32 testp(System.String)">
-        <size>56</size>
+        <size>109</size>
       </method>
       <method name="Int32 test_def(System.String)">
-        <size>62</size>
+        <size>119</size>
       </method>
       <method name="Int32 test_coverage(Int32)">
-        <size>19</size>
+        <size>18</size>
       </method>
       <method name="Int32 test_goto(Int32)">
         <size>39</size>
       </method>
       <method name="Int32 test_memberaccess(System.String)">
-        <size>31</size>
+        <size>76</size>
       </method>
       <method name="Int32 test_string_multiple_targets(System.String)">
-        <size>70</size>
+        <size>128</size>
       </method>
       <method name="Int32 test_casts(Int32)">
-        <size>18</size>
+        <size>17</size>
       </method>
       <method name="Int32 testSwitchEnumLong(TestEnum)">
         <size>56</size>
         <size>66</size>
       </method>
       <method name="Int32 tests_default(System.String)">
-        <size>31</size>
+        <size>107</size>
       </method>
       <method name="Int32 tests_default_2(System.String)">
-        <size>67</size>
+        <size>124</size>
       </method>
       <method name="Void test_76590(System.String)">
-        <size>60</size>
+        <size>100</size>
       </method>
       <method name="Void test_77964()">
         <size>37</size>
       </method>
       <method name="Boolean bug_78860()">
-        <size>67</size>
+        <size>107</size>
       </method>
       <method name="Int32 Main()">
         <size>1037</size>
         <size>1</size>
       </method>
       <method name="Void foo(Boolean ByRef)">
-        <size>32</size>
+        <size>49</size>
       </method>
       <method name="Void Main(System.String[])">
         <size>8</size>
     </type>
     <type name="Tests">
       <method name="Boolean &lt;foo&gt;m__0(System.Object)">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void test39(Int32 ByRef)">
-        <size>41</size>
+        <size>36</size>
       </method>
       <method name="Void Main()">
         <size>28</size>
         <size>1</size>
       </method>
       <method name="Void Main()">
-        <size>14</size>
+        <size>31</size>
       </method>
     </type>
     <type name="FooHandler">
         <size>7</size>
       </method>
       <method name="Void .cctor()">
-        <size>29</size>
+        <size>46</size>
       </method>
       <method name="Int32 Main()">
         <size>6</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>40</size>
+        <size>57</size>
       </method>
     </type>
     <type name="Test1.TestDelegate1">
     </type>
     <type name="Test1.CC">
       <method name="Int32 &lt;Main&gt;m__0()">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>18</size>
+        <size>35</size>
       </method>
       <method name="Void DoCall(X+test)">
         <size>1</size>
     </type>
     <type name="X">
       <method name="System.Object &lt;Main&gt;m__0(System.Reflection.MethodInfo)">
-        <size>20</size>
+        <size>18</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void TestFunc()">
-        <size>8</size>
+        <size>2</size>
       </method>
       <method name="Void Main(System.String[])">
         <size>6</size>
         <size>0</size>
       </method>
     </type>
-    <type name="Test+&lt;TestFunc&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>12</size>
-      </method>
-    </type>
   </test>
   <test name="test-635.cs">
     <type name="ShortCircuitFold">
         <size>3</size>
       </method>
       <method name="Int32 CheckAdd(System.Byte*, Int32)">
-        <size>15</size>
+        <size>14</size>
       </method>
       <method name="Int32 CheckSub(System.Int16*, Int32)">
-        <size>17</size>
+        <size>16</size>
       </method>
       <method name="Int32 CheckSub2(System.Int16*, Int32)">
-        <size>24</size>
+        <size>23</size>
       </method>
     </type>
   </test>
       </method>
     </type>
   </test>
+  <test name="test-651.cs">
+    <type name="Foo">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Open(IList)">
+        <size>1</size>
+      </method>
+      <method name="Void Open(System.Collections.ArrayList ByRef)">
+        <size>20</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-652.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>6</size>
+      </method>
+      <method name="Int32 Test()">
+        <size>27</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-653.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Test()">
+        <size>50</size>
+      </method>
+      <method name="Void Test2()">
+        <size>32</size>
+      </method>
+      <method name="Void Test2(SByte, Int16, Int32, Int64, UInt64)">
+        <size>39</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>41</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-654.cs">
+    <type name="Program">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>8</size>
+      </method>
+      <method name="Int32 Test(System.SByte*)">
+        <size>33</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-655.cs">
+    <type name="D">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Byte get_Item(Int32)">
+        <size>7</size>
+      </method>
+      <method name="Void set_Item(Int32, Byte)">
+        <size>8</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>77</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-656.cs">
+    <type name="Goo">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>26</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-657.cs">
+    <type name="TestDebug.C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Method()">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="TestDebug.Program">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Excluded()">
+        <size>11</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-658.cs">
+    <type name="A">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 get_Thread()">
+        <size>2</size>
+      </method>
+    </type>
+    <type name="Thread">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Foo()">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>6</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-659.cs">
+    <type name="Iface">
+      <method name="Void set_AA(Int32, Boolean)">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="MySubClass">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>30</size>
+      </method>
+      <method name="Void set_BB(Int32, Boolean)">
+        <size>1</size>
+      </method>
+      <method name="Void Iface.set_AA(Int32, Boolean)">
+        <size>9</size>
+      </method>
+    </type>
+  </test>
   <test name="test-66.cs">
     <type name="Y">
       <method name="Void .ctor()">
       </method>
     </type>
   </test>
+  <test name="test-660.cs">
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>25</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-661.cs">
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+      <method name="Void TestMethod()">
+        <size>15</size>
+      </method>
+      <method name="SummaryInfo GetSummary()">
+        <size>2</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-662.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-663.cs">
+    <type name="A">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 op_Implicit(A)">
+        <size>2</size>
+      </method>
+      <method name="Boolean op_Implicit(A)">
+        <size>2</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>17</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-664.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Boolean Test(System.String)">
+        <size>137</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>49</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-665.cs">
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>14</size>
+      </method>
+      <method name="Int32 Method(System.Object)">
+        <size>2</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-666.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-667.cs">
+    <type name="IA">
+      <method name="Void M()">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="CA">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void IA.M()">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="CC">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+    </type>
+  </test>
   <test name="test-68.cs">
     <type name="Y">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void Test()">
-        <size>118</size>
+        <size>111</size>
       </method>
       <method name="Int32 Main()">
         <size>66</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>54</size>
+        <size>122</size>
       </method>
     </type>
     <type name="D">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>240</size>
+        <size>257</size>
       </method>
       <method name="System.Collections.ArrayList Find(predicate, System.Collections.ArrayList)">
         <size>79</size>
     </type>
     <type name="X">
       <method name="Boolean &lt;Main&gt;m__0(System.Object)">
-        <size>15</size>
+        <size>13</size>
       </method>
     </type>
   </test>
         <size>42</size>
       </method>
       <method name="D T()">
-        <size>28</size>
+        <size>15</size>
       </method>
       <method name="System.String CALL()">
         <size>6</size>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;T&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>27</size>
+    <type name="X">
+      <method name="Void &lt;T&gt;m__0()">
+        <size>22</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>26</size>
+        <size>43</size>
       </method>
     </type>
     <type name="Foo+Inner">
     </type>
     <type name="Foo">
       <method name="Foo+Inner &lt;Main&gt;m__0(System.String)">
-        <size>15</size>
+        <size>13</size>
       </method>
     </type>
   </test>
         <size>42</size>
       </method>
       <method name="D T()">
-        <size>28</size>
+        <size>15</size>
       </method>
     </type>
     <type name="D">
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;T&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>32</size>
+    <type name="X">
+      <method name="Void &lt;T&gt;m__0()">
+        <size>27</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Int32 Main()">
-        <size>44</size>
+        <size>61</size>
       </method>
     </type>
     <type name="ClickEvent">
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;MainHost&gt;c__AnonStorey1">
+    <type name="X+&lt;MainHost&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
         <size>52</size>
       </method>
     </type>
-    <type name="X+&lt;MainHost&gt;c__AnonStorey0">
+    <type name="X+&lt;MainHost&gt;c__AnonStorey0+&lt;MainHost&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;M&gt;c__AnonStorey1">
+    <type name="X+&lt;M&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>81</size>
+        <size>48</size>
       </method>
     </type>
-    <type name="X+&lt;M&gt;c__AnonStorey0">
+    <type name="X+&lt;M&gt;c__AnonStorey0+&lt;M&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__1()">
-        <size>48</size>
+        <size>81</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;T&gt;c__AnonStorey1">
+    <type name="X+&lt;T&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
         <size>52</size>
       </method>
     </type>
-    <type name="X+&lt;T&gt;c__AnonStorey0">
+    <type name="X+&lt;T&gt;c__AnonStorey0+&lt;T&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;M&gt;c__AnonStorey1">
+    <type name="X+&lt;M&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>24</size>
+        <size>38</size>
       </method>
     </type>
-    <type name="X+&lt;M&gt;c__AnonStorey0">
+    <type name="X+&lt;M&gt;c__AnonStorey0+&lt;M&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__1()">
-        <size>38</size>
+        <size>24</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__0()">
-        <size>23</size>
+        <size>21</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__0(Int32)">
-        <size>11</size>
+        <size>9</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;M&gt;c__AnonStorey1">
+    <type name="X+&lt;M&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>50</size>
+        <size>38</size>
       </method>
     </type>
-    <type name="X+&lt;M&gt;c__AnonStorey0">
+    <type name="X+&lt;M&gt;c__AnonStorey0+&lt;M&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__1()">
-        <size>38</size>
+        <size>50</size>
       </method>
     </type>
   </test>
         <size>108</size>
       </method>
       <method name="System.String Hello()">
-        <size>33</size>
+        <size>20</size>
       </method>
       <method name="Void Main()">
         <size>18</size>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Hello&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
+    <type name="X">
+      <method name="Void &lt;Hello&gt;m__1(System.String)">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0(System.String)">
-        <size>7</size>
+      <method name="System.String &lt;Hello&gt;m__0()">
+        <size>205</size>
       </method>
-      <method name="Void &lt;&gt;m__1(System.String)">
+      <method name="Void &lt;Hello&gt;m__2(System.String)">
         <size>7</size>
       </method>
-      <method name="System.String &lt;&gt;m__2()">
-        <size>184</size>
-      </method>
     </type>
   </test>
   <test name="test-anon-30.cs">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0(System.String)">
-        <size>13</size>
-      </method>
-      <method name="Void &lt;&gt;m__1()">
+      <method name="Void &lt;&gt;m__0()">
         <size>25</size>
       </method>
+      <method name="Void &lt;&gt;m__1(System.String)">
+        <size>13</size>
+      </method>
     </type>
   </test>
   <test name="test-anon-33.cs">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>19</size>
+        <size>36</size>
       </method>
     </type>
     <type name="TestMethod">
         <size>7</size>
       </method>
       <method name="Void .cctor()">
-        <size>18</size>
+        <size>35</size>
       </method>
       <method name="Void Main(System.String[])">
         <size>11</size>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey1">
+    <type name="X+&lt;Test&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>34</size>
+      <method name="Simple &lt;&gt;m__0()">
+        <size>64</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey0">
+    <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Simple &lt;&gt;m__1()">
-        <size>66</size>
+      <method name="Void &lt;&gt;m__1()">
+        <size>34</size>
       </method>
     </type>
   </test>
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>18</size>
+      <method name="Simple &lt;&gt;m__0()">
+        <size>30</size>
       </method>
-      <method name="Simple &lt;&gt;m__1()">
-        <size>32</size>
+      <method name="Void &lt;&gt;m__1()">
+        <size>18</size>
       </method>
     </type>
   </test>
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>18</size>
+      <method name="Simple &lt;&gt;m__0()">
+        <size>30</size>
       </method>
-      <method name="Simple &lt;&gt;m__1()">
-        <size>32</size>
+      <method name="Void &lt;&gt;m__1()">
+        <size>18</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey1">
+    <type name="X+&lt;Test&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>35</size>
+      <method name="Simple &lt;&gt;m__0()">
+        <size>55</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey0">
+    <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Simple &lt;&gt;m__1()">
-        <size>57</size>
+      <method name="Void &lt;&gt;m__1()">
+        <size>35</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Test(Int32)">
-        <size>34</size>
+        <size>51</size>
       </method>
       <method name="Void Main()">
         <size>13</size>
       </method>
     </type>
     <type name="X">
-      <method name="Void &lt;Test&gt;m__0()">
-        <size>8</size>
+      <method name="Simple &lt;Test&gt;m__0()">
+        <size>37</size>
       </method>
-      <method name="Simple &lt;Test&gt;m__1()">
-        <size>22</size>
+      <method name="Void &lt;Test&gt;m__1()">
+        <size>8</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey1">
+    <type name="X+&lt;Test&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>34</size>
+      <method name="Simple &lt;&gt;m__0()">
+        <size>64</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey0">
+    <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Simple &lt;&gt;m__1()">
-        <size>66</size>
+      <method name="Void &lt;&gt;m__1()">
+        <size>34</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey1">
+    <type name="X+&lt;Test&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>26</size>
+      <method name="Simple &lt;&gt;m__1()">
+        <size>33</size>
+      </method>
+      <method name="Simple &lt;&gt;m__0()">
+        <size>51</size>
+      </method>
+      <method name="Void &lt;&gt;m__3()">
+        <size>21</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey0">
+    <type name="X+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Simple &lt;&gt;m__1()">
-        <size>53</size>
-      </method>
       <method name="Void &lt;&gt;m__2()">
-        <size>21</size>
-      </method>
-      <method name="Simple &lt;&gt;m__3()">
-        <size>35</size>
+        <size>26</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Test(Int32)">
-        <size>150</size>
+        <size>143</size>
       </method>
     </type>
     <type name="X">
         <size>1</size>
       </method>
       <method name="Void Test(Int32)">
-        <size>226</size>
+        <size>205</size>
       </method>
     </type>
     <type name="X">
         <size>53</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>120</size>
+        <size>118</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Void .cctor()">
-        <size>18</size>
+        <size>35</size>
       </method>
       <method name="Void Main()">
         <size>11</size>
         <size>213</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>23</size>
+        <size>22</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>11</size>
       </method>
       <method name="Void Test()">
-        <size>32</size>
+        <size>19</size>
       </method>
     </type>
     <type name="X">
         <size>0</size>
       </method>
     </type>
-    <type name="Foo+&lt;Test&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
+    <type name="Foo">
+      <method name="Void &lt;Test&gt;m__0()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>12</size>
-      </method>
     </type>
   </test>
   <test name="test-anon-56.cs">
         <size>7</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>33</size>
+        <size>50</size>
       </method>
     </type>
     <type name="QueueHandler">
         <size>7</size>
       </method>
       <method name="Int32 Test(Int32)">
-        <size>351</size>
+        <size>344</size>
       </method>
       <method name="Int32 Main()">
         <size>46</size>
         <size>7</size>
       </method>
       <method name="Int32 Test(Int32)">
-        <size>538</size>
+        <size>515</size>
       </method>
       <method name="Int32 Main()">
         <size>46</size>
         <size>7</size>
       </method>
       <method name="Int32 Test(Int32)">
-        <size>588</size>
+        <size>567</size>
       </method>
       <method name="Int32 Main()">
         <size>46</size>
         <size>0</size>
       </method>
     </type>
-    <type name="X+&lt;Test&gt;c__AnonStorey4">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Void &lt;&gt;m__0()">
-        <size>124</size>
-      </method>
-    </type>
     <type name="X+&lt;Test&gt;c__AnonStorey2">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Void &lt;&gt;m__1()">
-        <size>356</size>
-      </method>
     </type>
     <type name="X+&lt;Test&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
     </type>
+    <type name="X+&lt;Test&gt;c__AnonStorey2">
+      <method name="Void &lt;&gt;m__0()">
+        <size>356</size>
+      </method>
+    </type>
+    <type name="X+&lt;Test&gt;c__AnonStorey2+&lt;Test&gt;c__AnonStorey4">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void &lt;&gt;m__1()">
+        <size>124</size>
+      </method>
+    </type>
   </test>
   <test name="test-anon-61.cs">
     <type name="X">
         <size>7</size>
       </method>
       <method name="Int32 Test()">
-        <size>351</size>
+        <size>344</size>
       </method>
       <method name="Int32 Main()">
         <size>59</size>
         <size>207</size>
       </method>
       <method name="Int32 &lt;&gt;m__0()">
-        <size>46</size>
+        <size>44</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>2</size>
       </method>
       <method name="Void AddSource(Source, Int32, System.Object)">
-        <size>115</size>
+        <size>132</size>
       </method>
       <method name="Void Main()">
         <size>1</size>
       <method name="Void &lt;&gt;m__0(System.Object, System.EventArgs)">
         <size>30</size>
       </method>
-      <method name="Void &lt;&gt;m__1(System.Object, System.EventArgs)">
+    </type>
+    <type name="Source">
+      <method name="Void &lt;AddSource&gt;m__1(System.Object, System.EventArgs)">
         <size>1</size>
       </method>
     </type>
         <size>7</size>
       </method>
       <method name="System.String &lt;&gt;m__0()">
-        <size>9</size>
+        <size>7</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Main()">
-        <size>35</size>
+        <size>69</size>
       </method>
     </type>
     <type name="D1">
         <size>8</size>
       </method>
       <method name="Void Detach()">
-        <size>33</size>
+        <size>20</size>
       </method>
     </type>
     <type name="X">
         <size>0</size>
       </method>
     </type>
-    <type name="SingleSteppingEngine+&lt;Detach&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="System.Object &lt;&gt;m__0(System.Object)">
-        <size>26</size>
+    <type name="SingleSteppingEngine">
+      <method name="System.Object &lt;Detach&gt;m__0(System.Object)">
+        <size>19</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Main()">
-        <size>82</size>
+        <size>99</size>
       </method>
     </type>
     <type name="C+D">
         <size>0</size>
       </method>
     </type>
-    <type name="C+&lt;Main&gt;c__AnonStorey0">
+    <type name="UnsafeClass">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="System.Int32* GetUnsafeValue()">
+        <size>3</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void UnsafeTests()">
+        <size>35</size>
+      </method>
+    </type>
+    <type name="C+&lt;UnsafeTests&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__0()">
-        <size>38</size>
+        <size>14</size>
+      </method>
+    </type>
+    <type name="C+&lt;Main&gt;c__AnonStorey1">
+      <method name="Void .ctor()">
+        <size>7</size>
       </method>
       <method name="Void &lt;&gt;m__1()">
-        <size>34</size>
+        <size>38</size>
       </method>
       <method name="Void &lt;&gt;m__2()">
+        <size>34</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void &lt;Main&gt;m__3()">
         <size>16</size>
       </method>
     </type>
         <size>7</size>
       </method>
       <method name="Int32 &lt;&gt;m__0(Int32)">
-        <size>48</size>
+        <size>46</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void Foo()">
-        <size>32</size>
+        <size>19</size>
       </method>
     </type>
     <type name="Test+UnaryOperator">
         <size>0</size>
       </method>
     </type>
-    <type name="Test+&lt;Foo&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="Boolean &lt;&gt;m__0(System.Object, System.Object ByRef)">
-        <size>38</size>
+    <type name="Test">
+      <method name="Boolean &lt;Foo&gt;m__0(System.Object, System.Object ByRef)">
+        <size>31</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>14</size>
+        <size>31</size>
       </method>
       <method name="Void Test_1()">
-        <size>19</size>
+        <size>36</size>
       </method>
     </type>
     <type name="D">
         <size>8</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>18</size>
+        <size>35</size>
       </method>
     </type>
     <type name="Foo+SimpleDelegate">
     </type>
     <type name="Foo">
       <method name="System.String[,] &lt;Main&gt;m__0()">
-        <size>36</size>
+        <size>34</size>
       </method>
     </type>
   </test>
         <size>1</size>
       </method>
       <method name="Void TestMe()">
-        <size>150</size>
+        <size>160</size>
       </method>
       <method name="Boolean &lt;TestMe&gt;m__0()">
-        <size>4</size>
+        <size>2</size>
       </method>
     </type>
     <type name="D">
         <size>7</size>
       </method>
       <method name="Boolean &lt;&gt;m__2()">
-        <size>66</size>
+        <size>14</size>
       </method>
     </type>
     <type name="Test+&lt;TestMe&gt;c__AnonStorey2">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
-      <method name="Boolean &lt;&gt;m__1()">
-        <size>11</size>
-      </method>
     </type>
     <type name="Test+&lt;TestMe&gt;c__AnonStorey1">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
     </type>
+    <type name="Test+&lt;TestMe&gt;c__AnonStorey0">
+      <method name="Boolean &lt;&gt;m__1()">
+        <size>59</size>
+      </method>
+    </type>
   </test>
   <test name="test-anon-76.cs">
     <type name="C">
         <size>7</size>
       </method>
       <method name="Void X()">
-        <size>37</size>
+        <size>24</size>
       </method>
       <method name="Int32 Main()">
         <size>70</size>
         <size>0</size>
       </method>
     </type>
-    <type name="C+&lt;X&gt;c__AnonStorey0">
-      <method name="Void .ctor()">
-        <size>7</size>
-      </method>
-      <method name="System.Object &lt;&gt;m__0()">
-        <size>37</size>
+    <type name="C">
+      <method name="System.Object &lt;X&gt;m__0()">
+        <size>30</size>
       </method>
     </type>
   </test>
         <size>0</size>
       </method>
     </type>
-    <type name="y+&lt;Item&gt;c__AnonStorey0">
+    <type name="y+&lt;&gt;c__AnonStorey0">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
         <size>1</size>
       </method>
       <method name="Int32 Main()">
-        <size>33</size>
+        <size>50</size>
       </method>
       <method name="Void &lt;Main&gt;m__0()">
         <size>18</size>
       </method>
     </type>
   </test>
+  <test name="test-anon-79.cs">
+    <type name="Test">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void add_E(Test+D)">
+        <size>24</size>
+      </method>
+      <method name="Void remove_E(Test+D)">
+        <size>24</size>
+      </method>
+      <method name="Void add_Changed(Test+D)">
+        <size>30</size>
+      </method>
+      <method name="Void remove_Changed(Test+D)">
+        <size>1</size>
+      </method>
+      <method name="Void Foo()">
+        <size>1</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+    </type>
+    <type name="Test+D">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <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>
+    </type>
+    <type name="Test">
+      <method name="Void &lt;add_Changed&gt;m__0()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-anon-80.cs">
+    <type name="MonoBug.MyTest">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>167</size>
+      </method>
+    </type>
+    <type name="MonoBug.MyTest+EventHandlers">
+      <method name="Void .ctor()">
+        <size>18</size>
+      </method>
+      <method name="System.EventHandler get_DoNothingEventHandler()">
+        <size>30</size>
+      </method>
+      <method name="System.EventHandler get_DoSomethingEventHandler()">
+        <size>13</size>
+      </method>
+      <method name="System.EventHandler get_Handler()">
+        <size>7</size>
+      </method>
+      <method name="Void set_Handler(System.EventHandler)">
+        <size>8</size>
+      </method>
+      <method name="Void &lt;get_DoNothingEventHandler&gt;m__0(System.Object, System.EventArgs)">
+        <size>1</size>
+      </method>
+      <method name="Void &lt;get_DoSomethingEventHandler&gt;m__1(System.Object, System.EventArgs)">
+        <size>15</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-anon-81.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>20</size>
+      </method>
+      <method name="Int32 Test()">
+        <size>40</size>
+      </method>
+      <method name="Int32 Foo2(C+Cmd2)">
+        <size>7</size>
+      </method>
+      <method name="Void Foo(C+Cmd)">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C+Cmd">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <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>
+    </type>
+    <type name="C+Cmd2">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <method name="Int32 Invoke()">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Int32 EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="C+&lt;Test&gt;c__AnonStorey0">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Int32 &lt;&gt;m__0()">
+        <size>50</size>
+      </method>
+    </type>
+    <type name="C+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey2">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void &lt;&gt;m__1()">
+        <size>49</size>
+      </method>
+    </type>
+    <type name="C+&lt;Test&gt;c__AnonStorey0+&lt;Test&gt;c__AnonStorey2+&lt;Test&gt;c__AnonStorey1">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void &lt;&gt;m__2()">
+        <size>18</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-anon-82.cs">
+    <type name="MainClass">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+      <method name="Void Main()">
+        <size>87</size>
+      </method>
+      <method name="Void Test2(Int32)">
+        <size>31</size>
+      </method>
+      <method name="Void Test3(Int32)">
+        <size>57</size>
+      </method>
+      <method name="Void Test4()">
+        <size>31</size>
+      </method>
+      <method name="Void Test5(Int32)">
+        <size>27</size>
+      </method>
+      <method name="Void SimpleCallback(MainClass, System.String)">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="MainClass+D">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <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>
+    </type>
+    <type name="StringSender">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <method name="Void Invoke(System.String)">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(System.String, System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="Void EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="VoidDelegate">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <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>
+    </type>
+    <type name="MainClass+&lt;Main&gt;c__AnonStorey0">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Test2&gt;c__AnonStorey1">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Test3&gt;c__AnonStorey2">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Test4&gt;c__AnonStorey3">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Test5&gt;c__AnonStorey4">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="MainClass">
+      <method name="Void &lt;Test2&gt;m__1(System.String)">
+        <size>27</size>
+      </method>
+      <method name="Void &lt;Test3&gt;m__3()">
+        <size>1</size>
+      </method>
+      <method name="Void &lt;Test4&gt;m__4()">
+        <size>31</size>
+      </method>
+      <method name="Void &lt;Test4&gt;m__7()">
+        <size>28</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Main&gt;c__AnonStorey0">
+      <method name="Void &lt;&gt;m__0()">
+        <size>25</size>
+      </method>
+      <method name="Void &lt;&gt;m__9(System.String)">
+        <size>13</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Test3&gt;c__AnonStorey2">
+      <method name="Void &lt;&gt;m__2()">
+        <size>9</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Test5&gt;c__AnonStorey4">
+      <method name="Int32 &lt;&gt;m__5(Int32)">
+        <size>46</size>
+      </method>
+      <method name="Int32 &lt;&gt;m__A(Int32)">
+        <size>2</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Test2&gt;c__AnonStorey1">
+      <method name="Void &lt;&gt;m__6()">
+        <size>12</size>
+      </method>
+    </type>
+    <type name="MainClass+&lt;Test4&gt;c__AnonStorey3">
+      <method name="Void &lt;&gt;m__8()">
+        <size>14</size>
+      </method>
+      <method name="Void &lt;&gt;m__B()">
+        <size>8</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-anon-84.cs">
+    <type name="C">
+      <method name="Void .ctor()">
+        <size>42</size>
+      </method>
+      <method name="Void .ctor(D)">
+        <size>42</size>
+      </method>
+      <method name="Int32 Main()">
+        <size>19</size>
+      </method>
+      <method name="C &lt;C&gt;m__0(Int32)">
+        <size>4</size>
+      </method>
+    </type>
+    <type name="D">
+      <method name="Void .ctor(Object, IntPtr)">
+        <size>0</size>
+      </method>
+      <method name="C Invoke(Int32)">
+        <size>0</size>
+      </method>
+      <method name="IAsyncResult BeginInvoke(Int32, System.AsyncCallback, System.Object)">
+        <size>0</size>
+      </method>
+      <method name="C EndInvoke(IAsyncResult)">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
   <test name="test-cls-00.cs">
     <type name="CLSCLass_6">
       <method name="Void .ctor()">
         <size>53</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>255</size>
+        <size>253</size>
       </method>
       <method name="Void Dispose()">
         <size>112</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>38</size>
+        <size>36</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>38</size>
+        <size>36</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>39</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>38</size>
+        <size>36</size>
       </method>
       <method name="Void Dispose()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Void Test()">
-        <size>25</size>
+        <size>42</size>
       </method>
     </type>
     <type name="Mono.Sms.Contacts">