Пример #1
0
 public override SyntaxList <StatementSyntax> VisitRaiseEventStatement(VBSyntax.RaiseEventStatementSyntax node)
 {
     return(SingleStatement(
                SyntaxFactory.ConditionalAccessExpression(
                    (ExpressionSyntax)node.Name.Accept(_nodesVisitor),
                    SyntaxFactory.InvocationExpression(
                        SyntaxFactory.MemberBindingExpression(SyntaxFactory.IdentifierName("Invoke")),
                        (ArgumentListSyntax)node.ArgumentList.Accept(_nodesVisitor)
                        )
                    )
                ));
 }
            public override SyntaxList <StatementSyntax> VisitRaiseEventStatement(VBSyntax.RaiseEventStatementSyntax node)
            {
                var argumentListSyntax = (ArgumentListSyntax)node.ArgumentList.Accept(_nodesVisitor);

                var symbolInfo = _semanticModel.GetSymbolInfo(node.Name).ExtractBestMatch() as IEventSymbol;

                if (symbolInfo?.RaiseMethod != null)
                {
                    return(SingleStatement(SyntaxFactory.InvocationExpression(
                                               SyntaxFactory.IdentifierName($"On{symbolInfo.Name}"),
                                               argumentListSyntax)));
                }

                var memberBindingExpressionSyntax     = SyntaxFactory.MemberBindingExpression(SyntaxFactory.IdentifierName("Invoke"));
                var conditionalAccessExpressionSyntax = SyntaxFactory.ConditionalAccessExpression(
                    (NameSyntax)node.Name.Accept(_nodesVisitor),
                    SyntaxFactory.InvocationExpression(memberBindingExpressionSyntax, argumentListSyntax)
                    );

                return(SingleStatement(
                           conditionalAccessExpressionSyntax
                           ));
            }
Пример #3
0
 public override SyntaxList <StatementSyntax> VisitRaiseEventStatement(VBSyntax.RaiseEventStatementSyntax node) => AddLocalVariables(node);
Пример #4
0
 public override Task <SyntaxList <StatementSyntax> > VisitRaiseEventStatement(VBSyntax.RaiseEventStatementSyntax node) => AddLocalVariablesAsync(node);