public override void VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration) { base.VisitConstructorDeclaration(constructorDeclaration); if (constructorDeclaration.Initializer.ConstructorInitializerType != ConstructorInitializerType.Base) { return; } if (constructorDeclaration.Initializer.IsNull) { return; } if (constructorDeclaration.Initializer.Arguments.Count != 0) { return; } AddIssue(constructorDeclaration.Initializer.StartLocation, constructorDeclaration.Initializer.EndLocation, ctx.TranslateString("Redundant base constructor call"), ctx.TranslateString("Remove redundant 'base()'"), script => { var clone = (ConstructorDeclaration)constructorDeclaration.Clone(); script.Replace(clone.ColonToken, CSharpTokenNode.Null.Clone()); script.Replace(constructorDeclaration.Initializer, ConstructorInitializer.Null.Clone()); }); }
private static string GetPrettyCtorName(ConstructorDeclaration ctor) { var copy = ctor.Clone(); var blocks = copy.Children.OfType <BlockStatement>().ToList(); foreach (var block in blocks) { block.Remove(); } return(copy.ToString().Replace(Environment.NewLine, "")); }