2002-09-18 Miguel de Icaza <miguel@ximian.com>
+ * ecore.cs (SimpleName.DoResolveType): During the initial type
+ resolution process, when we define types recursively, we must
+ check first for types in our current scope before we perform
+ lookups in the enclosing scopes.
+
* expression.cs (MakeByteBlob): Handle Decimal blobs.
(Invocation.VerifyArgumentsCompat): Call
Type t;
string alias_value;
+ if (ec.ResolvingTypeTree){
+ Type dt = ec.DeclSpace.FindType (Name);
+ if (dt != null)
+ return new TypeExpr (dt, loc);
+ }
+
if ((t = RootContext.LookupType (ds, Name, true, loc)) != null)
return new TypeExpr (t, loc);
+
//
// Stage 2 part b: Lookup up if we are an alias to a type
// or a namespace.
return new SimpleName (alias_value, loc);
}
- if (ec.ResolvingTypeTree){
- Type dt = ec.DeclSpace.FindType (Name);
- if (dt != null)
- return new TypeExpr (dt, loc);
- }
-
// No match, maybe our parent can compose us
// into something meaningful.
return this;