Bug fixes and a couple of optimizations (used a nice profiler to find
authorMiguel de Icaza <miguel@gnome.org>
Tue, 5 Mar 2002 21:28:50 +0000 (21:28 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Tue, 5 Mar 2002 21:28:50 +0000 (21:28 -0000)
commit620746bb06dcc60da8cc5e1d3604a83151faf08f
tree41313d131e856f3fc8394df2614bdfd40d64adbc
parentcbe6d62e7ec372cab2736ac7ef71b764ddd44d1f
Bug fixes and a couple of optimizations (used a nice profiler to find
a few easy to fix hot spots):

2002-03-05  Miguel de Icaza  <miguel@ximian.com>

* typemanager.cs (NoTypes): Move the definition for the empty Type
array here.

* class.cs (TypeContainer.FindMembers): Also look for methods defined by
properties.
(TypeContainer.DefineProxy): New function used to proxy to parent
implementations when implementing interfaces.
(TypeContainer.ParentImplements): used to lookup if our parent
implements a public function that is required by an interface.
(TypeContainer.VerifyPendingMethods): Hook this up.

* typemanager.cs (TypeManager, AddModule, AddAssembly): Make the
`modules' and `assemblies' arraylists into arrays.  We only grow
these are the very early start up of the program, so this improves
the speedof LookupType (nicely measured).

svn path=/trunk/mcs/; revision=2929
mcs/mcs/ChangeLog
mcs/mcs/class.cs
mcs/mcs/compiler.csproj
mcs/mcs/constant.cs
mcs/mcs/cs-tokenizer.cs
mcs/mcs/literal.cs
mcs/mcs/typemanager.cs
mcs/tests/makefile
mcs/tests/test-80.cs [new file with mode: 0755]