lizard 1.17.23__py2.py3-none-any.whl → 1.17.25__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lizard-1.17.23.dist-info → lizard-1.17.25.dist-info}/METADATA +19 -4
- {lizard-1.17.23.dist-info → lizard-1.17.25.dist-info}/RECORD +9 -9
- lizard.py +6 -2
- lizard_ext/version.py +1 -1
- lizard_languages/script_language.py +11 -1
- {lizard-1.17.23.dist-info → lizard-1.17.25.dist-info}/LICENSE.txt +0 -0
- {lizard-1.17.23.dist-info → lizard-1.17.25.dist-info}/WHEEL +0 -0
- {lizard-1.17.23.dist-info → lizard-1.17.25.dist-info}/entry_points.txt +0 -0
- {lizard-1.17.23.dist-info → lizard-1.17.25.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lizard
|
|
3
|
-
Version: 1.17.
|
|
3
|
+
Version: 1.17.25
|
|
4
4
|
Summary: A code analyzer without caring the C/C++ header files. It works with Java, C/C++, JavaScript, Python, Ruby, Swift, Objective C. Metrics includes cyclomatic complexity number etc.
|
|
5
5
|
Home-page: http://www.lizard.ws
|
|
6
6
|
Download-URL: https://pypi.python.org/lizard/
|
|
@@ -336,13 +336,28 @@ Options in Comments
|
|
|
336
336
|
-------------------
|
|
337
337
|
|
|
338
338
|
You can use options in the comments of the source code to change the
|
|
339
|
-
behavior of lizard.
|
|
340
|
-
|
|
339
|
+
behavior of lizard. There are two types of forgiveness comments:
|
|
340
|
+
|
|
341
|
+
1. Function forgiveness: Put "#lizard forgives" inside a function or before a function to suppress warnings for that function.
|
|
341
342
|
|
|
342
343
|
::
|
|
343
344
|
|
|
344
345
|
int foo() {
|
|
345
|
-
// #lizard forgives
|
|
346
|
+
// #lizard forgives
|
|
347
|
+
...
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
2. Global code forgiveness: Put "#lizard forgive global" before global code to suppress warnings for all code outside of functions.
|
|
351
|
+
|
|
352
|
+
::
|
|
353
|
+
|
|
354
|
+
// #lizard forgive global
|
|
355
|
+
int global_var = 0;
|
|
356
|
+
if (condition) { // This complexity won't be counted
|
|
357
|
+
...
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
int foo() { // Functions are still counted normally
|
|
346
361
|
...
|
|
347
362
|
}
|
|
348
363
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
lizard.py,sha256=
|
|
1
|
+
lizard.py,sha256=8Um-Twbq0JgVn3V_YQNl5iyNH9-Xno8U-zD_Jb5F22g,40247
|
|
2
2
|
lizard_ext/__init__.py,sha256=Cz0pvH6QHyadK-rAeeEhQVsm0hW5M-fBQgV4FBaX9zk,500
|
|
3
3
|
lizard_ext/auto_open.py,sha256=byD_RbeVhvSUhR2bJMRitvA3zcKEapFwv0-XaDJ6GFo,1096
|
|
4
4
|
lizard_ext/csvoutput.py,sha256=43fhmo8kB85qcdujCwySGNuTC4FkKUPLqIApPeljPnA,2663
|
|
@@ -25,7 +25,7 @@ lizard_ext/lizardns.py,sha256=8pztUoRS_UWN24MawwxeHEJgYh49id5PWODUBb6O72U,4184
|
|
|
25
25
|
lizard_ext/lizardoutside.py,sha256=FGm2tbBZ17-2OCgmQlD-vobUCfQKb0FAygf86eM3xuM,336
|
|
26
26
|
lizard_ext/lizardstatementcount.py,sha256=xYk6ixSIItSE1BWQXzrWmduFgGhA3VR817SNKLffyVQ,1182
|
|
27
27
|
lizard_ext/lizardwordcount.py,sha256=2QYXD7-AtkkgAbi9VSidunMbSsGQ7MKYb6IT-bS-cok,7575
|
|
28
|
-
lizard_ext/version.py,sha256=
|
|
28
|
+
lizard_ext/version.py,sha256=XxH--yu2EtLSIxXWu_HgIxlAtiXXyyGvng-vDBTX7TI,182
|
|
29
29
|
lizard_ext/xmloutput.py,sha256=-cbh0he4O_X-wX56gkv9AnSPNN0qvR7FACqlBeezUS4,5609
|
|
30
30
|
lizard_languages/__init__.py,sha256=ArNmUrVSU6HFxhDka1-vWMZpVIM39P-gqv6BoOLNMV8,1522
|
|
31
31
|
lizard_languages/clike.py,sha256=INd5tkvwEVZm7dx2yHG2OIFHZn7JzQGmnT9WQNFZ2XU,11110
|
|
@@ -51,7 +51,7 @@ lizard_languages/ruby.py,sha256=HL1ZckeuUUJU3QSVAOPsG_Zsl0C6X2PX5_VaWqclzkM,2277
|
|
|
51
51
|
lizard_languages/rubylike.py,sha256=dAGZ2wqW8nqaESMU8HkeR9gwQ-q9fmZqE6AANvVZD1Q,3426
|
|
52
52
|
lizard_languages/rust.py,sha256=DG2RkR9JWwcD6gIw-BPzg-Yo_lxQtSvfgHioFWIQm9o,610
|
|
53
53
|
lizard_languages/scala.py,sha256=6Jr_TG945VYqB3o5weD7jN7S4beHt4aVj3r-fmKeMAM,1316
|
|
54
|
-
lizard_languages/script_language.py,sha256=
|
|
54
|
+
lizard_languages/script_language.py,sha256=sDw-ssikPaouKjeKwdyGoAyv6F8650lh2e1X_FP8TN0,1200
|
|
55
55
|
lizard_languages/solidity.py,sha256=Z0GD7U5bI5eUikdy7m_iKWeFD5yXRYq4r3zycscOhJQ,553
|
|
56
56
|
lizard_languages/swift.py,sha256=p8S2OAkQOx9YQ02yhoVXFkr7pMqUH1Nb3RVXPHRU_9M,2450
|
|
57
57
|
lizard_languages/tnsdl.py,sha256=pGcalA_lHY362v2wwPS86seYBOOBBjvmU6vd4Yy3A9g,2803
|
|
@@ -60,9 +60,9 @@ lizard_languages/ttcn.py,sha256=ygjw_raBmPF-4mgoM8m6CAdyEMpTI-n1kZJK1RL4Vxo,2131
|
|
|
60
60
|
lizard_languages/typescript.py,sha256=P_rphg5AXJAk9QetmvVKc2911ilPmiRa0Qa5fHWleJg,3829
|
|
61
61
|
lizard_languages/vue.py,sha256=KXUBUo2R1zNF8Pffrz_KsQEN44m5XFRMoGXylxKUeT0,1038
|
|
62
62
|
lizard_languages/zig.py,sha256=NX1iyBstBuJFeAGBOAIaRfrmeBREne2HX6Pt4fXZZTQ,586
|
|
63
|
-
lizard-1.17.
|
|
64
|
-
lizard-1.17.
|
|
65
|
-
lizard-1.17.
|
|
66
|
-
lizard-1.17.
|
|
67
|
-
lizard-1.17.
|
|
68
|
-
lizard-1.17.
|
|
63
|
+
lizard-1.17.25.dist-info/LICENSE.txt,sha256=05ZjgQ8Cl1dD9p0BhW-Txzkc5rhCogGJVEuf1GT2Y_M,1303
|
|
64
|
+
lizard-1.17.25.dist-info/METADATA,sha256=28ui9N4c2sAjpSetvmfOPICT3S5MyZb9wjgKnQoJCnM,16130
|
|
65
|
+
lizard-1.17.25.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
|
|
66
|
+
lizard-1.17.25.dist-info/entry_points.txt,sha256=ZBqPhu-J3NoGGW5vn2Gfyoo0vdVlgBgM-wlNm0SGYUQ,39
|
|
67
|
+
lizard-1.17.25.dist-info/top_level.txt,sha256=5NTrTaOLhHuTzXaGcZPKfuaOgUv7WafNGe0Zl5aycpg,35
|
|
68
|
+
lizard-1.17.25.dist-info/RECORD,,
|
lizard.py
CHANGED
|
@@ -418,6 +418,7 @@ class FileInfoBuilder(object):
|
|
|
418
418
|
self.fileinfo = FileInformation(filename, 0)
|
|
419
419
|
self.current_line = 0
|
|
420
420
|
self.forgive = False
|
|
421
|
+
self.forgive_global = False
|
|
421
422
|
self.newline = True
|
|
422
423
|
self.global_pseudo_function = FunctionInfo('*global*', filename, 0)
|
|
423
424
|
self.current_function = self.global_pseudo_function
|
|
@@ -481,7 +482,8 @@ class FileInfoBuilder(object):
|
|
|
481
482
|
|
|
482
483
|
def end_of_function(self):
|
|
483
484
|
if not self.forgive:
|
|
484
|
-
self.
|
|
485
|
+
if self.current_function.name != '*global*' or not self.forgive_global:
|
|
486
|
+
self.fileinfo.function_list.append(self.current_function)
|
|
485
487
|
self.forgive = False
|
|
486
488
|
if self.stacked_functions:
|
|
487
489
|
self.current_function = self.stacked_functions.pop()
|
|
@@ -501,7 +503,9 @@ def comment_counter(tokens, reader):
|
|
|
501
503
|
if comment is not None:
|
|
502
504
|
for _ in comment.splitlines()[1:]:
|
|
503
505
|
yield '\n'
|
|
504
|
-
if comment.strip().startswith("#lizard forgive"):
|
|
506
|
+
if comment.strip().startswith("#lizard forgive global"):
|
|
507
|
+
reader.context.forgive_global = True
|
|
508
|
+
elif comment.strip().startswith("#lizard forgive"):
|
|
505
509
|
reader.context.forgive = True
|
|
506
510
|
if "GENERATED CODE" in comment:
|
|
507
511
|
return
|
lizard_ext/version.py
CHANGED
|
@@ -10,7 +10,17 @@ class ScriptLanguageMixIn:
|
|
|
10
10
|
@staticmethod
|
|
11
11
|
def get_comment_from_token(token):
|
|
12
12
|
if token.startswith("#"):
|
|
13
|
-
return
|
|
13
|
+
# For forgiveness comments, return the entire comment with directive intact
|
|
14
|
+
stripped = token.lstrip('#').strip()
|
|
15
|
+
|
|
16
|
+
# Handle forgiveness directives with proper formatting
|
|
17
|
+
if stripped.startswith('lizard forgive global') or stripped.startswith('#lizard forgive global'):
|
|
18
|
+
return '#lizard forgive global' # Preserve global directive
|
|
19
|
+
elif stripped.startswith('lizard forgive') or stripped.startswith('#lizard forgive'):
|
|
20
|
+
return '#lizard forgive' # Return standardized forgiveness comment
|
|
21
|
+
|
|
22
|
+
return stripped # Return the stripped comment for other cases
|
|
23
|
+
return None
|
|
14
24
|
|
|
15
25
|
@staticmethod
|
|
16
26
|
def generate_common_tokens(source_code, addition, match_holder=None):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|