public override void Apply(IReport report, IDocument document, IContext context) { if (document.ComponentType != ComponentType.Function) { return; } var linesCount = 0; var functionText = document.Text; for (var i = 0; i < functionText.Length; i++) { if (functionText[i] == '\n') { linesCount++; } } if (linesCount > 0) { linesCount++; } if (linesCount > MaxFunctionLinesCount) { report.AddInformation(Code, string.Format(Resources.FunctionTooBig, MaxFunctionLinesCount), document, new TextPosition()); } }
public override void Apply(IReport report, IDocument document, IContext context) { var tree = document.GetSyntaxTree(); var walker = new ParseTreeWalker(); var listener = new ExceptionClassNotSpecifiedRuleListener(); walker.Walk(listener, tree); foreach (var emptyExceptionClassParam in listener.EmptyExceptionClassParams) { report.AddInformation(Code, Resources.ExceptionClassNotSpecified, document, emptyExceptionClassParam.GetTextPosition()); } }
public override void Apply(IReport report, IDocument document, IContext context) { var tree = document.GetSyntaxTree(); var walker = new ParseTreeWalker(); var listener = new SingleFormatArgumentRuleListener(); walker.Walk(listener, tree); foreach (var argument in listener.SingleArgumentEntries) { var description = Resources.SingleArgumentForFormatFunction; report.AddInformation(Code, description, document, argument.GetTextPosition()); } }