diff options
author | Victor Stinner <vstinner@python.org> | 2022-11-10 14:30:05 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-10 14:30:05 (GMT) |
commit | 4ce2a202c7b573edaa0ee4a2315d5578f66737c5 (patch) | |
tree | 306b0a880ccfd96f3953d507fd7d23822c478462 /Parser | |
parent | 1e197e63e21f77b102ff2601a549dda4b6439455 (diff) | |
download | cpython-4ce2a202c7b573edaa0ee4a2315d5578f66737c5.zip cpython-4ce2a202c7b573edaa0ee4a2315d5578f66737c5.tar.gz cpython-4ce2a202c7b573edaa0ee4a2315d5578f66737c5.tar.bz2 |
gh-99300: Use Py_NewRef() in Parser/ directory (#99330)
Replace Py_INCREF() with Py_NewRef() in C files of the Parser/
directory and in the PEG generator.
Diffstat (limited to 'Parser')
-rw-r--r-- | Parser/pegen.c | 6 | ||||
-rw-r--r-- | Parser/string_parser.c | 4 | ||||
-rw-r--r-- | Parser/tokenizer.c | 3 |
3 files changed, 4 insertions, 9 deletions
diff --git a/Parser/pegen.c b/Parser/pegen.c index 1317606..d34a86e 100644 --- a/Parser/pegen.c +++ b/Parser/pegen.c @@ -885,8 +885,7 @@ _PyPegen_run_parser_from_file_pointer(FILE *fp, int start_rule, PyObject *filena tok->fp_interactive = 1; } // This transfers the ownership to the tokenizer - tok->filename = filename_ob; - Py_INCREF(filename_ob); + tok->filename = Py_NewRef(filename_ob); // From here on we need to clean up even if there's an error mod_ty result = NULL; @@ -925,8 +924,7 @@ _PyPegen_run_parser_from_string(const char *str, int start_rule, PyObject *filen return NULL; } // This transfers the ownership to the tokenizer - tok->filename = filename_ob; - Py_INCREF(filename_ob); + tok->filename = Py_NewRef(filename_ob); // We need to clear up from here on mod_ty result = NULL; diff --git a/Parser/string_parser.c b/Parser/string_parser.c index e13272c..c096bea 100644 --- a/Parser/string_parser.c +++ b/Parser/string_parser.c @@ -417,9 +417,7 @@ fstring_compile_expr(Parser *p, const char *expr_start, const char *expr_end, PyMem_Free(str); return NULL; } - Py_INCREF(p->tok->filename); - - tok->filename = p->tok->filename; + tok->filename = Py_NewRef(p->tok->filename); tok->lineno = t->lineno + lines - 1; Parser *p2 = _PyPegen_Parser_New(tok, Py_fstring_input, p->flags, p->feature_version, diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index 1c356d3..f2131cf 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -2223,8 +2223,7 @@ _PyTokenizer_FindEncodingFilename(int fd, PyObject *filename) return NULL; } if (filename != NULL) { - Py_INCREF(filename); - tok->filename = filename; + tok->filename = Py_NewRef(filename); } else { tok->filename = PyUnicode_FromString("<string>"); |