private static SyntaxNode?Unwrap(ISyntaxFacts syntaxFacts, SyntaxNode node) { node = syntaxFacts.WalkDownParentheses(node); if (node is TInvocationExpression invocation) { return(syntaxFacts.GetExpressionOfInvocationExpression(invocation)); } if (node is TMemberAccessExpression memberAccess) { return(syntaxFacts.GetExpressionOfMemberAccessExpression(memberAccess)); } if (node is TConditionalAccessExpression conditionalAccess) { return(syntaxFacts.GetExpressionOfConditionalAccessExpression(conditionalAccess)); } if (node is TElementAccessExpression elementAccess) { return(syntaxFacts.GetExpressionOfElementAccessExpression(elementAccess)); } return(null); }
private static TExpressionSyntax?Unwrap(ISyntaxFacts syntaxFacts, TExpressionSyntax node) { node = (TExpressionSyntax)syntaxFacts.WalkDownParentheses(node); if (node is TInvocationExpressionSyntax invocation) { return((TExpressionSyntax)syntaxFacts.GetExpressionOfInvocationExpression(invocation)); } if (syntaxFacts.IsSimpleMemberAccessExpression(node)) { return((TExpressionSyntax?)syntaxFacts.GetExpressionOfMemberAccessExpression(node)); } if (node is TConditionalAccessExpressionSyntax conditionalAccess) { return((TExpressionSyntax)syntaxFacts.GetExpressionOfConditionalAccessExpression(conditionalAccess)); } if (node is TElementAccessExpressionSyntax elementAccess) { return((TExpressionSyntax?)syntaxFacts.GetExpressionOfElementAccessExpression(elementAccess)); } return(null); }