提交 bfa820e3 编写于 作者: G Gen Lu

Fix bugs in OperationWalker

- IUsingStatement.Body was not visited in VisitUsingStatement.
- IConditionalAccessExpression.ConditionalValue was visited before ConditionalInstance.
- Make VisitNoneOperation virtual
上级 871e0bec
......@@ -20,7 +20,7 @@ public virtual void DefaultVisit(IOperation operation)
// no-op
}
internal void VisitNoneOperation(IOperation operation)
internal virtual void VisitNoneOperation(IOperation operation)
{
// no-op
}
......@@ -415,7 +415,7 @@ public virtual TResult DefaultVisit(IOperation operation, TArgument argument)
return default(TResult);
}
internal TResult VisitNoneOperation(IOperation operation, TArgument argument)
internal virtual TResult VisitNoneOperation(IOperation operation, TArgument argument)
{
return default(TResult);
}
......
......@@ -165,6 +165,7 @@ public override void VisitUsingStatement(IUsingStatement operation)
{
Visit(operation.Declaration);
Visit(operation.Value);
Visit(operation.Body);
}
public override void VisitFixedStatement(IFixedStatement operation)
......@@ -257,8 +258,8 @@ public override void VisitEventAssignmentExpression(IEventAssignmentExpression o
public override void VisitConditionalAccessExpression(IConditionalAccessExpression operation)
{
Visit(operation.ConditionalValue);
Visit(operation.ConditionalInstance);
Visit(operation.ConditionalValue);
}
public override void VisitConditionalAccessInstanceExpression(IConditionalAccessInstanceExpression operation)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册