[Mono-list] About MCS compiler

yoros@wanadoo.es yoros@wanadoo.es
Tue, 21 Jan 2003 20:36:53 +0100


I'm trying to fix a bug in MCS related to the inheritance and the
overload of the indexers. When a class inherites a indexer and defines
another one with other type (overload) the parent indexer is lost.

I looked into MCS code and I can't understand the compiling process at
all. I saw that the method resolve is done in statement.cs using
Reflection.Emit to get the defined methods in the class and in its
parent. Now, I'm looking for the code that feeds the Emit class (where
the parent is disassembled).

In other file (decl.cs) is MemberCache. I don't know what job does this
class in the compilation process but there is AddMembers method that
gets all members of a class but forget the Indexers. Could the problem
be there?.

I don't understand why all methods but the indexers are correctly

Can anybody help me with this problem?

See you,


Pedro Martinez Juliá
\  yoros@terra.es
)|    yoros@wanadoo.es
/        http://yoros.cjb.net
Socio HispaLinux #311
Usuario Linux #275438 - http://counter.li.org
GnuPG public information:  pub  1024D/74F1D3AC
Key fingerprint = 8431 7B47 D2B4 5A46 5F8E  534F 588B E285 74F1 D3AC