foreach (var member in all) {
switch (member.MemberType) {
case MemberTypes.Constructor:
+ if (declaringType.IsInterface)
+ continue;
+
+ goto case MemberTypes.Method;
case MemberTypes.Method:
MethodBase mb = (MethodBase) member;
var attrs = mb.Attributes;
throw new NotImplementedException (member.ToString ());
}
+ if (imported.IsStatic && declaringType.IsInterface)
+ continue;
+
cache.AddMemberImported (imported);
}
}
--- /dev/null
+.assembly extern mscorlib
+{
+}
+
+.assembly 'test-851-lib'
+{
+ .hash algorithm 0x00008004
+}
+
+.module 'test-851-lib.dll'
+
+.class interface public auto ansi abstract I
+{
+ .field public static initonly int32 'value'
+
+ .method public static specialname rtspecialname
+ default void '.cctor' () cil managed
+ {
+ ret
+ }
+
+ .method public static specialname
+ default void '__<clinit>' () cil managed noinlining
+ {
+ ret
+ }
+
+ .class nested public auto ansi abstract sealed __Fields
+ extends [mscorlib]System.Object
+ {
+ }
+}
--- /dev/null
+// Compiler options: -r:test-851-lib.dll
+
+public class C : I
+{
+ public static void Main ()
+ {
+
+ }
+}
+
</method>\r
</type>\r
</test>\r
+ <test name="test-851.cs">\r
+ <type name="C">\r
+ <method name="Void Main()" attrs="150">\r
+ <size>2</size>\r
+ </method>\r
+ <method name="Void .ctor()" attrs="6278">\r
+ <size>7</size>\r
+ </method>\r
+ </type>\r
+ </test>\r
<test name="test-86.cs">\r
<type name="T.T">\r
<method name="Int32 method1(System.Type, Int32)" attrs="145">\r