From c751e147aa2341d70411d23f9c59ccb4bbc59da0 Mon Sep 17 00:00:00 2001 From: kylinye Date: Wed, 2 Dec 2020 10:27:23 +0800 Subject: [PATCH] add line_to_ccn={line:ccn} --- lizard.py | 5 +++++ lizard_ext/csvoutput.py | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lizard.py b/lizard.py index a9fb9215..3badcc82 100755 --- a/lizard.py +++ b/lizard.py @@ -285,6 +285,7 @@ def __init__(self, name, filename, start_line=0, ccn=1): self.fan_in = 0 self.fan_out = 0 self.general_fan_out = 0 + self.line_to_ccn = {} @property def name_in_space(self): @@ -463,6 +464,10 @@ def push_new_function(self, name): def add_condition(self, inc=1): self.current_function.cyclomatic_complexity += inc + if self.current_function.line_to_ccn.__contains__(self.current_line): + self.current_function.line_to_ccn[self.current_line] += inc + else: + self.current_function.line_to_ccn[self.current_line] = 1 def add_to_long_function_name(self, app): self.current_function.add_to_long_name(app) diff --git a/lizard_ext/csvoutput.py b/lizard_ext/csvoutput.py index 5fe7ce1f..c5805604 100644 --- a/lizard_ext/csvoutput.py +++ b/lizard_ext/csvoutput.py @@ -38,7 +38,7 @@ def csv_output(result, options): for caption in extension_captions: extension_caption = "{},{}".format(extension_caption, caption) print("NLOC,CCN,token,PARAM,length,location,file,function," + - "long_name,start,end{}".format(extension_caption)) + "long_name,start,end{},{{line:ccn}}".format(extension_caption)) for source_file in result: if source_file: @@ -49,7 +49,7 @@ def csv_output(result, options): extension_string = '{},{}'.\ format(extension_string, source_function.__getattribute__(variable)) - print('{},{},{},{},{},"{}","{}","{}","{}",{},{}{}'.format( + print('{},{},{},{},{},"{}","{}","{}","{}",{},{}{},"{}"'.format( source_function.nloc, source_function.cyclomatic_complexity, source_function.token_count, @@ -66,5 +66,6 @@ def csv_output(result, options): source_function.long_name.replace("\"", "'"), source_function.start_line, source_function.end_line, - extension_string + extension_string, + str(source_function.line_to_ccn) ))