Skip to content

Commit

Permalink
bpo-32905: IDLE - remove unused code in pyparse module (pythonGH-5807)
Browse files Browse the repository at this point in the history
dump is similar to print but less flexible.  lastopenbracketpos is now always initialized in _study2, as was stmt_bracketing, so the class settings are not needed.  get_last_open_bracket_pos is never called.
(cherry picked from commit 451d1ed)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
  • Loading branch information
terryjreedy authored and miss-islington committed Feb 22, 2018
1 parent 52064c3 commit fa5bf49
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 50 deletions.
34 changes: 4 additions & 30 deletions Lib/idlelib/idle_test/test_pyparse.py
@@ -1,4 +1,7 @@
"""Unittest for idlelib.pyparse.py."""
"""Unittest for idlelib.pyparse.py.
Coverage: 97%
"""

from collections import namedtuple
import unittest
Expand Down Expand Up @@ -272,8 +275,6 @@ def test_study2(self):
)

for test in tests:
# There is a bug where this is carried forward from last item.
p.lastopenbracketpos = None
with self.subTest(string=test.string):
setstr(test.string)
study()
Expand Down Expand Up @@ -464,33 +465,6 @@ def test_is_block_closer(self):
setstr(test.string)
test.assert_(closer())

def test_get_last_open_bracket_pos(self):
eq = self.assertEqual
p = self.parser
setstr = p.set_str
openbracket = p.get_last_open_bracket_pos

TestInfo = namedtuple('TestInfo', ['string', 'position'])
tests = (
TestInfo('', None),
TestInfo('a\n', None),
TestInfo('# (\n', None),
TestInfo('""" (\n', None),
TestInfo('a = (1 + 2) - 5 *\\\n', None),
TestInfo('\n def function1(self, a,\n', 17),
TestInfo('\n def function1(self, a, # End of line comment.\n', 17),
TestInfo('{)(]\n', None),
TestInfo('(((((((((()))))))\n', 2),
TestInfo('(((((((((())\n)))\n))\n', 2),
)

for test in tests:
# There is a bug where the value is carried forward from last item.
p.lastopenbracketpos = None
with self.subTest(string=test.string):
setstr(test.string)
eq(openbracket(), test.position)

def test_get_last_stmt_bracketing(self):
eq = self.assertEqual
p = self.parser
Expand Down
23 changes: 3 additions & 20 deletions Lib/idlelib/pyparse.py
Expand Up @@ -18,10 +18,6 @@
(C_NONE, C_BACKSLASH, C_STRING_FIRST_LINE,
C_STRING_NEXT_LINES, C_BRACKET) = range(5)

if 0: # for throwaway debugging output
def dump(*stuff):
sys.__stdout__.write(" ".join(map(str, stuff)) + "\n")

# Find what looks like the start of a popular statement.

_synchre = re.compile(r"""
Expand Down Expand Up @@ -496,8 +492,7 @@ def _study2(self):
# end while p < q:

self.lastch = lastch
if stack:
self.lastopenbracketpos = stack[-1]
self.lastopenbracketpos = stack[-1] if stack else None
self.stmt_bracketing = tuple(bracketing)

def compute_bracket_indent(self):
Expand Down Expand Up @@ -620,22 +615,10 @@ def is_block_closer(self):
self._study2()
return _closere(self.str, self.stmt_start) is not None

# XXX - is this used?
lastopenbracketpos = None

def get_last_open_bracket_pos(self):
"Return index of last open bracket or None."
self._study2()
return self.lastopenbracketpos

# XXX - is this used?
stmt_bracketing = None

def get_last_stmt_bracketing(self):
"""Return a tuple of the structure of the bracketing of the last
interesting statement.
"""Return bracketing structure of the last interesting statement.
Tuple is in the format defined in _study2().
The returned tuple is in the format defined in _study2().
"""
self._study2()
return self.stmt_bracketing
Expand Down
@@ -0,0 +1 @@
Remove unused code in pyparse module.

0 comments on commit fa5bf49

Please sign in to comment.