prepare-ChangeLog gets confused about Python docstrings that contain the word "class...
authordbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 5 Feb 2018 22:54:17 +0000 (22:54 +0000)
committerdbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 5 Feb 2018 22:54:17 +0000 (22:54 +0000)
commit7810d56a2aa03f0cf2f0321837f3d91bed16f52a
treece9d1859da867dd4c03e9e326d0b8e4029c4f500
parent2b126ebf4e66d5df1ee52550c6f330ab8160882d
prepare-ChangeLog gets confused about Python docstrings that contain the word "class" or "def"
https://bugs.webkit.org/show_bug.cgi?id=182405

Reviewed by David Kilzer.

String literal statements, including docstrings, do not demarcate a new scope in Python.
So, do not treat them like they do when building up the list of modified functions.

* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_python):
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt:
The expected ending line number for the last "pass" statement inside the scope of Class5 changed
from 97 to 98 because empty lines do not effect scope. This is consistent with the parsing
of the second "pass" statement in the scope of class Class5. A "pass" is a null operation that
is used as a syntactic placeholder when a statement is required. Ideally we would make
the parsing code smarter so as to avoid emitting ranges for "pass" statements that serve
not syntactic purpose.
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py:
(Class5):
(Class6):
(Class6.__init__):
(Class7):
(Class7.__init__):
(Class8):
(Class8.__init__):
Add some more tests.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@228131 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools/ChangeLog
Tools/Scripts/prepare-ChangeLog
Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt
Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py