Example #1
0
        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);
                    }
                }
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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;
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }