2008-10-14 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / mcs / namespace.cs
index a882cf144f1aabc55c931d9c9497751622dd3086..b18731ea7e2163e203c6fbd8df3f42cb949e8f6b 100644 (file)
@@ -692,12 +692,14 @@ namespace Mono.CSharp {
 
                        public override FullNamedExpression Resolve (IResolveContext rc)
                        {
-                               if (resolved != null)
+                               if (resolved != null || value == null)
                                        return (FullNamedExpression)resolved;
 
                                resolved = value.GetTypeExpression ().ResolveAsTypeStep (rc, false);
-                               if (resolved == null)
+                               if (resolved == null) {
+                                       value = null;
                                        return null;
+                               }
 
                                // FIXME: This is quite wrong, the accessibility is not global
                                if (resolved.Type != null) {
@@ -1123,7 +1125,7 @@ namespace Mono.CSharp {
                                        if (using_clauses != null) {
                                                using_list = new string [using_clauses.Count];
                                                for (int i = 0; i < using_clauses.Count; i++)
-                                                       using_list [i] = ((UsingEntry) using_clauses [i]).MemberName.GetTypeName ();
+                                                       using_list [i] = ((UsingEntry) using_clauses [i]).MemberName.GetName ();
                                        }
 
                                        symfile_id = SymbolWriter.DefineNamespace (ns.Name, file.CompileUnitEntry, using_list, parent_id);