Fixed problems in the last commit. Filenames and line numbers weren't reported correctly.
Backquotes still don't report the correct file. The AST nodes only contain the line number but not the file name.
This commit is contained in:
parent
729ab15370
commit
02c9ab568d
|
@ -983,15 +983,7 @@ PyToken_TwoChars(int c1, int c2)
|
||||||
break;
|
break;
|
||||||
case '<':
|
case '<':
|
||||||
switch (c2) {
|
switch (c2) {
|
||||||
case '>':
|
case '>': return NOTEQUAL;
|
||||||
{
|
|
||||||
#ifndef PGEN
|
|
||||||
if (Py_Py3kWarningFlag)
|
|
||||||
PyErr_WarnEx(PyExc_DeprecationWarning,
|
|
||||||
"<> not supported in 3.x", 1);
|
|
||||||
#endif
|
|
||||||
return NOTEQUAL;
|
|
||||||
}
|
|
||||||
case '=': return LESSEQUAL;
|
case '=': return LESSEQUAL;
|
||||||
case '<': return LEFTSHIFT;
|
case '<': return LEFTSHIFT;
|
||||||
}
|
}
|
||||||
|
@ -1485,6 +1477,16 @@ tok_get(register struct tok_state *tok, char **p_start, char **p_end)
|
||||||
{
|
{
|
||||||
int c2 = tok_nextc(tok);
|
int c2 = tok_nextc(tok);
|
||||||
int token = PyToken_TwoChars(c, c2);
|
int token = PyToken_TwoChars(c, c2);
|
||||||
|
#ifndef PGEN
|
||||||
|
if (token == NOTEQUAL && c == '<') {
|
||||||
|
if (PyErr_WarnExplicit(PyExc_DeprecationWarning,
|
||||||
|
"<> not supported in 3.x",
|
||||||
|
tok->filename, tok->lineno,
|
||||||
|
NULL, NULL)) {
|
||||||
|
return ERRORTOKEN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (token != OP) {
|
if (token != OP) {
|
||||||
int c3 = tok_nextc(tok);
|
int c3 = tok_nextc(tok);
|
||||||
int token3 = PyToken_ThreeChars(c, c2, c3);
|
int token3 = PyToken_ThreeChars(c, c2, c3);
|
||||||
|
|
12
Python/ast.c
12
Python/ast.c
|
@ -1336,10 +1336,14 @@ ast_for_atom(struct compiling *c, const node *n)
|
||||||
return Dict(keys, values, LINENO(n), n->n_col_offset, c->c_arena);
|
return Dict(keys, values, LINENO(n), n->n_col_offset, c->c_arena);
|
||||||
}
|
}
|
||||||
case BACKQUOTE: { /* repr */
|
case BACKQUOTE: { /* repr */
|
||||||
if (Py_Py3kWarningFlag &&
|
if (Py_Py3kWarningFlag) {
|
||||||
PyErr_Warn(PyExc_DeprecationWarning,
|
if (PyErr_WarnExplicit(PyExc_DeprecationWarning,
|
||||||
"backquote not supported in 3.x") < 0)
|
"backquote not supported in 3.x",
|
||||||
return NULL;
|
"<unknown>", LINENO(n),
|
||||||
|
NULL, NULL)) {
|
||||||
|
; //return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
expr_ty expression = ast_for_testlist(c, CHILD(n, 1));
|
expr_ty expression = ast_for_testlist(c, CHILD(n, 1));
|
||||||
if (!expression)
|
if (!expression)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue