--- /opt/cvs/dotgnu/pnet/cscc/csharp/cs_lookup.c Thu Feb 27 19:54:07 2003 +++ cscc/csharp/cs_lookup.c Fri May 2 06:02:20 2003 @@ -712,20 +712,24 @@ /* This is a virtual override, so skip it */ continue; } + if(ILOverrideFromMethod(method)!=0) + { + /* override using the `.override X::Y` form + * like overriding interfaces with IFace.this[] */ + continue; + } AddMember(results, (ILProgramItem *)member, info, IL_META_MEMBERKIND_PROPERTY); } } - /* If this is an interface, then scan its base interfaces */ - if(ILClass_IsInterface(info)) + /* scan its base interfaces . Duplicate entries will be cleaned + * up during TrimMemberList */ + impl = 0; + while((impl = ILClassNextImplements(info, impl)) != 0) { - impl = 0; - while((impl = ILClassNextImplements(info, impl)) != 0) - { - FindIndexers(ILImplementsGetInterface(impl), - accessedFrom, results); - } + FindIndexers(ILImplementsGetInterface(impl), + accessedFrom, results); } /* Move up to the parent */