manually synchronized with 56802
authorMarek Safar <marek.safar@gmail.com>
Sun, 19 Mar 2006 22:04:20 +0000 (22:04 -0000)
committerMarek Safar <marek.safar@gmail.com>
Sun, 19 Mar 2006 22:04:20 +0000 (22:04 -0000)
svn path=/trunk/mcs/; revision=58169

mcs/gmcs/class.cs
mcs/gmcs/codegen.cs
mcs/gmcs/decl.cs
mcs/gmcs/enum.cs
mcs/gmcs/parameter.cs

index 3b3432c3b3ac72a40eb48f58990156af8bf67958..5af3881bb429a2fdf7aa3b1ac719a5dfff77808c 100644 (file)
@@ -1010,8 +1010,7 @@ namespace Mono.CSharp {
                        int start = 0, i, j;
 
                        if (Kind == Kind.Class){
-                               TypeExpr name = ResolveBaseTypeExpr (
-                                       (Expression) Bases [0], false, Location);
+                               TypeExpr name = ResolveBaseTypeExpr ((Expression) Bases [0]);
 
                                if (name == null){
                                        return null;
@@ -1028,7 +1027,7 @@ namespace Mono.CSharp {
                        TypeExpr [] ifaces = new TypeExpr [count-start];
                        
                        for (i = start, j = 0; i < count; i++, j++){
-                               TypeExpr resolved = ResolveBaseTypeExpr ((Expression) Bases [i], false, Location);
+                               TypeExpr resolved = ResolveBaseTypeExpr ((Expression) Bases [i]);
                                if (resolved == null) {
                                        return null;
                                }
index 7c408c21c66db2f9a9afb29394849907ec447b6c..080cf415d6b651741ffb8611b79304ebb3020a63 100644 (file)
@@ -249,11 +249,6 @@ namespace Mono.CSharp {
                /// </summary>
                public bool IsFieldInitializer;
 
-               /// <summary>
-               ///   We are resolving a class'es base class and interfaces.
-               /// </summary>
-               public bool ResolvingTypeTree;
-
                /// <summary>
                ///   We are resolving a generic method's return type and parameters.
                /// </summary>
index 5ac27b48e56e43b878453af551e266a52f9e1667..dcd451b96f94b5aaef3ca8b55d97bafd624e29c4 100644 (file)
@@ -868,13 +868,11 @@ namespace Mono.CSharp {
                //    Resolves the expression `e' for a type, and will recursively define
                //    types.  This should only be used for resolving base types.
                // </summary>
-               protected TypeExpr ResolveBaseTypeExpr (Expression e, bool silent, Location loc)
+               protected TypeExpr ResolveBaseTypeExpr (Expression e)
                {
-                       TypeResolveEmitContext.loc = loc;
-                       TypeResolveEmitContext.ResolvingTypeTree = true;
                        if (this is GenericMethod)
                                TypeResolveEmitContext.ContainerType = Parent.TypeBuilder;
-                       return e.ResolveAsTypeTerminal (TypeResolveEmitContext, silent);
+                       return e.ResolveAsTypeTerminal (TypeResolveEmitContext, false);
                }
                
                public bool CheckAccessLevel (Type check_type) 
index e60ed5e09e71700cffa81b73e62b78257c862569..f9fa0890877d1b13a6a9a12a7e43eb724f08e2aa 100644 (file)
@@ -255,10 +255,7 @@ namespace Mono.CSharp {
                                return null;
                        }
 
-                       TypeExpr ute = ResolveBaseTypeExpr (BaseType, false, Location);
-                       if (ute == null)
-                               return null;
-
+                       TypeExpr ute = ResolveBaseTypeExpr (BaseType);
                        UnderlyingType = ute.Type;
 
                        if (UnderlyingType != TypeManager.int32_type &&
index 6570a4f4da87992c0d88548a95e3126c0a200fb9..745ca792bc4205ba877fc20531d6925e5a3a5b6f 100644 (file)
@@ -145,7 +145,7 @@ namespace Mono.CSharp {
                {
                }
 
-               public override bool Resolve (EmitContext ec)
+               public override bool Resolve (IResolveContext ec)
                {
                        if (!base.Resolve (ec))
                                return false;
@@ -175,7 +175,7 @@ namespace Mono.CSharp {
                {
                }
 
-               public override bool Resolve (EmitContext ec)
+               public override bool Resolve (IResolveContext ec)
                {
                        return true;
                }
@@ -267,7 +267,7 @@ namespace Mono.CSharp {
                // <summary>
                //   Resolve is used in method definitions
                // </summary>
-               public virtual bool Resolve (EmitContext ec)
+               public virtual bool Resolve (IResolveContext ec)
                {
                        if (parameter_type != null)
                                return true;
@@ -520,7 +520,7 @@ namespace Mono.CSharp {
                        return GetParameterByName (name, out idx);
                }
                
-               public bool Resolve (EmitContext ec)
+               public bool Resolve (IResolveContext ec)
                {
                        if (types != null)
                                return true;