diff --git a/ICSharpCode.NRefactory.VB/Lexer/VBLexer.cs b/ICSharpCode.NRefactory.VB/Lexer/VBLexer.cs index a928942eb4..3944ba7cde 100644 --- a/ICSharpCode.NRefactory.VB/Lexer/VBLexer.cs +++ b/ICSharpCode.NRefactory.VB/Lexer/VBLexer.cs @@ -28,7 +28,7 @@ namespace ICSharpCode.NRefactory.VB.Parser public VBLexer(TextReader reader) { - reader = new LATextReader(reader); + this.reader = new LATextReader(reader); ef = new ExpressionFinder(); } diff --git a/ICSharpCode.NRefactory.VB/Parser/Parser.cs b/ICSharpCode.NRefactory.VB/Parser/Parser.cs index 860627396d..4a5f94598f 100644 --- a/ICSharpCode.NRefactory.VB/Parser/Parser.cs +++ b/ICSharpCode.NRefactory.VB/Parser/Parser.cs @@ -2964,9 +2964,7 @@ partial class VBParser List parameters = null; Expect(37); Location start = t.Location; - if (StartOf(24)) { - ArgumentList(out parameters); - } + ArgumentList(out parameters); Expect(38); pexpr = new InvocationExpression(pexpr, parameters); @@ -3356,11 +3354,15 @@ partial class VBParser arguments = new List(); Expression expr = null; - Argument(out expr); + if (StartOf(24)) { + Argument(out expr); + } while (la.kind == 22) { Get(); arguments.Add(expr ?? Expression.Null); expr = null; - Argument(out expr); + if (StartOf(24)) { + Argument(out expr); + } if (expr == null) expr = Expression.Null; } if (expr != null) arguments.Add(expr); @@ -4450,9 +4452,7 @@ partial class VBParser string name = t.val; if (la.kind == 37) { Get(); - if (StartOf(24)) { - ArgumentList(out arguments); - } + ArgumentList(out arguments); Expect(38); } statement = new RaiseEventStatement(name, arguments); diff --git a/ICSharpCode.NRefactory.VB/Parser/vb.atg b/ICSharpCode.NRefactory.VB/Parser/vb.atg index 0e4ea56d90..3df4fad5ed 100644 --- a/ICSharpCode.NRefactory.VB/Parser/vb.atg +++ b/ICSharpCode.NRefactory.VB/Parser/vb.atg @@ -1928,7 +1928,7 @@ InvocationExpression (. List parameters = null; .) = "(" (. Location start = t.Location; .) - [ ArgumentList ] + ArgumentList ")" (. pexpr = new InvocationExpression(pexpr, parameters); @@ -2620,9 +2620,9 @@ ArgumentList<.out List arguments.> arguments = new List(); Expression expr = null; .) = - Argument + [ Argument ] { "," (. arguments.Add(expr ?? Expression.Null); expr = null; .) - Argument + [ Argument ] (. if (expr == null) expr = Expression.Null; .) } (. if (expr != null) arguments.Add(expr); .) @@ -3135,7 +3135,7 @@ RaiseEventStatement (. List arguments = null; .) = "RaiseEvent" Identifier (. string name = t.val; .) - [ "(" [ ArgumentList ] ")" ] + [ "(" ArgumentList ")" ] (. statement = new RaiseEventStatement(name, arguments); .) .