mirror of https://github.com/python/cpython
Fix compiler.ast.flatten function so that it works on lists.
This commit is contained in:
parent
76276177de
commit
f36947032f
|
@ -4,9 +4,9 @@ This file is automatically generated by Tools/compiler/astgen.py
|
|||
"""
|
||||
from consts import CO_VARARGS, CO_VARKEYWORDS
|
||||
|
||||
def flatten(list):
|
||||
def flatten(seq):
|
||||
l = []
|
||||
for elt in list:
|
||||
for elt in seq:
|
||||
t = type(elt)
|
||||
if t is tuple or t is list:
|
||||
for elt2 in flatten(elt):
|
||||
|
@ -15,8 +15,8 @@ def flatten(list):
|
|||
l.append(elt)
|
||||
return l
|
||||
|
||||
def flatten_nodes(list):
|
||||
return [n for n in flatten(list) if isinstance(n, Node)]
|
||||
def flatten_nodes(seq):
|
||||
return [n for n in flatten(seq) if isinstance(n, Node)]
|
||||
|
||||
nodes = {}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import compiler
|
||||
from compiler.ast import flatten
|
||||
import os
|
||||
import test.test_support
|
||||
import unittest
|
||||
|
@ -60,6 +61,10 @@ class CompilerTest(unittest.TestCase):
|
|||
for child in node.getChildNodes():
|
||||
self.check_lineno(child)
|
||||
|
||||
def testFlatten(self):
|
||||
self.assertEquals(flatten([1, [2]]), [1, 2])
|
||||
self.assertEquals(flatten((1, (2,))), [1, 2])
|
||||
|
||||
NOLINENO = (compiler.ast.Module, compiler.ast.Stmt, compiler.ast.Discard)
|
||||
|
||||
###############################################################################
|
||||
|
|
|
@ -234,9 +234,9 @@ This file is automatically generated by Tools/compiler/astgen.py
|
|||
"""
|
||||
from consts import CO_VARARGS, CO_VARKEYWORDS
|
||||
|
||||
def flatten(list):
|
||||
def flatten(seq):
|
||||
l = []
|
||||
for elt in list:
|
||||
for elt in seq:
|
||||
t = type(elt)
|
||||
if t is tuple or t is list:
|
||||
for elt2 in flatten(elt):
|
||||
|
@ -245,8 +245,8 @@ def flatten(list):
|
|||
l.append(elt)
|
||||
return l
|
||||
|
||||
def flatten_nodes(list):
|
||||
return [n for n in flatten(list) if isinstance(n, Node)]
|
||||
def flatten_nodes(seq):
|
||||
return [n for n in flatten(seq) if isinstance(n, Node)]
|
||||
|
||||
nodes = {}
|
||||
|
||||
|
|
Loading…
Reference in New Issue