Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by [EMAIL PROTECTED]

http://bugzilla.ximian.com/show_bug.cgi?id=77963

--- shadow/77963        2006-09-01 20:20:18.000000000 -0400
+++ shadow/77963.tmp.1578       2006-09-01 23:20:35.000000000 -0400
@@ -134,6 +134,26 @@
 Fails again with:
 
 c.cs(12,27): error CS0426: The nested type `Baz' does not exist in the
 type `Bar<Q>'
 Compilation failed: 1 error(s), 0 warnings
 
+
+------- Additional Comments From [EMAIL PROTECTED]  2006-09-01 23:20 -------
+I think I have found where is the problem. We are resolving
+Foo<Bar<Q>.Baz> in the context of Bar`1[Q] instead of just Bar`1.
+
+If I understand it right, TypeExpression denotes Bar`1, while
+ConstructedType denotes Bar`1[Q]. The code was not passing TypeBuilder
+to the MemberLookup and then to the MemberLookup_FindMembers, thus
+weren't able to find Baz there.
+
+This is first time I were looking at the gmcs source. I do not know
+the terminology, etc., but I think that ResolveAsTypeTerminal was
+supposed to get the TypeExpression from the ConstructedType, which is
+called at ResolveNamespaceOrType. Thus I overloaded
+ResolveAsTypeTerminal in ConstructedType.
+
+Please see the attached patch. I am not sure if I am right, it may be
+horribly wrong :). I have tested it and it appears to work and produce
+correct code.
+
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to