throw new InternalErrorException (tc, e);
}
}
+
+ if (PartialContainer != null && PartialContainer != this) {
+ containers = null;
+ }
}
return true;
public override void ExpandBaseInterfaces ()
{
+ DoResolveTypeParameters ();
+
if (!IsPartialPart)
DoExpandBaseInterfaces ();
protected override void DoDefineContainer ()
{
DefineBaseTypes ();
-
- DoResolveTypeParameters ();
}
//
int errors = ec.Report.Errors;
type.CreateContainer ();
type.DefineContainer ();
+ type.ExpandBaseInterfaces ();
type.Define ();
if ((ec.Report.Errors - errors) == 0) {
parent.Module.AddAnonymousType (type);
//
storey.CreateContainer ();
storey.DefineContainer ();
+ storey.ExpandBaseInterfaces ();
if (Original.Explicit.HasCapturedThis && Original.ParametersBlock.TopBlock.ThisReferencesFromChildrenBlock != null) {
--- /dev/null
+class X<T1, T2, U>
+ where T1 : class, T2
+ where T2 : class
+ where U : A, T1
+{
+}
+
+class A
+{
+}
+
+class F
+{
+ public static void Main ()
+ {
+ }
+}
\ No newline at end of file
--- /dev/null
+partial class A
+{
+}
+
+partial class A
+{
+ enum E
+ {
+ None = 0,
+ All = 1
+ }
+}
+
+class X
+{
+ public static void Main ()
+ {
+ }
+}
\ No newline at end of file
</method>
</type>
</test>
+ <test name="gtest-638.cs">
+ <type name="X`3[T1,T2,U]">
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="A">
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="F">
+ <method name="Void Main()" attrs="150">
+ <size>2</size>
+ </method>
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
<test name="gtest-anontype-01.cs">
<type name="Test">
<method name="Int32 Main()" attrs="150">
</method>
</type>
</test>
+ <test name="test-partial-35.cs">
+ <type name="A">
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="X">
+ <method name="Void Main()" attrs="150">
+ <size>2</size>
+ </method>
+ <method name="Void .ctor()" attrs="6278">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
<test name="test-pattern-01.cs">
<type name="TypePattern">
<method name="Int32 Main()" attrs="150">