X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2Fstatement.cs;h=7d70945eca849c1b7146c0755aaf7a127d440dbb;hb=f4fbe0af7c4cf73498d6be931f0ab179a03579c4;hp=20b1271d35661357931d230b2bce460ddfbf8530;hpb=1b11561bb9ccebd709bb594f0412bf5a292a0577;p=mono.git diff --git a/mcs/mcs/statement.cs b/mcs/mcs/statement.cs index 20b1271d356..7d70945eca8 100644 --- a/mcs/mcs/statement.cs +++ b/mcs/mcs/statement.cs @@ -1670,7 +1670,7 @@ namespace Mono.CSharp { /// tc: is our typecontainer (to resolve type references) /// ig: is the code generator: /// - public void ResolveMeta (ToplevelBlock toplevel, EmitContext ec, InternalParameters ip) + public void ResolveMeta (ToplevelBlock toplevel, EmitContext ec, Parameters ip) { bool old_unsafe = ec.InUnsafe; @@ -1903,6 +1903,9 @@ namespace Mono.CSharp { // Warn if we detect unreachable code. // if (unreachable) { + if (s is EmptyStatement) + continue; + if (s is Block) ((Block) s).unreachable = true; @@ -2204,7 +2207,7 @@ namespace Mono.CSharp { Parameters pars = t.Parameters; par = pars.GetParameterByName (name, out idx); if (par != null) - return new ParameterReference (pars, this, idx, name, loc); + return new ParameterReference (par, this, idx, loc); } return null; } @@ -2266,7 +2269,7 @@ namespace Mono.CSharp { return this_variable == null || this_variable.IsThisAssigned (ec, loc); } - public bool ResolveMeta (EmitContext ec, InternalParameters ip) + public bool ResolveMeta (EmitContext ec, Parameters ip) { int errors = Report.Errors; @@ -3943,7 +3946,7 @@ namespace Mono.CSharp { MethodInfo mi = null; foreach (MethodInfo mk in ((MethodGroupExpr) ml).Methods) { - if (TypeManager.GetArgumentTypes (mk).Length == 0) { + if (TypeManager.GetParameterData (mk).Count == 0) { mi = mk; break; } @@ -4013,7 +4016,7 @@ namespace Mono.CSharp { MethodInfo mi = null; foreach (MethodInfo mk in ((MethodGroupExpr) ml).Methods) { - if (TypeManager.GetArgumentTypes (mk).Length == 0) { + if (TypeManager.GetParameterData (mk).Count == 0) { mi = mk; break; } @@ -4424,10 +4427,8 @@ namespace Mono.CSharp { foreach (MemberInfo m in move_next_list){ MethodInfo mi = (MethodInfo) m; - Type [] args; - args = TypeManager.GetArgumentTypes (mi); - if ((args != null) && (args.Length == 0) && + if ((TypeManager.GetParameterData (mi).Count == 0) && TypeManager.TypeToCoreType (mi.ReturnType) == TypeManager.bool_type) { move_next = mi; return true; @@ -4468,10 +4469,8 @@ namespace Mono.CSharp { foreach (MemberInfo m in dispose_list){ MethodInfo mi = (MethodInfo) m; - Type [] args; - args = TypeManager.GetArgumentTypes (mi); - if (args != null && args.Length == 0){ + if (TypeManager.GetParameterData (mi).Count == 0){ if (mi.ReturnType == TypeManager.void_type) return mi; } @@ -4499,8 +4498,7 @@ namespace Mono.CSharp { return false; foreach (MethodBase mb in mg.Methods) { - Type [] args = TypeManager.GetArgumentTypes (mb); - if (args != null && args.Length != 0) + if (TypeManager.GetParameterData (mb).Count != 0) continue; // Check whether GetEnumerator is public