diff --git a/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs b/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs index d9274ecee8..3e8e0c42f5 100644 --- a/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs +++ b/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs @@ -1180,6 +1180,11 @@ namespace ICSharpCode.NRefactory.CSharp return result; } + public override object Visit (Mono.CSharp.EmptyExpression emptyExpression) + { + return new ICSharpCode.NRefactory.CSharp.EmptyExpression (Convert (emptyExpression.Location)); + } + public override object Visit (EmptyExpressionStatement emptyExpressionStatement) { return new EmptyExpression (Convert (emptyExpressionStatement.Location)); diff --git a/ICSharpCode.NRefactory/CSharp/Parser/mcs/expression.cs b/ICSharpCode.NRefactory/CSharp/Parser/mcs/expression.cs index 3349a7c000..24e1c343f9 100644 --- a/ICSharpCode.NRefactory/CSharp/Parser/mcs/expression.cs +++ b/ICSharpCode.NRefactory/CSharp/Parser/mcs/expression.cs @@ -8803,7 +8803,7 @@ namespace Mono.CSharp /// This is also now used as a placeholder where a no-action expression /// is needed (the `New' class). /// - class EmptyExpression : Expression + public class EmptyExpression : Expression { sealed class OutAccessExpression : EmptyExpression { @@ -8855,6 +8855,11 @@ namespace Mono.CSharp public override void EmitSideEffect (EmitContext ec) { } + + public override object Accept (StructuralVisitor visitor) + { + return visitor.Visit (this); + } } // diff --git a/ICSharpCode.NRefactory/CSharp/Parser/mcs/visit.cs b/ICSharpCode.NRefactory/CSharp/Parser/mcs/visit.cs index 0ac678300c..44c3a41f71 100644 --- a/ICSharpCode.NRefactory/CSharp/Parser/mcs/visit.cs +++ b/ICSharpCode.NRefactory/CSharp/Parser/mcs/visit.cs @@ -178,6 +178,11 @@ namespace Mono.CSharp { return null; } + + public virtual object Visit (EmptyExpression emptyExpression) + { + return null; + } public virtual object Visit (If ifStatement) {