bpo-31241: Fix AST node position for list and generator comprehensions. (GH-10633)
The lineno and col_offset attributes of AST nodes for list comprehensions, generator expressions and tuples are now point to the opening parenthesis or square brace. For tuples without parenthesis they point to the position of the first item.
This commit is contained in:
parent
d1cbc6f8a0
commit
b619b09792
|
@ -55,6 +55,9 @@ exec_tests = [
|
|||
"del v",
|
||||
# Assign
|
||||
"v = 1",
|
||||
"a,b = c",
|
||||
"(a,b) = c",
|
||||
"[a,b] = c",
|
||||
# AugAssign
|
||||
"v += 1",
|
||||
# For
|
||||
|
@ -90,9 +93,8 @@ exec_tests = [
|
|||
"for v in v:continue",
|
||||
# for statements with naked tuples (see http://bugs.python.org/issue6704)
|
||||
"for a,b in c: pass",
|
||||
"[(a,b) for a,b in c]",
|
||||
"((a,b) for a,b in c)",
|
||||
"((a,b) for (a,b) in c)",
|
||||
"for (a,b) in c: pass",
|
||||
"for [a,b] in c: pass",
|
||||
# Multiline generator expression (test for .lineno & .col_offset)
|
||||
"""(
|
||||
(
|
||||
|
@ -130,6 +132,8 @@ exec_tests = [
|
|||
"@deco1\n@deco2()\nasync def f(): pass",
|
||||
# Decorated ClassDef
|
||||
"@deco1\n@deco2()\nclass C: pass",
|
||||
# Decorator with generator argument
|
||||
"@deco(a for a in b)\ndef f(): pass",
|
||||
]
|
||||
|
||||
# These are compiled through "single"
|
||||
|
@ -168,12 +172,24 @@ eval_tests = [
|
|||
"[a for b in c if d]",
|
||||
# GeneratorExp
|
||||
"(a for b in c if d)",
|
||||
# Comprehensions with multiple for targets
|
||||
"[(a,b) for a,b in c]",
|
||||
"[(a,b) for (a,b) in c]",
|
||||
"[(a,b) for [a,b] in c]",
|
||||
"{(a,b) for a,b in c}",
|
||||
"{(a,b) for (a,b) in c}",
|
||||
"{(a,b) for [a,b] in c}",
|
||||
"((a,b) for a,b in c)",
|
||||
"((a,b) for (a,b) in c)",
|
||||
"((a,b) for [a,b] in c)",
|
||||
# Yield - yield expressions can't work outside a function
|
||||
#
|
||||
# Compare
|
||||
"1 < 2 < 3",
|
||||
# Call
|
||||
"f(1,2,c=3,*d,**e)",
|
||||
# Call with a generator argument
|
||||
"f(a for a in b)",
|
||||
# Num
|
||||
"10",
|
||||
# Str
|
||||
|
@ -1266,6 +1282,9 @@ exec_results = [
|
|||
('Module', [('FunctionDef', (1, 0), 'f', ('arguments', [], None, [], [], None, []), [('Return', (1, 8), ('Constant', (1, 15), 1))], [], None)]),
|
||||
('Module', [('Delete', (1, 0), [('Name', (1, 4), 'v', ('Del',))])]),
|
||||
('Module', [('Assign', (1, 0), [('Name', (1, 0), 'v', ('Store',))], ('Constant', (1, 4), 1))]),
|
||||
('Module', [('Assign', (1, 0), [('Tuple', (1, 0), [('Name', (1, 0), 'a', ('Store',)), ('Name', (1, 2), 'b', ('Store',))], ('Store',))], ('Name', (1, 6), 'c', ('Load',)))]),
|
||||
('Module', [('Assign', (1, 0), [('Tuple', (1, 0), [('Name', (1, 1), 'a', ('Store',)), ('Name', (1, 3), 'b', ('Store',))], ('Store',))], ('Name', (1, 8), 'c', ('Load',)))]),
|
||||
('Module', [('Assign', (1, 0), [('List', (1, 0), [('Name', (1, 1), 'a', ('Store',)), ('Name', (1, 3), 'b', ('Store',))], ('Store',))], ('Name', (1, 8), 'c', ('Load',)))]),
|
||||
('Module', [('AugAssign', (1, 0), ('Name', (1, 0), 'v', ('Store',)), ('Add',), ('Constant', (1, 5), 1))]),
|
||||
('Module', [('For', (1, 0), ('Name', (1, 4), 'v', ('Store',)), ('Name', (1, 9), 'v', ('Load',)), [('Pass', (1, 11))], [])]),
|
||||
('Module', [('While', (1, 0), ('Name', (1, 6), 'v', ('Load',)), [('Pass', (1, 8))], [])]),
|
||||
|
@ -1284,10 +1303,9 @@ exec_results = [
|
|||
('Module', [('For', (1, 0), ('Name', (1, 4), 'v', ('Store',)), ('Name', (1, 9), 'v', ('Load',)), [('Break', (1, 11))], [])]),
|
||||
('Module', [('For', (1, 0), ('Name', (1, 4), 'v', ('Store',)), ('Name', (1, 9), 'v', ('Load',)), [('Continue', (1, 11))], [])]),
|
||||
('Module', [('For', (1, 0), ('Tuple', (1, 4), [('Name', (1, 4), 'a', ('Store',)), ('Name', (1, 6), 'b', ('Store',))], ('Store',)), ('Name', (1, 11), 'c', ('Load',)), [('Pass', (1, 14))], [])]),
|
||||
('Module', [('Expr', (1, 0), ('ListComp', (1, 1), ('Tuple', (1, 2), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 11), 'a', ('Store',)), ('Name', (1, 13), 'b', ('Store',))], ('Store',)), ('Name', (1, 18), 'c', ('Load',)), [], 0)]))]),
|
||||
('Module', [('Expr', (1, 0), ('GeneratorExp', (1, 1), ('Tuple', (1, 2), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 11), 'a', ('Store',)), ('Name', (1, 13), 'b', ('Store',))], ('Store',)), ('Name', (1, 18), 'c', ('Load',)), [], 0)]))]),
|
||||
('Module', [('Expr', (1, 0), ('GeneratorExp', (1, 1), ('Tuple', (1, 2), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 12), [('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 20), 'c', ('Load',)), [], 0)]))]),
|
||||
('Module', [('Expr', (1, 0), ('GeneratorExp', (2, 4), ('Tuple', (3, 4), [('Name', (3, 4), 'Aa', ('Load',)), ('Name', (5, 7), 'Bb', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (8, 4), [('Name', (8, 4), 'Aa', ('Store',)), ('Name', (10, 4), 'Bb', ('Store',))], ('Store',)), ('Name', (10, 10), 'Cc', ('Load',)), [], 0)]))]),
|
||||
('Module', [('For', (1, 0), ('Tuple', (1, 4), [('Name', (1, 5), 'a', ('Store',)), ('Name', (1, 7), 'b', ('Store',))], ('Store',)), ('Name', (1, 13), 'c', ('Load',)), [('Pass', (1, 16))], [])]),
|
||||
('Module', [('For', (1, 0), ('List', (1, 4), [('Name', (1, 5), 'a', ('Store',)), ('Name', (1, 7), 'b', ('Store',))], ('Store',)), ('Name', (1, 13), 'c', ('Load',)), [('Pass', (1, 16))], [])]),
|
||||
('Module', [('Expr', (1, 0), ('GeneratorExp', (1, 0), ('Tuple', (2, 4), [('Name', (3, 4), 'Aa', ('Load',)), ('Name', (5, 7), 'Bb', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (8, 4), [('Name', (8, 4), 'Aa', ('Store',)), ('Name', (10, 4), 'Bb', ('Store',))], ('Store',)), ('Name', (10, 10), 'Cc', ('Load',)), [], 0)]))]),
|
||||
('Module', [('Expr', (1, 0), ('DictComp', (1, 0), ('Name', (1, 1), 'a', ('Load',)), ('Name', (1, 5), 'b', ('Load',)), [('comprehension', ('Name', (1, 11), 'w', ('Store',)), ('Name', (1, 16), 'x', ('Load',)), [], 0), ('comprehension', ('Name', (1, 22), 'm', ('Store',)), ('Name', (1, 27), 'p', ('Load',)), [('Name', (1, 32), 'g', ('Load',))], 0)]))]),
|
||||
('Module', [('Expr', (1, 0), ('DictComp', (1, 0), ('Name', (1, 1), 'a', ('Load',)), ('Name', (1, 5), 'b', ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 11), 'v', ('Store',)), ('Name', (1, 13), 'w', ('Store',))], ('Store',)), ('Name', (1, 18), 'x', ('Load',)), [], 0)]))]),
|
||||
('Module', [('Expr', (1, 0), ('SetComp', (1, 0), ('Name', (1, 1), 'r', ('Load',)), [('comprehension', ('Name', (1, 7), 'l', ('Store',)), ('Name', (1, 12), 'x', ('Load',)), [('Name', (1, 17), 'g', ('Load',))], 0)]))]),
|
||||
|
@ -1297,10 +1315,11 @@ exec_results = [
|
|||
('Module', [('AsyncFunctionDef', (1, 0), 'f', ('arguments', [], None, [], [], None, []), [('AsyncWith', (2, 1), [('withitem', ('Name', (2, 12), 'a', ('Load',)), ('Name', (2, 17), 'b', ('Store',)))], [('Expr', (2, 20), ('Constant', (2, 20), 1))])], [], None)]),
|
||||
('Module', [('Expr', (1, 0), ('Dict', (1, 0), [None, ('Constant', (1, 10), 2)], [('Dict', (1, 3), [('Constant', (1, 4), 1)], [('Constant', (1, 6), 2)]), ('Constant', (1, 12), 3)]))]),
|
||||
('Module', [('Expr', (1, 0), ('Set', (1, 0), [('Starred', (1, 1), ('Set', (1, 2), [('Constant', (1, 3), 1), ('Constant', (1, 6), 2)]), ('Load',)), ('Constant', (1, 10), 3)]))]),
|
||||
('Module', [('AsyncFunctionDef', (1, 0), 'f', ('arguments', [], None, [], [], None, []), [('Expr', (2, 1), ('ListComp', (2, 2), ('Name', (2, 2), 'i', ('Load',)), [('comprehension', ('Name', (2, 14), 'b', ('Store',)), ('Name', (2, 19), 'c', ('Load',)), [], 1)]))], [], None)]),
|
||||
('Module', [('AsyncFunctionDef', (1, 0), 'f', ('arguments', [], None, [], [], None, []), [('Expr', (2, 1), ('ListComp', (2, 1), ('Name', (2, 2), 'i', ('Load',)), [('comprehension', ('Name', (2, 14), 'b', ('Store',)), ('Name', (2, 19), 'c', ('Load',)), [], 1)]))], [], None)]),
|
||||
('Module', [('FunctionDef', (3, 0), 'f', ('arguments', [], None, [], [], None, []), [('Pass', (3, 9))], [('Name', (1, 1), 'deco1', ('Load',)), ('Call', (2, 0), ('Name', (2, 1), 'deco2', ('Load',)), [], [])], None)]),
|
||||
('Module', [('AsyncFunctionDef', (3, 0), 'f', ('arguments', [], None, [], [], None, []), [('Pass', (3, 15))], [('Name', (1, 1), 'deco1', ('Load',)), ('Call', (2, 0), ('Name', (2, 1), 'deco2', ('Load',)), [], [])], None)]),
|
||||
('Module', [('ClassDef', (3, 0), 'C', [], [], [('Pass', (3, 9))], [('Name', (1, 1), 'deco1', ('Load',)), ('Call', (2, 0), ('Name', (2, 1), 'deco2', ('Load',)), [], [])])]),
|
||||
('Module', [('FunctionDef', (2, 0), 'f', ('arguments', [], None, [], [], None, []), [('Pass', (2, 9))], [('Call', (1, 1), ('Name', (1, 1), 'deco', ('Load',)), [('GeneratorExp', (1, 5), ('Name', (1, 6), 'a', ('Load',)), [('comprehension', ('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 17), 'b', ('Load',)), [], 0)])], [])], None)]),
|
||||
]
|
||||
single_results = [
|
||||
('Interactive', [('Expr', (1, 0), ('BinOp', (1, 0), ('Constant', (1, 0), 1), ('Add',), ('Constant', (1, 2), 2)))]),
|
||||
|
@ -1315,10 +1334,20 @@ eval_results = [
|
|||
('Expression', ('Dict', (1, 0), [], [])),
|
||||
('Expression', ('Set', (1, 0), [('Constant', (1, 1), None)])),
|
||||
('Expression', ('Dict', (1, 0), [('Constant', (2, 6), 1)], [('Constant', (4, 10), 2)])),
|
||||
('Expression', ('ListComp', (1, 1), ('Name', (1, 1), 'a', ('Load',)), [('comprehension', ('Name', (1, 7), 'b', ('Store',)), ('Name', (1, 12), 'c', ('Load',)), [('Name', (1, 17), 'd', ('Load',))], 0)])),
|
||||
('Expression', ('GeneratorExp', (1, 1), ('Name', (1, 1), 'a', ('Load',)), [('comprehension', ('Name', (1, 7), 'b', ('Store',)), ('Name', (1, 12), 'c', ('Load',)), [('Name', (1, 17), 'd', ('Load',))], 0)])),
|
||||
('Expression', ('ListComp', (1, 0), ('Name', (1, 1), 'a', ('Load',)), [('comprehension', ('Name', (1, 7), 'b', ('Store',)), ('Name', (1, 12), 'c', ('Load',)), [('Name', (1, 17), 'd', ('Load',))], 0)])),
|
||||
('Expression', ('GeneratorExp', (1, 0), ('Name', (1, 1), 'a', ('Load',)), [('comprehension', ('Name', (1, 7), 'b', ('Store',)), ('Name', (1, 12), 'c', ('Load',)), [('Name', (1, 17), 'd', ('Load',))], 0)])),
|
||||
('Expression', ('ListComp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 11), 'a', ('Store',)), ('Name', (1, 13), 'b', ('Store',))], ('Store',)), ('Name', (1, 18), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('ListComp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 20), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('ListComp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11), [('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 20), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('SetComp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 11), 'a', ('Store',)), ('Name', (1, 13), 'b', ('Store',))], ('Store',)), ('Name', (1, 18), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('SetComp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 20), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('SetComp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11), [('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 20), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('GeneratorExp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 11), 'a', ('Store',)), ('Name', (1, 13), 'b', ('Store',))], ('Store',)), ('Name', (1, 18), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('GeneratorExp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('Tuple', (1, 11), [('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 20), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('GeneratorExp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11), [('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 20), 'c', ('Load',)), [], 0)])),
|
||||
('Expression', ('Compare', (1, 0), ('Constant', (1, 0), 1), [('Lt',), ('Lt',)], [('Constant', (1, 4), 2), ('Constant', (1, 8), 3)])),
|
||||
('Expression', ('Call', (1, 0), ('Name', (1, 0), 'f', ('Load',)), [('Constant', (1, 2), 1), ('Constant', (1, 4), 2), ('Starred', (1, 10), ('Name', (1, 11), 'd', ('Load',)), ('Load',))], [('keyword', 'c', ('Constant', (1, 8), 3)), ('keyword', None, ('Name', (1, 15), 'e', ('Load',)))])),
|
||||
('Expression', ('Call', (1, 0), ('Name', (1, 0), 'f', ('Load',)), [('GeneratorExp', (1, 1), ('Name', (1, 2), 'a', ('Load',)), [('comprehension', ('Name', (1, 8), 'a', ('Store',)), ('Name', (1, 13), 'b', ('Load',)), [], 0)])], [])),
|
||||
('Expression', ('Constant', (1, 0), 10)),
|
||||
('Expression', ('Constant', (1, 0), 'string')),
|
||||
('Expression', ('Attribute', (1, 0), ('Name', (1, 0), 'a', ('Load',)), 'b', ('Load',))),
|
||||
|
@ -1327,7 +1356,7 @@ eval_results = [
|
|||
('Expression', ('List', (1, 0), [('Constant', (1, 1), 1), ('Constant', (1, 3), 2), ('Constant', (1, 5), 3)], ('Load',))),
|
||||
('Expression', ('List', (1, 0), [], ('Load',))),
|
||||
('Expression', ('Tuple', (1, 0), [('Constant', (1, 0), 1), ('Constant', (1, 2), 2), ('Constant', (1, 4), 3)], ('Load',))),
|
||||
('Expression', ('Tuple', (1, 1), [('Constant', (1, 1), 1), ('Constant', (1, 3), 2), ('Constant', (1, 5), 3)], ('Load',))),
|
||||
('Expression', ('Tuple', (1, 0), [('Constant', (1, 1), 1), ('Constant', (1, 3), 2), ('Constant', (1, 5), 3)], ('Load',))),
|
||||
('Expression', ('Tuple', (1, 0), [], ('Load',))),
|
||||
('Expression', ('Call', (1, 0), ('Attribute', (1, 0), ('Attribute', (1, 0), ('Attribute', (1, 0), ('Name', (1, 0), 'a', ('Load',)), 'b', ('Load',)), 'c', ('Load',)), 'd', ('Load',)), [('Subscript', (1, 8), ('Attribute', (1, 8), ('Name', (1, 8), 'a', ('Load',)), 'b', ('Load',)), ('Slice', ('Constant', (1, 12), 1), ('Constant', (1, 14), 2), None), ('Load',))], [])),
|
||||
]
|
||||
|
|
|
@ -204,7 +204,7 @@ class ExceptionTests(unittest.TestCase):
|
|||
check('x = 0o9', 1, 6)
|
||||
|
||||
# Errors thrown by symtable.c
|
||||
check('x = [(yield i) for i in range(3)]', 1, 6)
|
||||
check('x = [(yield i) for i in range(3)]', 1, 5)
|
||||
check('def f():\n from _ import *', 1, 1)
|
||||
check('def f(x, x):\n pass', 1, 1)
|
||||
check('def f(x):\n nonlocal x', 2, 3)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
The *lineno* and *col_offset* attributes of AST nodes for list comprehensions,
|
||||
generator expressions and tuples are now point to the opening parenthesis or
|
||||
square brace. For tuples without parenthesis they point to the position of
|
||||
the first item.
|
49
Python/ast.c
49
Python/ast.c
|
@ -577,7 +577,8 @@ static stmt_ty ast_for_with_stmt(struct compiling *, const node *, bool);
|
|||
static stmt_ty ast_for_for_stmt(struct compiling *, const node *, bool);
|
||||
|
||||
/* Note different signature for ast_for_call */
|
||||
static expr_ty ast_for_call(struct compiling *, const node *, expr_ty, bool);
|
||||
static expr_ty ast_for_call(struct compiling *, const node *, expr_ty,
|
||||
const node *);
|
||||
|
||||
static PyObject *parsenumber(struct compiling *, const char *);
|
||||
static expr_ty parsestrplus(struct compiling *, const node *n);
|
||||
|
@ -931,6 +932,16 @@ forbidden_name(struct compiling *c, identifier name, const node *n,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static expr_ty
|
||||
copy_location(expr_ty e, const node *n)
|
||||
{
|
||||
if (e) {
|
||||
e->lineno = LINENO(n);
|
||||
e->col_offset = n->n_col_offset;
|
||||
}
|
||||
return e;
|
||||
}
|
||||
|
||||
/* Set the context ctx for expr_ty e, recursively traversing e.
|
||||
|
||||
Only sets context for expr kinds that "can appear in assignment context"
|
||||
|
@ -1519,7 +1530,7 @@ ast_for_decorator(struct compiling *c, const node *n)
|
|||
name_expr = NULL;
|
||||
}
|
||||
else {
|
||||
d = ast_for_call(c, CHILD(n, 3), name_expr, true);
|
||||
d = ast_for_call(c, CHILD(n, 3), name_expr, CHILD(n, 2));
|
||||
if (!d)
|
||||
return NULL;
|
||||
name_expr = NULL;
|
||||
|
@ -2129,10 +2140,16 @@ ast_for_atom(struct compiling *c, const node *n)
|
|||
return ast_for_expr(c, ch);
|
||||
|
||||
/* testlist_comp: test ( comp_for | (',' test)* [','] ) */
|
||||
if ((NCH(ch) > 1) && (TYPE(CHILD(ch, 1)) == comp_for))
|
||||
return ast_for_genexp(c, ch);
|
||||
if (NCH(ch) == 1) {
|
||||
return ast_for_testlist(c, ch);
|
||||
}
|
||||
|
||||
return ast_for_testlist(c, ch);
|
||||
if (TYPE(CHILD(ch, 1)) == comp_for) {
|
||||
return copy_location(ast_for_genexp(c, ch), n);
|
||||
}
|
||||
else {
|
||||
return copy_location(ast_for_testlist(c, ch), n);
|
||||
}
|
||||
case LSQB: /* list (or list comprehension) */
|
||||
ch = CHILD(n, 1);
|
||||
|
||||
|
@ -2147,8 +2164,9 @@ ast_for_atom(struct compiling *c, const node *n)
|
|||
|
||||
return List(elts, Load, LINENO(n), n->n_col_offset, c->c_arena);
|
||||
}
|
||||
else
|
||||
return ast_for_listcomp(c, ch);
|
||||
else {
|
||||
return copy_location(ast_for_listcomp(c, ch), n);
|
||||
}
|
||||
case LBRACE: {
|
||||
/* dictorsetmaker: ( ((test ':' test | '**' test)
|
||||
* (comp_for | (',' (test ':' test | '**' test))* [','])) |
|
||||
|
@ -2187,11 +2205,7 @@ ast_for_atom(struct compiling *c, const node *n)
|
|||
/* It's a dictionary display. */
|
||||
res = ast_for_dictdisplay(c, ch);
|
||||
}
|
||||
if (res) {
|
||||
res->lineno = LINENO(n);
|
||||
res->col_offset = n->n_col_offset;
|
||||
}
|
||||
return res;
|
||||
return copy_location(res, n);
|
||||
}
|
||||
}
|
||||
default:
|
||||
|
@ -2330,7 +2344,7 @@ ast_for_trailer(struct compiling *c, const node *n, expr_ty left_expr)
|
|||
return Call(left_expr, NULL, NULL, LINENO(n),
|
||||
n->n_col_offset, c->c_arena);
|
||||
else
|
||||
return ast_for_call(c, CHILD(n, 1), left_expr, true);
|
||||
return ast_for_call(c, CHILD(n, 1), left_expr, CHILD(n, 0));
|
||||
}
|
||||
else if (TYPE(CHILD(n, 0)) == DOT) {
|
||||
PyObject *attr_id = NEW_IDENTIFIER(CHILD(n, 1));
|
||||
|
@ -2667,7 +2681,8 @@ ast_for_expr(struct compiling *c, const node *n)
|
|||
}
|
||||
|
||||
static expr_ty
|
||||
ast_for_call(struct compiling *c, const node *n, expr_ty func, bool allowgen)
|
||||
ast_for_call(struct compiling *c, const node *n, expr_ty func,
|
||||
const node *maybegenbeg)
|
||||
{
|
||||
/*
|
||||
arglist: argument (',' argument)* [',']
|
||||
|
@ -2690,7 +2705,7 @@ ast_for_call(struct compiling *c, const node *n, expr_ty func, bool allowgen)
|
|||
nargs++;
|
||||
else if (TYPE(CHILD(ch, 1)) == comp_for) {
|
||||
nargs++;
|
||||
if (!allowgen) {
|
||||
if (!maybegenbeg) {
|
||||
ast_error(c, ch, "invalid syntax");
|
||||
return NULL;
|
||||
}
|
||||
|
@ -2775,7 +2790,7 @@ ast_for_call(struct compiling *c, const node *n, expr_ty func, bool allowgen)
|
|||
}
|
||||
else if (TYPE(CHILD(ch, 1)) == comp_for) {
|
||||
/* the lone generator expression */
|
||||
e = ast_for_genexp(c, ch);
|
||||
e = copy_location(ast_for_genexp(c, ch), maybegenbeg);
|
||||
if (!e)
|
||||
return NULL;
|
||||
asdl_seq_SET(args, nargs++, e);
|
||||
|
@ -3935,7 +3950,7 @@ ast_for_classdef(struct compiling *c, const node *n, asdl_seq *decorator_seq)
|
|||
if (!dummy_name)
|
||||
return NULL;
|
||||
dummy = Name(dummy_name, Load, LINENO(n), n->n_col_offset, c->c_arena);
|
||||
call = ast_for_call(c, CHILD(n, 3), dummy, false);
|
||||
call = ast_for_call(c, CHILD(n, 3), dummy, NULL);
|
||||
if (!call)
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -869,207 +869,207 @@ const unsigned char _Py_M__zipimport[] = {
|
|||
132,0,0,0,90,6,109,107,116,105,109,101,41,2,218,1,
|
||||
100,114,139,0,0,0,114,9,0,0,0,114,9,0,0,0,
|
||||
114,10,0,0,0,218,14,95,112,97,114,115,101,95,100,111,
|
||||
115,116,105,109,101,139,2,0,0,115,24,0,0,0,0,1,
|
||||
115,116,105,109,101,139,2,0,0,115,22,0,0,0,0,1,
|
||||
4,1,10,1,10,1,6,1,6,1,10,1,10,1,2,0,
|
||||
2,0,2,250,2,255,114,170,0,0,0,99,2,0,0,0,
|
||||
0,0,0,0,6,0,0,0,10,0,0,0,67,0,0,0,
|
||||
115,116,0,0,0,122,82,124,1,100,1,100,0,133,2,25,
|
||||
0,100,2,107,6,115,22,116,0,130,1,124,1,100,0,100,
|
||||
1,133,2,25,0,125,1,124,0,106,1,124,1,25,0,125,
|
||||
2,124,2,100,3,25,0,125,3,124,2,100,4,25,0,125,
|
||||
4,124,2,100,5,25,0,125,5,116,2,124,4,124,3,131,
|
||||
2,124,5,102,2,87,0,83,0,4,0,116,3,116,4,116,
|
||||
5,102,3,107,10,114,110,1,0,1,0,1,0,89,0,100,
|
||||
6,83,0,88,0,100,0,83,0,41,7,78,114,14,0,0,
|
||||
0,169,2,218,1,99,218,1,111,114,164,0,0,0,233,6,
|
||||
0,0,0,233,3,0,0,0,41,2,114,0,0,0,0,114,
|
||||
0,0,0,0,41,6,218,14,65,115,115,101,114,116,105,111,
|
||||
110,69,114,114,111,114,114,28,0,0,0,114,170,0,0,0,
|
||||
114,26,0,0,0,218,10,73,110,100,101,120,69,114,114,111,
|
||||
114,114,155,0,0,0,41,6,114,32,0,0,0,114,13,0,
|
||||
0,0,114,54,0,0,0,114,132,0,0,0,114,133,0,0,
|
||||
0,90,17,117,110,99,111,109,112,114,101,115,115,101,100,95,
|
||||
115,105,122,101,114,9,0,0,0,114,9,0,0,0,114,10,
|
||||
0,0,0,114,152,0,0,0,152,2,0,0,115,20,0,0,
|
||||
0,0,1,2,2,20,1,12,1,10,3,8,1,8,1,8,
|
||||
1,16,1,20,1,114,152,0,0,0,99,2,0,0,0,0,
|
||||
0,0,0,3,0,0,0,8,0,0,0,67,0,0,0,115,
|
||||
86,0,0,0,124,1,100,1,100,0,133,2,25,0,100,2,
|
||||
107,6,115,20,116,0,130,1,124,1,100,0,100,1,133,2,
|
||||
25,0,125,1,122,14,124,0,106,1,124,1,25,0,125,2,
|
||||
87,0,110,22,4,0,116,2,107,10,114,68,1,0,1,0,
|
||||
1,0,89,0,100,0,83,0,88,0,116,3,124,0,106,4,
|
||||
124,2,131,2,83,0,100,0,83,0,41,3,78,114,14,0,
|
||||
0,0,114,171,0,0,0,41,5,114,176,0,0,0,114,28,
|
||||
0,0,0,114,26,0,0,0,114,52,0,0,0,114,29,0,
|
||||
0,0,41,3,114,32,0,0,0,114,13,0,0,0,114,54,
|
||||
0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,
|
||||
0,0,114,150,0,0,0,171,2,0,0,115,14,0,0,0,
|
||||
0,2,20,1,12,2,2,1,14,1,14,1,8,2,114,150,
|
||||
0,0,0,99,2,0,0,0,0,0,0,0,11,0,0,0,
|
||||
9,0,0,0,67,0,0,0,115,198,0,0,0,116,0,124,
|
||||
0,124,1,131,2,125,2,116,1,68,0,93,160,92,3,125,
|
||||
3,125,4,125,5,124,2,124,3,23,0,125,6,116,2,106,
|
||||
3,100,1,124,0,106,4,116,5,124,6,100,2,100,3,141,
|
||||
5,1,0,122,14,124,0,106,6,124,6,25,0,125,7,87,
|
||||
0,110,20,4,0,116,7,107,10,114,88,1,0,1,0,1,
|
||||
0,89,0,113,14,88,0,124,7,100,4,25,0,125,8,116,
|
||||
8,124,0,106,4,124,7,131,2,125,9,124,4,114,132,116,
|
||||
9,124,0,124,8,124,6,124,1,124,9,131,5,125,10,110,
|
||||
10,116,10,124,8,124,9,131,2,125,10,124,10,100,0,107,
|
||||
8,114,152,113,14,124,7,100,4,25,0,125,8,124,10,124,
|
||||
5,124,8,102,3,2,0,1,0,83,0,113,14,116,11,100,
|
||||
5,124,1,155,2,157,2,124,1,100,6,141,2,130,1,100,
|
||||
0,83,0,41,7,78,122,13,116,114,121,105,110,103,32,123,
|
||||
125,123,125,123,125,114,86,0,0,0,41,1,90,9,118,101,
|
||||
114,98,111,115,105,116,121,114,0,0,0,0,114,57,0,0,
|
||||
0,114,58,0,0,0,41,12,114,36,0,0,0,114,89,0,
|
||||
0,0,114,76,0,0,0,114,77,0,0,0,114,29,0,0,
|
||||
0,114,20,0,0,0,114,28,0,0,0,114,26,0,0,0,
|
||||
114,52,0,0,0,114,156,0,0,0,114,162,0,0,0,114,
|
||||
3,0,0,0,41,11,114,32,0,0,0,114,38,0,0,0,
|
||||
114,13,0,0,0,114,90,0,0,0,114,91,0,0,0,114,
|
||||
47,0,0,0,114,63,0,0,0,114,54,0,0,0,114,40,
|
||||
0,0,0,114,127,0,0,0,114,46,0,0,0,114,9,0,
|
||||
0,0,114,9,0,0,0,114,10,0,0,0,114,44,0,0,
|
||||
0,186,2,0,0,115,36,0,0,0,0,1,10,1,14,1,
|
||||
8,1,22,1,2,1,14,1,14,1,6,2,8,1,12,1,
|
||||
4,1,18,2,10,1,8,3,2,1,8,1,16,2,114,44,
|
||||
0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
2,0,0,0,64,0,0,0,115,60,0,0,0,101,0,90,
|
||||
1,100,0,90,2,100,1,90,3,100,2,90,4,100,3,100,
|
||||
4,132,0,90,5,100,5,100,6,132,0,90,6,100,7,100,
|
||||
8,132,0,90,7,100,9,100,10,132,0,90,8,100,11,100,
|
||||
12,132,0,90,9,100,13,83,0,41,14,114,80,0,0,0,
|
||||
122,165,80,114,105,118,97,116,101,32,99,108,97,115,115,32,
|
||||
117,115,101,100,32,116,111,32,115,117,112,112,111,114,116,32,
|
||||
90,105,112,73,109,112,111,114,116,46,103,101,116,95,114,101,
|
||||
115,111,117,114,99,101,95,114,101,97,100,101,114,40,41,46,
|
||||
10,10,32,32,32,32,84,104,105,115,32,99,108,97,115,115,
|
||||
32,105,115,32,97,108,108,111,119,101,100,32,116,111,32,114,
|
||||
101,102,101,114,101,110,99,101,32,97,108,108,32,116,104,101,
|
||||
32,105,110,110,97,114,100,115,32,97,110,100,32,112,114,105,
|
||||
118,97,116,101,32,112,97,114,116,115,32,111,102,10,32,32,
|
||||
32,32,116,104,101,32,122,105,112,105,109,112,111,114,116,101,
|
||||
114,46,10,32,32,32,32,70,99,3,0,0,0,0,0,0,
|
||||
0,3,0,0,0,2,0,0,0,67,0,0,0,115,16,0,
|
||||
0,0,124,1,124,0,95,0,124,2,124,0,95,1,100,0,
|
||||
83,0,114,88,0,0,0,41,2,114,4,0,0,0,114,38,
|
||||
0,0,0,41,3,114,32,0,0,0,114,4,0,0,0,114,
|
||||
38,0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,
|
||||
0,0,0,114,34,0,0,0,220,2,0,0,115,4,0,0,
|
||||
0,0,1,6,1,122,33,95,90,105,112,73,109,112,111,114,
|
||||
116,82,101,115,111,117,114,99,101,82,101,97,100,101,114,46,
|
||||
95,95,105,110,105,116,95,95,99,2,0,0,0,0,0,0,
|
||||
0,5,0,0,0,8,0,0,0,67,0,0,0,115,92,0,
|
||||
0,0,124,0,106,0,160,1,100,1,100,2,161,2,125,2,
|
||||
124,2,155,0,100,2,124,1,155,0,157,3,125,3,100,3,
|
||||
100,4,108,2,109,3,125,4,1,0,122,18,124,4,124,0,
|
||||
106,4,160,5,124,3,161,1,131,1,87,0,83,0,4,0,
|
||||
116,6,107,10,114,86,1,0,1,0,1,0,116,7,124,3,
|
||||
131,1,130,1,89,0,110,2,88,0,100,0,83,0,41,5,
|
||||
78,114,85,0,0,0,114,110,0,0,0,114,0,0,0,0,
|
||||
41,1,218,7,66,121,116,101,115,73,79,41,8,114,38,0,
|
||||
0,0,114,19,0,0,0,90,2,105,111,114,178,0,0,0,
|
||||
114,4,0,0,0,114,55,0,0,0,114,22,0,0,0,218,
|
||||
17,70,105,108,101,78,111,116,70,111,117,110,100,69,114,114,
|
||||
111,114,41,5,114,32,0,0,0,218,8,114,101,115,111,117,
|
||||
114,99,101,218,16,102,117,108,108,110,97,109,101,95,97,115,
|
||||
95,112,97,116,104,114,13,0,0,0,114,178,0,0,0,114,
|
||||
9,0,0,0,114,9,0,0,0,114,10,0,0,0,218,13,
|
||||
111,112,101,110,95,114,101,115,111,117,114,99,101,224,2,0,
|
||||
0,115,14,0,0,0,0,1,14,1,14,1,12,1,2,1,
|
||||
18,1,14,1,122,38,95,90,105,112,73,109,112,111,114,116,
|
||||
82,101,115,111,117,114,99,101,82,101,97,100,101,114,46,111,
|
||||
112,101,110,95,114,101,115,111,117,114,99,101,99,2,0,0,
|
||||
0,0,0,0,0,2,0,0,0,1,0,0,0,67,0,0,
|
||||
0,115,8,0,0,0,116,0,130,1,100,0,83,0,114,88,
|
||||
0,0,0,41,1,114,179,0,0,0,41,2,114,32,0,0,
|
||||
0,114,180,0,0,0,114,9,0,0,0,114,9,0,0,0,
|
||||
114,10,0,0,0,218,13,114,101,115,111,117,114,99,101,95,
|
||||
112,97,116,104,233,2,0,0,115,2,0,0,0,0,4,122,
|
||||
38,95,90,105,112,73,109,112,111,114,116,82,101,115,111,117,
|
||||
114,99,101,82,101,97,100,101,114,46,114,101,115,111,117,114,
|
||||
99,101,95,112,97,116,104,99,2,0,0,0,0,0,0,0,
|
||||
4,0,0,0,8,0,0,0,67,0,0,0,115,72,0,0,
|
||||
0,124,0,106,0,160,1,100,1,100,2,161,2,125,2,124,
|
||||
2,155,0,100,2,124,1,155,0,157,3,125,3,122,16,124,
|
||||
0,106,2,160,3,124,3,161,1,1,0,87,0,110,22,4,
|
||||
0,116,4,107,10,114,66,1,0,1,0,1,0,89,0,100,
|
||||
3,83,0,88,0,100,4,83,0,41,5,78,114,85,0,0,
|
||||
0,114,110,0,0,0,70,84,41,5,114,38,0,0,0,114,
|
||||
19,0,0,0,114,4,0,0,0,114,55,0,0,0,114,22,
|
||||
0,0,0,41,4,114,32,0,0,0,114,59,0,0,0,114,
|
||||
181,0,0,0,114,13,0,0,0,114,9,0,0,0,114,9,
|
||||
0,0,0,114,10,0,0,0,218,11,105,115,95,114,101,115,
|
||||
111,117,114,99,101,239,2,0,0,115,14,0,0,0,0,3,
|
||||
14,1,14,1,2,1,16,1,14,1,8,1,122,36,95,90,
|
||||
105,112,73,109,112,111,114,116,82,101,115,111,117,114,99,101,
|
||||
82,101,97,100,101,114,46,105,115,95,114,101,115,111,117,114,
|
||||
99,101,99,1,0,0,0,0,0,0,0,9,0,0,0,9,
|
||||
0,0,0,99,0,0,0,115,186,0,0,0,100,1,100,2,
|
||||
108,0,109,1,125,1,1,0,124,1,124,0,106,2,160,3,
|
||||
124,0,106,4,161,1,131,1,125,2,124,2,160,5,124,0,
|
||||
106,2,106,6,161,1,125,3,124,3,106,7,100,3,107,2,
|
||||
115,58,116,8,130,1,124,3,106,9,125,4,116,10,131,0,
|
||||
125,5,124,0,106,2,106,11,68,0,93,102,125,6,122,18,
|
||||
124,1,124,6,131,1,160,5,124,4,161,1,125,7,87,0,
|
||||
110,24,4,0,116,12,107,10,114,124,1,0,1,0,1,0,
|
||||
89,0,113,78,89,0,110,2,88,0,124,7,106,9,106,7,
|
||||
125,8,116,13,124,8,131,1,100,1,107,2,114,156,124,7,
|
||||
106,7,86,0,1,0,113,78,124,8,124,5,107,7,114,78,
|
||||
124,5,160,14,124,8,161,1,1,0,124,8,86,0,1,0,
|
||||
113,78,100,0,83,0,41,4,78,114,0,0,0,0,41,1,
|
||||
218,4,80,97,116,104,114,60,0,0,0,41,15,90,7,112,
|
||||
97,116,104,108,105,98,114,185,0,0,0,114,4,0,0,0,
|
||||
114,56,0,0,0,114,38,0,0,0,90,11,114,101,108,97,
|
||||
116,105,118,101,95,116,111,114,29,0,0,0,114,59,0,0,
|
||||
0,114,176,0,0,0,90,6,112,97,114,101,110,116,218,3,
|
||||
115,101,116,114,28,0,0,0,114,23,0,0,0,114,51,0,
|
||||
0,0,218,3,97,100,100,41,9,114,32,0,0,0,114,185,
|
||||
0,0,0,90,13,102,117,108,108,110,97,109,101,95,112,97,
|
||||
116,104,90,13,114,101,108,97,116,105,118,101,95,112,97,116,
|
||||
104,90,12,112,97,99,107,97,103,101,95,112,97,116,104,90,
|
||||
12,115,117,98,100,105,114,115,95,115,101,101,110,218,8,102,
|
||||
105,108,101,110,97,109,101,90,8,114,101,108,97,116,105,118,
|
||||
101,90,11,112,97,114,101,110,116,95,110,97,109,101,114,9,
|
||||
0,0,0,114,9,0,0,0,114,10,0,0,0,218,8,99,
|
||||
111,110,116,101,110,116,115,250,2,0,0,115,34,0,0,0,
|
||||
0,8,12,1,18,1,14,3,14,1,6,1,6,1,12,1,
|
||||
2,1,18,1,14,1,10,5,8,1,12,1,10,1,8,1,
|
||||
10,1,122,33,95,90,105,112,73,109,112,111,114,116,82,101,
|
||||
115,111,117,114,99,101,82,101,97,100,101,114,46,99,111,110,
|
||||
116,101,110,116,115,78,41,10,114,6,0,0,0,114,7,0,
|
||||
0,0,114,8,0,0,0,114,84,0,0,0,114,81,0,0,
|
||||
0,114,34,0,0,0,114,182,0,0,0,114,183,0,0,0,
|
||||
114,184,0,0,0,114,189,0,0,0,114,9,0,0,0,114,
|
||||
9,0,0,0,114,9,0,0,0,114,10,0,0,0,114,80,
|
||||
0,0,0,212,2,0,0,115,14,0,0,0,8,5,4,1,
|
||||
4,2,8,4,8,9,8,6,8,11,114,80,0,0,0,41,
|
||||
45,114,84,0,0,0,90,26,95,102,114,111,122,101,110,95,
|
||||
105,109,112,111,114,116,108,105,98,95,101,120,116,101,114,110,
|
||||
97,108,114,21,0,0,0,114,1,0,0,0,114,2,0,0,
|
||||
0,90,17,95,102,114,111,122,101,110,95,105,109,112,111,114,
|
||||
116,108,105,98,114,76,0,0,0,114,149,0,0,0,114,111,
|
||||
0,0,0,114,153,0,0,0,114,67,0,0,0,114,132,0,
|
||||
0,0,90,7,95,95,97,108,108,95,95,114,20,0,0,0,
|
||||
90,15,112,97,116,104,95,115,101,112,97,114,97,116,111,114,
|
||||
115,114,18,0,0,0,114,75,0,0,0,114,3,0,0,0,
|
||||
114,25,0,0,0,218,4,116,121,112,101,114,70,0,0,0,
|
||||
114,114,0,0,0,114,116,0,0,0,114,118,0,0,0,114,
|
||||
4,0,0,0,114,89,0,0,0,114,36,0,0,0,114,37,
|
||||
0,0,0,114,35,0,0,0,114,27,0,0,0,114,123,0,
|
||||
0,0,114,143,0,0,0,114,145,0,0,0,114,52,0,0,
|
||||
0,114,148,0,0,0,114,156,0,0,0,218,8,95,95,99,
|
||||
111,100,101,95,95,114,154,0,0,0,114,160,0,0,0,114,
|
||||
162,0,0,0,114,170,0,0,0,114,152,0,0,0,114,150,
|
||||
0,0,0,114,44,0,0,0,114,80,0,0,0,114,9,0,
|
||||
2,0,2,249,114,170,0,0,0,99,2,0,0,0,0,0,
|
||||
0,0,6,0,0,0,10,0,0,0,67,0,0,0,115,116,
|
||||
0,0,0,122,82,124,1,100,1,100,0,133,2,25,0,100,
|
||||
2,107,6,115,22,116,0,130,1,124,1,100,0,100,1,133,
|
||||
2,25,0,125,1,124,0,106,1,124,1,25,0,125,2,124,
|
||||
2,100,3,25,0,125,3,124,2,100,4,25,0,125,4,124,
|
||||
2,100,5,25,0,125,5,116,2,124,4,124,3,131,2,124,
|
||||
5,102,2,87,0,83,0,4,0,116,3,116,4,116,5,102,
|
||||
3,107,10,114,110,1,0,1,0,1,0,89,0,100,6,83,
|
||||
0,88,0,100,0,83,0,41,7,78,114,14,0,0,0,169,
|
||||
2,218,1,99,218,1,111,114,164,0,0,0,233,6,0,0,
|
||||
0,233,3,0,0,0,41,2,114,0,0,0,0,114,0,0,
|
||||
0,0,41,6,218,14,65,115,115,101,114,116,105,111,110,69,
|
||||
114,114,111,114,114,28,0,0,0,114,170,0,0,0,114,26,
|
||||
0,0,0,218,10,73,110,100,101,120,69,114,114,111,114,114,
|
||||
155,0,0,0,41,6,114,32,0,0,0,114,13,0,0,0,
|
||||
114,54,0,0,0,114,132,0,0,0,114,133,0,0,0,90,
|
||||
17,117,110,99,111,109,112,114,101,115,115,101,100,95,115,105,
|
||||
122,101,114,9,0,0,0,114,9,0,0,0,114,10,0,0,
|
||||
0,114,152,0,0,0,152,2,0,0,115,20,0,0,0,0,
|
||||
1,2,2,20,1,12,1,10,3,8,1,8,1,8,1,16,
|
||||
1,20,1,114,152,0,0,0,99,2,0,0,0,0,0,0,
|
||||
0,3,0,0,0,8,0,0,0,67,0,0,0,115,86,0,
|
||||
0,0,124,1,100,1,100,0,133,2,25,0,100,2,107,6,
|
||||
115,20,116,0,130,1,124,1,100,0,100,1,133,2,25,0,
|
||||
125,1,122,14,124,0,106,1,124,1,25,0,125,2,87,0,
|
||||
110,22,4,0,116,2,107,10,114,68,1,0,1,0,1,0,
|
||||
89,0,100,0,83,0,88,0,116,3,124,0,106,4,124,2,
|
||||
131,2,83,0,100,0,83,0,41,3,78,114,14,0,0,0,
|
||||
114,171,0,0,0,41,5,114,176,0,0,0,114,28,0,0,
|
||||
0,114,26,0,0,0,114,52,0,0,0,114,29,0,0,0,
|
||||
41,3,114,32,0,0,0,114,13,0,0,0,114,54,0,0,
|
||||
0,114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,
|
||||
114,150,0,0,0,171,2,0,0,115,14,0,0,0,0,2,
|
||||
20,1,12,2,2,1,14,1,14,1,8,2,114,150,0,0,
|
||||
0,99,2,0,0,0,0,0,0,0,11,0,0,0,9,0,
|
||||
0,0,67,0,0,0,115,198,0,0,0,116,0,124,0,124,
|
||||
1,131,2,125,2,116,1,68,0,93,160,92,3,125,3,125,
|
||||
4,125,5,124,2,124,3,23,0,125,6,116,2,106,3,100,
|
||||
1,124,0,106,4,116,5,124,6,100,2,100,3,141,5,1,
|
||||
0,122,14,124,0,106,6,124,6,25,0,125,7,87,0,110,
|
||||
20,4,0,116,7,107,10,114,88,1,0,1,0,1,0,89,
|
||||
0,113,14,88,0,124,7,100,4,25,0,125,8,116,8,124,
|
||||
0,106,4,124,7,131,2,125,9,124,4,114,132,116,9,124,
|
||||
0,124,8,124,6,124,1,124,9,131,5,125,10,110,10,116,
|
||||
10,124,8,124,9,131,2,125,10,124,10,100,0,107,8,114,
|
||||
152,113,14,124,7,100,4,25,0,125,8,124,10,124,5,124,
|
||||
8,102,3,2,0,1,0,83,0,113,14,116,11,100,5,124,
|
||||
1,155,2,157,2,124,1,100,6,141,2,130,1,100,0,83,
|
||||
0,41,7,78,122,13,116,114,121,105,110,103,32,123,125,123,
|
||||
125,123,125,114,86,0,0,0,41,1,90,9,118,101,114,98,
|
||||
111,115,105,116,121,114,0,0,0,0,114,57,0,0,0,114,
|
||||
58,0,0,0,41,12,114,36,0,0,0,114,89,0,0,0,
|
||||
114,76,0,0,0,114,77,0,0,0,114,29,0,0,0,114,
|
||||
20,0,0,0,114,28,0,0,0,114,26,0,0,0,114,52,
|
||||
0,0,0,114,156,0,0,0,114,162,0,0,0,114,3,0,
|
||||
0,0,41,11,114,32,0,0,0,114,38,0,0,0,114,13,
|
||||
0,0,0,114,90,0,0,0,114,91,0,0,0,114,47,0,
|
||||
0,0,114,63,0,0,0,114,54,0,0,0,114,40,0,0,
|
||||
0,114,127,0,0,0,114,46,0,0,0,114,9,0,0,0,
|
||||
114,9,0,0,0,114,10,0,0,0,114,44,0,0,0,186,
|
||||
2,0,0,115,36,0,0,0,0,1,10,1,14,1,8,1,
|
||||
22,1,2,1,14,1,14,1,6,2,8,1,12,1,4,1,
|
||||
18,2,10,1,8,3,2,1,8,1,16,2,114,44,0,0,
|
||||
0,99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,
|
||||
0,0,64,0,0,0,115,60,0,0,0,101,0,90,1,100,
|
||||
0,90,2,100,1,90,3,100,2,90,4,100,3,100,4,132,
|
||||
0,90,5,100,5,100,6,132,0,90,6,100,7,100,8,132,
|
||||
0,90,7,100,9,100,10,132,0,90,8,100,11,100,12,132,
|
||||
0,90,9,100,13,83,0,41,14,114,80,0,0,0,122,165,
|
||||
80,114,105,118,97,116,101,32,99,108,97,115,115,32,117,115,
|
||||
101,100,32,116,111,32,115,117,112,112,111,114,116,32,90,105,
|
||||
112,73,109,112,111,114,116,46,103,101,116,95,114,101,115,111,
|
||||
117,114,99,101,95,114,101,97,100,101,114,40,41,46,10,10,
|
||||
32,32,32,32,84,104,105,115,32,99,108,97,115,115,32,105,
|
||||
115,32,97,108,108,111,119,101,100,32,116,111,32,114,101,102,
|
||||
101,114,101,110,99,101,32,97,108,108,32,116,104,101,32,105,
|
||||
110,110,97,114,100,115,32,97,110,100,32,112,114,105,118,97,
|
||||
116,101,32,112,97,114,116,115,32,111,102,10,32,32,32,32,
|
||||
116,104,101,32,122,105,112,105,109,112,111,114,116,101,114,46,
|
||||
10,32,32,32,32,70,99,3,0,0,0,0,0,0,0,3,
|
||||
0,0,0,2,0,0,0,67,0,0,0,115,16,0,0,0,
|
||||
124,1,124,0,95,0,124,2,124,0,95,1,100,0,83,0,
|
||||
114,88,0,0,0,41,2,114,4,0,0,0,114,38,0,0,
|
||||
0,41,3,114,32,0,0,0,114,4,0,0,0,114,38,0,
|
||||
0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,0,
|
||||
0,218,8,60,109,111,100,117,108,101,62,13,0,0,0,115,
|
||||
90,0,0,0,4,4,8,1,16,1,8,1,8,1,8,1,
|
||||
8,1,8,1,8,2,8,3,6,1,14,3,16,4,4,2,
|
||||
8,2,4,1,4,1,4,2,14,127,0,127,0,1,12,1,
|
||||
12,1,2,1,2,253,2,255,2,9,8,4,8,9,8,31,
|
||||
8,126,2,254,2,29,4,5,8,21,8,46,8,10,8,46,
|
||||
10,5,8,7,8,6,8,13,8,19,8,15,8,26,
|
||||
0,114,34,0,0,0,220,2,0,0,115,4,0,0,0,0,
|
||||
1,6,1,122,33,95,90,105,112,73,109,112,111,114,116,82,
|
||||
101,115,111,117,114,99,101,82,101,97,100,101,114,46,95,95,
|
||||
105,110,105,116,95,95,99,2,0,0,0,0,0,0,0,5,
|
||||
0,0,0,8,0,0,0,67,0,0,0,115,92,0,0,0,
|
||||
124,0,106,0,160,1,100,1,100,2,161,2,125,2,124,2,
|
||||
155,0,100,2,124,1,155,0,157,3,125,3,100,3,100,4,
|
||||
108,2,109,3,125,4,1,0,122,18,124,4,124,0,106,4,
|
||||
160,5,124,3,161,1,131,1,87,0,83,0,4,0,116,6,
|
||||
107,10,114,86,1,0,1,0,1,0,116,7,124,3,131,1,
|
||||
130,1,89,0,110,2,88,0,100,0,83,0,41,5,78,114,
|
||||
85,0,0,0,114,110,0,0,0,114,0,0,0,0,41,1,
|
||||
218,7,66,121,116,101,115,73,79,41,8,114,38,0,0,0,
|
||||
114,19,0,0,0,90,2,105,111,114,178,0,0,0,114,4,
|
||||
0,0,0,114,55,0,0,0,114,22,0,0,0,218,17,70,
|
||||
105,108,101,78,111,116,70,111,117,110,100,69,114,114,111,114,
|
||||
41,5,114,32,0,0,0,218,8,114,101,115,111,117,114,99,
|
||||
101,218,16,102,117,108,108,110,97,109,101,95,97,115,95,112,
|
||||
97,116,104,114,13,0,0,0,114,178,0,0,0,114,9,0,
|
||||
0,0,114,9,0,0,0,114,10,0,0,0,218,13,111,112,
|
||||
101,110,95,114,101,115,111,117,114,99,101,224,2,0,0,115,
|
||||
14,0,0,0,0,1,14,1,14,1,12,1,2,1,18,1,
|
||||
14,1,122,38,95,90,105,112,73,109,112,111,114,116,82,101,
|
||||
115,111,117,114,99,101,82,101,97,100,101,114,46,111,112,101,
|
||||
110,95,114,101,115,111,117,114,99,101,99,2,0,0,0,0,
|
||||
0,0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,
|
||||
8,0,0,0,116,0,130,1,100,0,83,0,114,88,0,0,
|
||||
0,41,1,114,179,0,0,0,41,2,114,32,0,0,0,114,
|
||||
180,0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,
|
||||
0,0,0,218,13,114,101,115,111,117,114,99,101,95,112,97,
|
||||
116,104,233,2,0,0,115,2,0,0,0,0,4,122,38,95,
|
||||
90,105,112,73,109,112,111,114,116,82,101,115,111,117,114,99,
|
||||
101,82,101,97,100,101,114,46,114,101,115,111,117,114,99,101,
|
||||
95,112,97,116,104,99,2,0,0,0,0,0,0,0,4,0,
|
||||
0,0,8,0,0,0,67,0,0,0,115,72,0,0,0,124,
|
||||
0,106,0,160,1,100,1,100,2,161,2,125,2,124,2,155,
|
||||
0,100,2,124,1,155,0,157,3,125,3,122,16,124,0,106,
|
||||
2,160,3,124,3,161,1,1,0,87,0,110,22,4,0,116,
|
||||
4,107,10,114,66,1,0,1,0,1,0,89,0,100,3,83,
|
||||
0,88,0,100,4,83,0,41,5,78,114,85,0,0,0,114,
|
||||
110,0,0,0,70,84,41,5,114,38,0,0,0,114,19,0,
|
||||
0,0,114,4,0,0,0,114,55,0,0,0,114,22,0,0,
|
||||
0,41,4,114,32,0,0,0,114,59,0,0,0,114,181,0,
|
||||
0,0,114,13,0,0,0,114,9,0,0,0,114,9,0,0,
|
||||
0,114,10,0,0,0,218,11,105,115,95,114,101,115,111,117,
|
||||
114,99,101,239,2,0,0,115,14,0,0,0,0,3,14,1,
|
||||
14,1,2,1,16,1,14,1,8,1,122,36,95,90,105,112,
|
||||
73,109,112,111,114,116,82,101,115,111,117,114,99,101,82,101,
|
||||
97,100,101,114,46,105,115,95,114,101,115,111,117,114,99,101,
|
||||
99,1,0,0,0,0,0,0,0,9,0,0,0,9,0,0,
|
||||
0,99,0,0,0,115,186,0,0,0,100,1,100,2,108,0,
|
||||
109,1,125,1,1,0,124,1,124,0,106,2,160,3,124,0,
|
||||
106,4,161,1,131,1,125,2,124,2,160,5,124,0,106,2,
|
||||
106,6,161,1,125,3,124,3,106,7,100,3,107,2,115,58,
|
||||
116,8,130,1,124,3,106,9,125,4,116,10,131,0,125,5,
|
||||
124,0,106,2,106,11,68,0,93,102,125,6,122,18,124,1,
|
||||
124,6,131,1,160,5,124,4,161,1,125,7,87,0,110,24,
|
||||
4,0,116,12,107,10,114,124,1,0,1,0,1,0,89,0,
|
||||
113,78,89,0,110,2,88,0,124,7,106,9,106,7,125,8,
|
||||
116,13,124,8,131,1,100,1,107,2,114,156,124,7,106,7,
|
||||
86,0,1,0,113,78,124,8,124,5,107,7,114,78,124,5,
|
||||
160,14,124,8,161,1,1,0,124,8,86,0,1,0,113,78,
|
||||
100,0,83,0,41,4,78,114,0,0,0,0,41,1,218,4,
|
||||
80,97,116,104,114,60,0,0,0,41,15,90,7,112,97,116,
|
||||
104,108,105,98,114,185,0,0,0,114,4,0,0,0,114,56,
|
||||
0,0,0,114,38,0,0,0,90,11,114,101,108,97,116,105,
|
||||
118,101,95,116,111,114,29,0,0,0,114,59,0,0,0,114,
|
||||
176,0,0,0,90,6,112,97,114,101,110,116,218,3,115,101,
|
||||
116,114,28,0,0,0,114,23,0,0,0,114,51,0,0,0,
|
||||
218,3,97,100,100,41,9,114,32,0,0,0,114,185,0,0,
|
||||
0,90,13,102,117,108,108,110,97,109,101,95,112,97,116,104,
|
||||
90,13,114,101,108,97,116,105,118,101,95,112,97,116,104,90,
|
||||
12,112,97,99,107,97,103,101,95,112,97,116,104,90,12,115,
|
||||
117,98,100,105,114,115,95,115,101,101,110,218,8,102,105,108,
|
||||
101,110,97,109,101,90,8,114,101,108,97,116,105,118,101,90,
|
||||
11,112,97,114,101,110,116,95,110,97,109,101,114,9,0,0,
|
||||
0,114,9,0,0,0,114,10,0,0,0,218,8,99,111,110,
|
||||
116,101,110,116,115,250,2,0,0,115,34,0,0,0,0,8,
|
||||
12,1,18,1,14,3,14,1,6,1,6,1,12,1,2,1,
|
||||
18,1,14,1,10,5,8,1,12,1,10,1,8,1,10,1,
|
||||
122,33,95,90,105,112,73,109,112,111,114,116,82,101,115,111,
|
||||
117,114,99,101,82,101,97,100,101,114,46,99,111,110,116,101,
|
||||
110,116,115,78,41,10,114,6,0,0,0,114,7,0,0,0,
|
||||
114,8,0,0,0,114,84,0,0,0,114,81,0,0,0,114,
|
||||
34,0,0,0,114,182,0,0,0,114,183,0,0,0,114,184,
|
||||
0,0,0,114,189,0,0,0,114,9,0,0,0,114,9,0,
|
||||
0,0,114,9,0,0,0,114,10,0,0,0,114,80,0,0,
|
||||
0,212,2,0,0,115,14,0,0,0,8,5,4,1,4,2,
|
||||
8,4,8,9,8,6,8,11,114,80,0,0,0,41,45,114,
|
||||
84,0,0,0,90,26,95,102,114,111,122,101,110,95,105,109,
|
||||
112,111,114,116,108,105,98,95,101,120,116,101,114,110,97,108,
|
||||
114,21,0,0,0,114,1,0,0,0,114,2,0,0,0,90,
|
||||
17,95,102,114,111,122,101,110,95,105,109,112,111,114,116,108,
|
||||
105,98,114,76,0,0,0,114,149,0,0,0,114,111,0,0,
|
||||
0,114,153,0,0,0,114,67,0,0,0,114,132,0,0,0,
|
||||
90,7,95,95,97,108,108,95,95,114,20,0,0,0,90,15,
|
||||
112,97,116,104,95,115,101,112,97,114,97,116,111,114,115,114,
|
||||
18,0,0,0,114,75,0,0,0,114,3,0,0,0,114,25,
|
||||
0,0,0,218,4,116,121,112,101,114,70,0,0,0,114,114,
|
||||
0,0,0,114,116,0,0,0,114,118,0,0,0,114,4,0,
|
||||
0,0,114,89,0,0,0,114,36,0,0,0,114,37,0,0,
|
||||
0,114,35,0,0,0,114,27,0,0,0,114,123,0,0,0,
|
||||
114,143,0,0,0,114,145,0,0,0,114,52,0,0,0,114,
|
||||
148,0,0,0,114,156,0,0,0,218,8,95,95,99,111,100,
|
||||
101,95,95,114,154,0,0,0,114,160,0,0,0,114,162,0,
|
||||
0,0,114,170,0,0,0,114,152,0,0,0,114,150,0,0,
|
||||
0,114,44,0,0,0,114,80,0,0,0,114,9,0,0,0,
|
||||
114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,218,
|
||||
8,60,109,111,100,117,108,101,62,13,0,0,0,115,88,0,
|
||||
0,0,4,4,8,1,16,1,8,1,8,1,8,1,8,1,
|
||||
8,1,8,2,8,3,6,1,14,3,16,4,4,2,8,2,
|
||||
4,1,4,1,4,2,14,127,0,127,0,1,12,1,12,1,
|
||||
2,1,2,252,4,9,8,4,8,9,8,31,8,126,2,254,
|
||||
2,29,4,5,8,21,8,46,8,10,8,46,10,5,8,7,
|
||||
8,6,8,13,8,19,8,15,8,26,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue