public IEnumerable <CodeFix> GetFixes(SemanticModel semanticModel, IReadOnlyList <SyntaxBase> matchingNodes) { if (matchingNodes.OfType <ParameterDeclarationSyntax>().FirstOrDefault() is not { } parameterSyntax || semanticModel.GetSymbolInfo(parameterSyntax) is not ParameterSymbol parameterSymbol || parameterSymbol.HasDecorator(decoratorName)) { yield break; } if (!supportedTypes.Any(t => parameterSyntax.ParameterType?.TypeName == t)) { yield break; } var decorator = SyntaxFactory.CreateDecorator(decoratorName, decoratorParams); var decoratorText = $"{decorator.ToText()}{Environment.NewLine}"; var newSpan = new TextSpan(parameterSyntax.Span.Position, 0); var codeReplacement = new CodeReplacement(newSpan, decoratorText); yield return(new CodeFix( $"Add @{decoratorName}", false, CodeFixKind.Refactor, codeReplacement)); }
private void AddCodeFix(TextSpan span, string name) { var codeReplacement = new CodeReplacement(span, name); var fix = new CodeFix($"Remove unnecessary string interpolation", true, codeReplacement); // TODO: localize spanFixes[span] = fix; }
private void AddCodeFix(TextSpan span, string name) { var codeReplacement = new CodeReplacement(span, name); var fix = new CodeFix(CoreResources.SimplifyInterpolationFixTitle, true, CodeFixKind.QuickFix, codeReplacement); spanFixes[span] = fix; }
private async Task <IHttpActionResult> Save(CodeReplacementDTO codeReplacementDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var isNew = codeReplacementDTO.CodeReplacementId == Guid.Empty; CodeReplacement codeReplacement; if (isNew) { codeReplacement = new CodeReplacement(); DbContext.Entry(codeReplacement).State = EntityState.Added; codeReplacementDTO.SortOrder = (await DbContext.CodeReplacements.Where(o => o.EntityId == codeReplacementDTO.EntityId).MaxAsync(o => (int?)o.SortOrder) ?? 0) + 1; } else { codeReplacement = await DbContext.CodeReplacements.SingleOrDefaultAsync(o => o.CodeReplacementId == codeReplacementDTO.CodeReplacementId); if (codeReplacement == null) { return(NotFound()); } DbContext.Entry(codeReplacement).State = EntityState.Modified; } ModelFactory.Hydrate(codeReplacement, codeReplacementDTO); await DbContext.SaveChangesAsync(); return(await Get(codeReplacement.CodeReplacementId)); }
private CodeReplacement?GetCodeReplacement(FunctionCallSyntax functionCallSyntax) { if (RewriteConcatToInterpolate(functionCallSyntax) is StringSyntax newSyntax) { return(CodeReplacement.FromSyntax(functionCallSyntax.Span, newSyntax)); } return(null); }
public static void NoSunDecrease(PvZProcess process) { CodeReplacement cr = new CodeReplacement(0x41BA76, 6); cr.Activate(); }