private static SyntaxKind ConvertAddRemoveHandlerToCSharpSyntaxKind(VBSyntax.AddRemoveHandlerStatementSyntax node) { switch (node.Kind()) { case VBasic.SyntaxKind.AddHandlerStatement: return(SyntaxKind.AddAssignmentExpression); case VBasic.SyntaxKind.RemoveHandlerStatement: return(SyntaxKind.SubtractAssignmentExpression); default: throw new NotImplementedException(node.Kind() + " not implemented!"); } }
public override SyntaxList <StatementSyntax> VisitAddRemoveHandlerStatement(VBSyntax.AddRemoveHandlerStatementSyntax node) { var syntaxKind = node.Kind() == VBasic.SyntaxKind.AddHandlerStatement ? SyntaxKind.AddAssignmentExpression : SyntaxKind.SubtractAssignmentExpression; return(SingleStatement(SyntaxFactory.AssignmentExpression(syntaxKind, (ExpressionSyntax)node.EventExpression.Accept(nodesVisitor), (ExpressionSyntax)node.DelegateExpression.Accept(nodesVisitor)))); }