public void OnMetric(ccMetric metric, object context) { lock (this.synchLock) { if (!ShouldFilter(metric.Unit)) { bool inserted = false; for (int i = 0; i < this.metrics.Count; ++i) { if (metric.CCM > this.metrics[i].CCM) { this.metrics.Insert(i, metric); inserted = true; break; } } if (!inserted) { this.metrics.Add(metric); } if (this.metrics.Count > this.numMetrics) { this.metrics.RemoveAt(this.numMetrics); } } } }
public void OnMetric(ccMetric metric, object context) { lock (this.synchLock) { if (!ShouldFilter(metric)) { bool inserted = false; for (int i = 0; i < this.metrics.Count; ++i) { if (metric.CCM > this.metrics[i].CCM) { this.metrics.Insert(i, metric); inserted = true; break; } } if (!inserted) this.metrics.Add(metric); if (this.metrics.Count > this.numMetrics) this.metrics.RemoveAt(this.numMetrics); } } }
public void OnMetric(ccMetric metric, object context) { if (!this.ccms.ContainsKey(metric.Unit)) this.ccms.Add(metric.Unit, metric.CCM); this.metrics.Add(metric.Unit, metric); }
private void OnFunction(string unit, int streamOffset, IFunctionStream funcStream) { BlockAnalyzer analyzer = new BlockAnalyzer(this.parser, funcStream, this.OnLocalFunction, this.switchBehavior); int ccm = 1 + analyzer.ConsumeBlockCalculateAdditionalComplexity(); var metric = new ccMetric(this.filename, unit, ccm); metric.StartLineNumber = GetLineNumber(streamOffset); metric.EndLineNumber = GetLineNumber(this.parser.StreamOffset); this.callback.OnMetric(metric, this.context); }
private bool ShouldFilter(ccMetric metric) { string lowerUnit = metric.Unit.ToLower(); foreach (string s in this.ignoreUnits) { if (lowerUnit.Contains(s.ToLower())) return true; } if (metric.CCM < this.threshold) return true; return false; }
private bool ShouldFilter(ccMetric metric) { string lowerUnit = metric.Unit.ToLower(); foreach (string s in this.ignoreUnits) { if (lowerUnit.Contains(s.ToLower())) { return(true); } } if (metric.CCM < this.threshold) { return(true); } return(false); }