New test.
authorMarek Safar <marek.safar@gmail.com>
Thu, 24 Jun 2010 10:32:33 +0000 (10:32 -0000)
committerMarek Safar <marek.safar@gmail.com>
Thu, 24 Jun 2010 10:32:33 +0000 (10:32 -0000)
svn path=/trunk/mcs/; revision=159481

mcs/tests/gtest-520.cs [new file with mode: 0644]
mcs/tests/ver-il-gmcs.xml

diff --git a/mcs/tests/gtest-520.cs b/mcs/tests/gtest-520.cs
new file mode 100644 (file)
index 0000000..739f4e7
--- /dev/null
@@ -0,0 +1,47 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+class A
+{
+       public void Method ()
+       {
+       }
+}
+
+class C : IEnumerable, IEnumerable<A>
+{
+       public class GetEnumerator
+       {
+       }
+       
+       IEnumerator IEnumerable.GetEnumerator ()
+       {
+               throw new ApplicationException ();
+       }
+
+       IEnumerator<A> IEnumerable<A>.GetEnumerator ()
+       {
+               return new List<A> ().GetEnumerator ();
+       }
+}
+
+class D : C
+{
+}
+
+public class Test
+{
+       public static int Main ()
+       {
+               foreach (var v in new C ()) {
+                       v.Method ();
+               }
+
+               foreach (var v in new D ()) {
+                       v.Method ();
+               }
+
+               return 0;
+       }
+}
\ No newline at end of file
index c3a303ab7cc26c9981f1e169a6e5796cf748af22..1c79515903caded5d30f9b53bc485730a555c1e9 100644 (file)
         <size>44</size>
       </method>
       <method name="Int32 Main()">
-        <size>82</size>
+        <size>84</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>53</size>
+        <size>55</size>
       </method>
     </type>
     <type name="MyList`1+&lt;GetEnumerator&gt;c__Iterator0[T]">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>64</size>
+        <size>66</size>
       </method>
       <method name="IEnumerator GetEnumerator()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>185</size>
+        <size>187</size>
       </method>
       <method name="Void Dispose()">
-        <size>62</size>
+        <size>64</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>54</size>
+        <size>56</size>
       </method>
     </type>
     <type name="Test`1+&lt;GetEnumerator&gt;c__Iterator0[T]">
         <size>44</size>
       </method>
       <method name="IMyList`1 Map[U](Mapper`2[T,U])">
-        <size>67</size>
+        <size>69</size>
       </method>
       <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()">
         <size>7</size>
         <size>143</size>
       </method>
       <method name="Int32 GetHashCode()">
-        <size>66</size>
+        <size>68</size>
       </method>
       <method name="IEnumerator`1 GetEnumerator()">
         <size>7</size>
         <size>7</size>
       </method>
       <method name="LinkedList`1[T] op_Addition(LinkedList`1[T], LinkedList`1[T])">
-        <size>119</size>
+        <size>123</size>
       </method>
     </type>
     <type name="LinkedList`1+Node[T]">
         <size>7</size>
       </method>
       <method name="Void Print(System.IO.TextWriter)">
-        <size>87</size>
+        <size>89</size>
       </method>
     </type>
     <type name="MyString">
         <size>7</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>459</size>
+        <size>467</size>
       </method>
     </type>
     <type name="Mapper`2[A,R]">
         <size>30</size>
       </method>
       <method name="Int32 Main()">
-        <size>117</size>
+        <size>119</size>
       </method>
     </type>
     <type name="X+A">
         <size>1</size>
       </method>
       <method name="Int32 Main()">
-        <size>184</size>
+        <size>186</size>
       </method>
     </type>
     <type name="X+&lt;&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>69</size>
+        <size>71</size>
       </method>
     </type>
     <type name="test.Test`1+&lt;Lookup&gt;c__Iterator0[T]">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>112</size>
+        <size>114</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>81</size>
+        <size>83</size>
       </method>
     </type>
     <type name="HashSet`1+&lt;GetEnumerator&gt;c__Iterator0[T]">
         <size>44</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>95</size>
+        <size>97</size>
       </method>
       <method name="IEnumerable`1 FromTo(Int32, Int32)">
         <size>44</size>
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>205</size>
+        <size>207</size>
       </method>
       <method name="Void Dispose()">
-        <size>60</size>
+        <size>62</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
         <size>7</size>
       </method>
       <method name="Void AddAll[U](IEnumerable`1)">
-        <size>61</size>
+        <size>63</size>
       </method>
       <method name="Boolean searchoradd(T ByRef, Boolean, Boolean, Boolean)">
         <size>2</size>
         <size>11</size>
       </method>
       <method name="Void Run()">
-        <size>147</size>
+        <size>151</size>
       </method>
     </type>
     <type name="Test+&lt;GetEnumerator&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>53</size>
+        <size>55</size>
       </method>
     </type>
     <type name="Qux`2+GetEnumerator&gt;c__Iterator0[X,V]">
         <size>106</size>
       </method>
       <method name="Int32 Test(System.Type, System.Type[])">
-        <size>398</size>
+        <size>400</size>
       </method>
       <method name="Int32 Test()">
         <size>532</size>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>64</size>
+        <size>66</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>59</size>
+        <size>61</size>
       </method>
     </type>
     <type name="Test+GetEnumerator&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>53</size>
+        <size>55</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>59</size>
+        <size>61</size>
       </method>
     </type>
     <type name="BaseCollection`1[T]">
         <size>7</size>
       </method>
       <method name="Void Main(System.String[])">
-        <size>67</size>
+        <size>69</size>
       </method>
       <method name="IEnumerable`1 setX()">
         <size>16</size>
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>176</size>
+        <size>178</size>
       </method>
       <method name="Void Dispose()">
-        <size>60</size>
+        <size>62</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
   <test name="gtest-480.cs">
     <type name="C">
       <method name="Void Foo()">
-        <size>55</size>
+        <size>57</size>
       </method>
       <method name="Void Main()">
         <size>30</size>
         <size>86</size>
       </method>
       <method name="Void ReplaceContentsWith[T](T, T)">
-        <size>91</size>
+        <size>95</size>
       </method>
       <method name="Void .ctor()">
         <size>7</size>
     </type>
     <type name="MonoGenericIteratorTest.MainClass">
       <method name="Void Main(System.String[])">
-        <size>75</size>
+        <size>77</size>
       </method>
       <method name="Void .ctor()">
         <size>7</size>
       </method>
     </type>
   </test>
+  <test name="gtest-520.cs">
+    <type name="A">
+      <method name="Void Method()">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="IEnumerator System.Collections.IEnumerable.GetEnumerator()">
+        <size>6</size>
+      </method>
+      <method name="IEnumerator`1 System.Collections.Generic.IEnumerable&lt;A&gt;.GetEnumerator()">
+        <size>16</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C+GetEnumerator">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="D">
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Test">
+      <method name="Int32 Main()">
+        <size>118</size>
+      </method>
+      <method name="Void .ctor()">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-anon-1.cs">
     <type name="X">
       <method name="Void .ctor()">
         <size>44</size>
       </method>
       <method name="Int32 Main()">
-        <size>95</size>
+        <size>97</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__Iterator0`1[T]">
         <size>33</size>
       </method>
       <method name="System.String Implode[TSource](IEnumerable`1, System.String, System.Action`2[System.Text.StringBuilder,TSource])">
-        <size>126</size>
+        <size>128</size>
       </method>
     </type>
     <type name="Test">
         <size>7</size>
       </method>
       <method name="Boolean &lt;&gt;m__0()">
-        <size>199</size>
+        <size>201</size>
       </method>
     </type>
     <type name="Foo`1+&lt;ContainsAll&gt;c__AnonStorey0`1+&lt;ContainsAll&gt;c__AnonStorey1`1[T,U]">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>57</size>
+        <size>59</size>
       </method>
       <method name="Int32 GetItem()">
         <size>50</size>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>78</size>
+        <size>80</size>
       </method>
     </type>
     <type name="Hello">
         <size>30</size>
       </method>
       <method name="Void Main()">
-        <size>58</size>
+        <size>60</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__Iterator0">
         <size>11</size>
       </method>
       <method name="Void Main()">
-        <size>78</size>
+        <size>80</size>
       </method>
       <method name="Foo op_Implicit(Test)">
         <size>30</size>
         <size>7</size>
       </method>
       <method name="Boolean ContainsAll[U](IEnumerable`1)">
-        <size>189</size>
+        <size>191</size>
       </method>
       <method name="Boolean Contains(T)">
         <size>2</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>53</size>
+        <size>55</size>
       </method>
       <method name="IEnumerable`1 Test[T](Int32)">
         <size>30</size>
         <size>52</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>293</size>
+        <size>295</size>
       </method>
       <method name="Void Dispose()">
-        <size>60</size>
+        <size>62</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
     </type>
     <type name="ChatExtensions">
       <method name="Void Say(ChatClient, System.String, System.Collections.Specialized.StringCollection)">
-        <size>62</size>
+        <size>64</size>
       </method>
     </type>
   </test>
       </method>
     </type>
   </test>
+  <test name="gtest-exmethod-35.cs">
+    <type name="A">
+      <method name="Void Test(Int32)">
+        <size>1</size>
+      </method>
+      <method name="Void Main()">
+        <size>1</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-friend-01.cs">
     <type name="Test">
       <method name="Void .ctor()">
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>194</size>
+        <size>196</size>
       </method>
       <method name="Void Dispose()">
-        <size>60</size>
+        <size>62</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>185</size>
+        <size>187</size>
       </method>
       <method name="Void Dispose()">
-        <size>60</size>
+        <size>62</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>116</size>
+        <size>118</size>
       </method>
       <method name="Nullable`1 &lt;Main&gt;m__0(Int32)">
         <size>30</size>
         <size>16</size>
       </method>
       <method name="Int32 Main()">
-        <size>116</size>
+        <size>118</size>
       </method>
     </type>
     <type name="App+&lt;QueryEnumerable&gt;c__Iterator0`1[T]">
         <size>30</size>
       </method>
       <method name="Int32 Main()">
-        <size>78</size>
+        <size>80</size>
       </method>
     </type>
     <type name="Test+&lt;Create&gt;c__Iterator0`1[T]">
         <size>44</size>
       </method>
       <method name="Int32 Main()">
-        <size>159</size>
+        <size>163</size>
       </method>
     </type>
     <type name="Test+&lt;FromTo&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>148</size>
+        <size>150</size>
       </method>
     </type>
     <type name="Collection`1+&lt;GetEnumerator&gt;c__Iterator0[T]">
     </type>
     <type name="M">
       <method name="Void Main()">
-        <size>57</size>
+        <size>59</size>
       </method>
       <method name="Void .ctor()">
         <size>7</size>
         <size>52</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>203</size>
+        <size>205</size>
       </method>
       <method name="Void Dispose()">
-        <size>62</size>
+        <size>64</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
         <size>32</size>
       </method>
       <method name="TR Sum[TA,TR](IEnumerable`1, System.Func`3[TR,TA,TR])">
-        <size>120</size>
+        <size>122</size>
       </method>
     </type>
     <type name="Repro">
     </type>
     <type name="Repro+&lt;AssertFoo&gt;c__AnonStorey0`1[T]">
       <method name="Void &lt;&gt;m__0(Int32)">
-        <size>52</size>
+        <size>54</size>
       </method>
       <method name="Void .ctor()">
         <size>7</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>501</size>
+        <size>509</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
         <size>2</size>
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>553</size>
+        <size>561</size>
       </method>
     </type>
     <type name="&lt;PrivateImplementationDetails&gt;">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>406</size>
+        <size>410</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`2[&lt;i&gt;__T,&lt;u&gt;__T]">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>748</size>
+        <size>754</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`2[&lt;i1&gt;__T,&lt;i2&gt;__T]">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>727</size>
+        <size>729</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`2[&lt;a&gt;__T,&lt;ab&gt;__T]">
         <size>108</size>
       </method>
       <method name="Int32 Main()">
-        <size>464</size>
+        <size>472</size>
       </method>
     </type>
     <type name="&lt;&gt;__AnonType0`2[&lt;values&gt;__T,&lt;length&gt;__T]">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>157</size>
+        <size>159</size>
       </method>
       <method name="Int32 &lt;Main&gt;m__0(Int32)">
         <size>2</size>
         <size>7</size>
       </method>
       <method name="Int32 Main(System.String[])">
-        <size>78</size>
+        <size>80</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="Int32 Main(System.String[])">
-        <size>138</size>
+        <size>140</size>
       </method>
     </type>
     <type name="MonoBUG.Foo">
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>67</size>
+        <size>71</size>
       </method>
     </type>
     <type name="Blah">
         <size>10</size>
       </method>
       <method name="Void Main()">
-        <size>61</size>
+        <size>63</size>
       </method>
     </type>
     <type name="T+C">
     </type>
     <type name="A+B">
       <method name="Void .ctor()">
-        <size>473</size>
+        <size>475</size>
       </method>
     </type>
     <type name="A+B+C">
     </type>
     <type name="A+B">
       <method name="Void .ctor()">
-        <size>473</size>
+        <size>475</size>
       </method>
     </type>
     <type name="A+B+C">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>272</size>
+        <size>278</size>
       </method>
     </type>
     <type name="X">
         <size>16</size>
       </method>
       <method name="Void Main()">
-        <size>63</size>
+        <size>65</size>
       </method>
     </type>
     <type name="XX+&lt;X&gt;c__Iterator0">
         <size>2</size>
       </method>
       <method name="Void Main()">
-        <size>165</size>
+        <size>169</size>
       </method>
     </type>
     <type name="Q">
         <size>11</size>
       </method>
       <method name="Void Run()">
-        <size>176</size>
+        <size>180</size>
       </method>
     </type>
     <type name="Test+&lt;GetEnumerator&gt;c__Iterator0">
         <size>6</size>
       </method>
       <method name="Int32 Main()">
-        <size>498</size>
+        <size>504</size>
       </method>
     </type>
   </test>
         <size>7</size>
       </method>
       <method name="System.Object TestMethod(TestCollection)">
-        <size>64</size>
+        <size>66</size>
       </method>
       <method name="Void Main()">
         <size>1</size>
         <size>76</size>
       </method>
       <method name="System.String BuildNode_D()">
-        <size>155</size>
+        <size>157</size>
       </method>
       <method name="Void BuildNode_E(System.String[,] ByRef)">
         <size>68</size>
         <size>16</size>
       </method>
       <method name="Int32 Main()">
-        <size>65</size>
+        <size>67</size>
       </method>
     </type>
     <type name="Foo+&lt;foo&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>257</size>
+        <size>259</size>
       </method>
       <method name="System.Collections.ArrayList Find(predicate, System.Collections.ArrayList)">
-        <size>81</size>
+        <size>83</size>
       </method>
     </type>
     <type name="predicate">
   <test name="test-anon-35.cs">
     <type name="CustomDict">
       <method name="Void .ctor()">
-        <size>66</size>
+        <size>68</size>
       </method>
       <method name="IEnumerator GetEnumerator()">
         <size>15</size>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>64</size>
+        <size>66</size>
       </method>
       <method name="IEnumerator GetEnumerator()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Void Main()">
-        <size>64</size>
+        <size>66</size>
       </method>
       <method name="IEnumerator GetEnumerator()">
         <size>8</size>
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>185</size>
+        <size>187</size>
       </method>
       <method name="Void Dispose()">
-        <size>62</size>
+        <size>64</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
     </type>
     <type name="MainClass+&lt;Test&gt;c__AnonStorey0">
       <method name="Void &lt;&gt;m__0()">
-        <size>70</size>
+        <size>72</size>
       </method>
       <method name="Void .ctor()">
         <size>7</size>
         <size>16</size>
       </method>
       <method name="Int32 Main()">
-        <size>171</size>
+        <size>173</size>
       </method>
     </type>
     <type name="X+&lt;GetIt&gt;c__Iterator0">
         <size>30</size>
       </method>
       <method name="Int32 Main()">
-        <size>244</size>
+        <size>248</size>
       </method>
     </type>
     <type name="&lt;PrivateImplementationDetails&gt;">
         <size>44</size>
       </method>
       <method name="Void Main()">
-        <size>98</size>
+        <size>100</size>
       </method>
     </type>
     <type name="X+&lt;GetRange&gt;c__Iterator0">
         <size>16</size>
       </method>
       <method name="Int32 Main()">
-        <size>104</size>
+        <size>106</size>
       </method>
     </type>
     <type name="List">
         <size>30</size>
       </method>
       <method name="Int32 Main()">
-        <size>399</size>
+        <size>407</size>
       </method>
     </type>
     <type name="S+&lt;Get&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>372</size>
+        <size>374</size>
       </method>
     </type>
     <type name="Test+&lt;Foo&gt;c__Iterator0">
         <size>44</size>
       </method>
       <method name="Int32 Main()">
-        <size>167</size>
+        <size>169</size>
       </method>
     </type>
     <type name="X+&lt;Test&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>268</size>
+        <size>270</size>
       </method>
     </type>
     <type name="Tester+&lt;GetEnumerator&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Boolean MoveNext()">
-        <size>623</size>
+        <size>625</size>
       </method>
       <method name="Void Dispose()">
-        <size>82</size>
+        <size>84</size>
       </method>
       <method name="Void Reset()">
         <size>6</size>
         <size>1</size>
       </method>
       <method name="Int32 Main()">
-        <size>184</size>
+        <size>186</size>
       </method>
     </type>
     <type name="X+&lt;&gt;c__Iterator0">
         <size>7</size>
       </method>
       <method name="Int32 Main()">
-        <size>102</size>
+        <size>104</size>
       </method>
     </type>
     <type name="Test1.Foo+&lt;E&gt;c__Iterator0">