コード例 #1
0
        private bool NodeMatchesExpression(
            SemanticModel originalSemanticModel,
            SemanticModel currentSemanticModel,
            ISyntaxFactsService syntaxFacts,
            TExpressionSyntax expressionInOriginal,
            TExpressionSyntax nodeInCurrent,
            bool allOccurrences,
            CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();
            if (nodeInCurrent == expressionInOriginal)
            {
                return(true);
            }
            else
            {
                if (allOccurrences &&
                    this.CanReplace(nodeInCurrent))
                {
                    return(SemanticEquivalence.AreSemanticallyEquivalent(
                               originalSemanticModel, currentSemanticModel, expressionInOriginal, nodeInCurrent));
                }
            }

            return(false);
        }