2004-08-02 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Tue, 3 Aug 2004 01:53:34 +0000 (01:53 -0000)
committerMartin Baulig <martin@novell.com>
Tue, 3 Aug 2004 01:53:34 +0000 (01:53 -0000)
commitcaaf2f1454070c5b794ba277c675087c6fab2fcd
treefb6ade415785e33b61279cb00e4d8ab81fa5f2d8
parenta4ff3cf73277c3b25229745ec3cb1fb2690f3607
2004-08-02  Martin Baulig  <martin@ximian.com>

* class.cs (TypeContainer.ifaces): Make this a `Type[]', not a
`TypeExpr[]' array.
(TypeContainer.GetClassBases): Return the unexpanded list of
interfaces; we expand them later.
(TypeContainer.DefineType): After creating the TypeBuilder, call
TypeManager.ExpandInterfaces() to get an expanded and resolved
list of interfaces.

* ecore.cs (TypeExpr.GetInterfaces): Removed

* generics.cs (Constraints.InterfaceConstraints): Remove.
(TypeParameter.DefineType): Call TypeManager.RegisterBuilder() to
register the interface constraints.

* typemanager.cs
(TypeManager.AddUserType): Removed the `ifaces' argument.
(TypeManager.AddTypeParameter): Likewise.
(TypeManager.AddUserInterface): Removed, was unused.
(TypeManager.RegisterBuilder): Take a `Type[]' instead of a
`TypeExpr[]' array for the interfaces.
(TypeManager.ExpandInterfaces): Call this after the TypeBuilder
has been defined, returns a list of the resolved interfaces types.
(TypeManager.GetInterfaces): Return a `Type[]', not a `TypeExpr[]'.
(TypeManager.GetExplicitInterfaces): Likewise.

svn path=/trunk/mcs/; revision=31764
mcs/gmcs/ChangeLog
mcs/gmcs/class.cs
mcs/gmcs/decl.cs
mcs/gmcs/ecore.cs
mcs/gmcs/expression.cs
mcs/gmcs/generic.cs
mcs/gmcs/pending.cs
mcs/gmcs/typemanager.cs