public ReplaceParentArgs(ReferenceReplacer replacer, GetWriteValue getWriteValue, bool keepTrivia, string?conflictMessage)
 {
     Replacer        = replacer;
     GetWriteValue   = getWriteValue;
     KeepTrivia      = keepTrivia;
     ConflictMessage = conflictMessage;
 }
        public async Task ReplaceReferenceAsync(
            Document document,
            SyntaxEditor editor,
            SyntaxNode identifierName,
            IPropertySymbol property,
            IFieldSymbol propertyBackingField,
            string desiredGetMethodName,
            string desiredSetMethodName,
            CancellationToken cancellationToken
            )
        {
            var semanticModel = await document
                                .GetRequiredSemanticModelAsync(cancellationToken)
                                .ConfigureAwait(false);

            var semanticFacts = document.GetRequiredLanguageService <ISemanticFactsService>();
            var syntaxFacts   = document.GetRequiredLanguageService <ISyntaxFactsService>();

            var referenceReplacer = new ReferenceReplacer(
                this,
                semanticModel,
                syntaxFacts,
                semanticFacts,
                editor,
                (TIdentifierNameSyntax)identifierName,
                property,
                propertyBackingField,
                desiredGetMethodName,
                desiredSetMethodName,
                cancellationToken
                );

            referenceReplacer.Do();
        }
Example #3
0
 public MatcherBuilder(XPathQilFactory f, ReferenceReplacer refReplacer, InvokeGenerator invkGen)
 {
     _f           = f;
     _refReplacer = refReplacer;
     _invkGen     = invkGen;
 }