2004-09-08 Bernie Solomon <bernard@ugsolutions.com>
authorBernie Solomon <bernard@mono-cvs.ximian.com>
Wed, 8 Sep 2004 21:13:22 +0000 (21:13 -0000)
committerBernie Solomon <bernard@mono-cvs.ximian.com>
Wed, 8 Sep 2004 21:13:22 +0000 (21:13 -0000)
* expression.cs: cope with ParamArray for no args
* mb-parser.jay: dump parsing exception with --stacktrace

svn path=/trunk/mcs/; revision=33595

mcs/mbas/ChangeLog
mcs/mbas/expression.cs
mcs/mbas/mb-parser.jay

index 18176d16670a3b063ba577c5940fc5a0a6606fcd..1e6d51d700f3b961efc214f5854d145a50faeff0 100644 (file)
@@ -1,3 +1,7 @@
+2004-09-08 Bernie Solomon <bernard@ugsolutions.com>
+       * expression.cs: cope with ParamArray for no args
+       * mb-parser.jay: dump parsing exception with --stacktrace
+
 2004/08/19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>\r
        * mb-parser.jay : some changes just not to stumble in global attributes definitions in multiple-lines 
                like we have in VS.NET generated AssemblyInfo.vb files. still need to really process that definitions like mcs does
index 0f6369aa1ddd3e310b3ec795d5059daccefb0b1e..d022329f427312a9337e2143e64c4ea8ea2989f6 100644 (file)
@@ -3849,6 +3849,9 @@ namespace Mono.MonoBASIC {
                                newarglist.Add (a);
                        }
 
+                       if (HasArrayParameter (pd) && arg_count == pd.Count - 1)
+                               return newarglist;
+
                        for (int i = arg_count; i < pd.Count; i++) {
                                Expression e = pd.DefaultValue (i);
                                Argument a = new Argument (e, Argument.AType.Expression);
index 7f245ab1662662eca6c8ad449b651e3e695fa683..724930327bbaf768c76286187de529ca7eadfd91 100644 (file)
@@ -4887,6 +4887,8 @@ protected override int parse ()
                Report.Error(e.code, e.loc, e.Message);
        }
        catch (Exception e) {
+               if (Report.Stacktrace)
+                       Console.WriteLine(e);
                Report.Error (29999, lexer.Location, "Parsing error");
        }