2004-04-07 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Wed, 7 Apr 2004 08:15:17 +0000 (08:15 -0000)
committerMartin Baulig <martin@novell.com>
Wed, 7 Apr 2004 08:15:17 +0000 (08:15 -0000)
commitd2bf56daae300488f2c9cbdcedc77f75900234a0
treeb2c39331fa37f9359f01e8135ae7860c0c9b0e94
parent2458c9140f0bf79d5fced37f274b0ce07673ac06
2004-04-07  Martin Baulig  <martin@ximian.com>

* generic.cs
(Constraints.InterfaceConstraints): New public property.
(Constraints.Types): Make this property public
(TypeParameter): Implement IMemberContainer.
(TypeParameter.Define): Take a `GenericTypeParameterBuilder'
instead of a TypeBuilder/MethodBuilder; pass the interface
constraints to TypeManager.AddTypeParameter().
(TypeParameter.DefineType): Just take an EmitContext and no
TypeBuilder/MethodBuilder.  Use the new public API.

* typemanager.cs (TypeManager.AddTypeParameter): Added
`TypeExpr[]' argument; add the interfaces to the
`builder_to_ifaces' hash.
(TypeManager.LookupMemberContainer): For
GenericTypeParameterBuilders, get the TypeParameter from the
`builder_to_type_param'.

svn path=/trunk/mcs/; revision=25144
mcs/gmcs/ChangeLog
mcs/gmcs/class.cs
mcs/gmcs/delegate.cs
mcs/gmcs/ecore.cs
mcs/gmcs/expression.cs
mcs/gmcs/flowanalysis.cs
mcs/gmcs/generic.cs
mcs/gmcs/typemanager.cs