mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	gh-135755: Move PyFunction_GET_BUILTINS to the private API (GH-135938)
				
					
				
			This commit is contained in:
		
							parent
							
								
									a1da208eec
								
							
						
					
					
						commit
						10a3d43188
					
				
					 4 changed files with 9 additions and 8 deletions
				
			
		|  | @ -97,11 +97,6 @@ static inline PyObject* PyFunction_GET_GLOBALS(PyObject *func) { | |||
| } | ||||
| #define PyFunction_GET_GLOBALS(func) PyFunction_GET_GLOBALS(_PyObject_CAST(func)) | ||||
| 
 | ||||
| static inline PyObject* PyFunction_GET_BUILTINS(PyObject *func) { | ||||
|     return _PyFunction_CAST(func)->func_builtins; | ||||
| } | ||||
| #define PyFunction_GET_BUILTINS(func) PyFunction_GET_BUILTINS(_PyObject_CAST(func)) | ||||
| 
 | ||||
| static inline PyObject* PyFunction_GET_MODULE(PyObject *func) { | ||||
|     return _PyFunction_CAST(func)->func_module; | ||||
| } | ||||
|  |  | |||
|  | @ -41,6 +41,11 @@ extern PyObject *_Py_set_function_type_params( | |||
| PyAPI_FUNC(int) | ||||
| _PyFunction_VerifyStateless(PyThreadState *, PyObject *); | ||||
| 
 | ||||
| static inline PyObject* _PyFunction_GET_BUILTINS(PyObject *func) { | ||||
|     return _PyFunction_CAST(func)->func_builtins; | ||||
| } | ||||
| #define _PyFunction_GET_BUILTINS(func) _PyFunction_GET_BUILTINS(_PyObject_CAST(func)) | ||||
| 
 | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|  |  | |||
|  | @ -21,6 +21,7 @@ | |||
| #include "pycore_fileutils.h"     // _Py_normpath() | ||||
| #include "pycore_flowgraph.h"     // _PyCompile_OptimizeCfg() | ||||
| #include "pycore_frame.h"         // _PyInterpreterFrame | ||||
| #include "pycore_function.h"      // _PyFunction_GET_BUILTINS | ||||
| #include "pycore_gc.h"            // PyGC_Head | ||||
| #include "pycore_hashtable.h"     // _Py_hashtable_new() | ||||
| #include "pycore_import.h"        // _PyImport_ClearExtension() | ||||
|  | @ -1022,7 +1023,7 @@ get_code_var_counts(PyObject *self, PyObject *_args, PyObject *_kwargs) | |||
|             globalsns = PyFunction_GET_GLOBALS(codearg); | ||||
|         } | ||||
|         if (builtinsns == NULL) { | ||||
|             builtinsns = PyFunction_GET_BUILTINS(codearg); | ||||
|             builtinsns = _PyFunction_GET_BUILTINS(codearg); | ||||
|         } | ||||
|         codearg = PyFunction_GET_CODE(codearg); | ||||
|     } | ||||
|  | @ -1190,7 +1191,7 @@ verify_stateless_code(PyObject *self, PyObject *args, PyObject *kwargs) | |||
|             globalsns = PyFunction_GET_GLOBALS(codearg); | ||||
|         } | ||||
|         if (builtinsns == NULL) { | ||||
|             builtinsns = PyFunction_GET_BUILTINS(codearg); | ||||
|             builtinsns = _PyFunction_GET_BUILTINS(codearg); | ||||
|         } | ||||
|         codearg = PyFunction_GET_CODE(codearg); | ||||
|     } | ||||
|  |  | |||
|  | @ -1256,7 +1256,7 @@ _PyFunction_VerifyStateless(PyThreadState *tstate, PyObject *func) | |||
|         return -1; | ||||
|     } | ||||
|     // Check the builtins.
 | ||||
|     PyObject *builtinsns = PyFunction_GET_BUILTINS(func); | ||||
|     PyObject *builtinsns = _PyFunction_GET_BUILTINS(func); | ||||
|     if (builtinsns != NULL && !PyDict_Check(builtinsns)) { | ||||
|         _PyErr_Format(tstate, PyExc_TypeError, | ||||
|                       "unsupported builtins %R", builtinsns); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Peter Bierma
						Peter Bierma