提交 60b8b88a 编写于 作者: G Gen Lu

Make `Accept` methods of IOperations do nothing instead of throw exception.

上级 b9ddf22d
......@@ -691,12 +691,12 @@ partial class BoundSwitchSection
public override void Accept(OperationVisitor visitor)
{
throw ExceptionUtilities.Unreachable;
visitor.VisitNoneOperation(this);
}
public override TResult Accept<TArgument, TResult>(OperationVisitor<TArgument, TResult> visitor, TArgument argument)
{
throw ExceptionUtilities.Unreachable;
return visitor.VisitNoneOperation(this, argument);
}
}
......@@ -706,12 +706,12 @@ partial class BoundStatementList
public override void Accept(OperationVisitor visitor)
{
throw ExceptionUtilities.Unreachable;
visitor.VisitNoneOperation(this);
}
public override TResult Accept<TArgument, TResult>(OperationVisitor<TArgument, TResult> visitor, TArgument argument)
{
throw ExceptionUtilities.Unreachable;
return visitor.VisitNoneOperation(this, argument);
}
}
......@@ -721,12 +721,12 @@ partial class BoundConditionalGoto
public override void Accept(OperationVisitor visitor)
{
throw ExceptionUtilities.Unreachable;
visitor.VisitNoneOperation(this);
}
public override TResult Accept<TArgument, TResult>(OperationVisitor<TArgument, TResult> visitor, TArgument argument)
{
throw ExceptionUtilities.Unreachable;
return visitor.VisitNoneOperation(this, argument);
}
}
......@@ -736,12 +736,12 @@ partial class BoundSequencePoint
public override void Accept(OperationVisitor visitor)
{
throw ExceptionUtilities.Unreachable;
visitor.VisitNoneOperation(this);
}
public override TResult Accept<TArgument, TResult>(OperationVisitor<TArgument, TResult> visitor, TArgument argument)
{
throw ExceptionUtilities.Unreachable;
return visitor.VisitNoneOperation(this, argument);
}
}
......@@ -751,12 +751,12 @@ partial class BoundSequencePointWithSpan
public override void Accept(OperationVisitor visitor)
{
throw ExceptionUtilities.Unreachable;
visitor.VisitNoneOperation(this);
}
public override TResult Accept<TArgument, TResult>(OperationVisitor<TArgument, TResult> visitor, TArgument argument)
{
throw ExceptionUtilities.Unreachable;
return visitor.VisitNoneOperation(this, argument);
}
}
......@@ -766,12 +766,12 @@ partial class BoundStateMachineScope
public override void Accept(OperationVisitor visitor)
{
throw ExceptionUtilities.Unreachable;
visitor.VisitNoneOperation(this);
}
public override TResult Accept<TArgument, TResult>(OperationVisitor<TArgument, TResult> visitor, TArgument argument)
{
throw ExceptionUtilities.Unreachable;
return visitor.VisitNoneOperation(this, argument);
}
}
}
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Diagnostics;
namespace Microsoft.CodeAnalysis.Semantics
{
/// <summary>
......@@ -17,6 +19,11 @@ public virtual void DefaultVisit(IOperation operation)
{
// no-op
}
internal void VisitNoneOperation(IOperation operation)
{
// no-op
}
public virtual void VisitBlockStatement(IBlockStatement operation)
{
......@@ -398,6 +405,11 @@ public virtual TResult DefaultVisit(IOperation operation, TArgument argument)
return default(TResult);
}
internal TResult VisitNoneOperation(IOperation operation, TArgument argument)
{
return default(TResult);
}
public virtual TResult VisitBlockStatement(IBlockStatement operation, TArgument argument)
{
return DefaultVisit(operation, argument);
......
......@@ -1511,11 +1511,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1525,11 +1525,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1539,11 +1539,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1553,11 +1553,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1567,11 +1567,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1581,11 +1581,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1595,11 +1595,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1609,11 +1609,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1645,11 +1645,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1659,11 +1659,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1673,11 +1673,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1687,11 +1687,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
......@@ -1701,11 +1701,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
Public Overrides Sub Accept(visitor As OperationVisitor)
Throw ExceptionUtilities.Unreachable
visitor.VisitNoneOperation(Me)
End Sub
Public Overrides Function Accept(Of TArgument, TResult)(visitor As OperationVisitor(Of TArgument, TResult), argument As TArgument) As TResult
Throw ExceptionUtilities.Unreachable
Return visitor.VisitNoneOperation(Me, argument)
End Function
End Class
End Namespace
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册