Lines Matching refs:con
231 _PyCode_Validate(struct _PyCodeConstructor *con)
234 if (con->argcount < con->posonlyargcount || con->posonlyargcount < 0 ||
235 con->kwonlyargcount < 0 ||
236 con->stacksize < 0 || con->flags < 0 ||
237 con->code == NULL || !PyBytes_Check(con->code) ||
238 con->consts == NULL || !PyTuple_Check(con->consts) ||
239 con->names == NULL || !PyTuple_Check(con->names) ||
240 con->localsplusnames == NULL || !PyTuple_Check(con->localsplusnames) ||
241 con->localspluskinds == NULL || !PyBytes_Check(con->localspluskinds) ||
242 PyTuple_GET_SIZE(con->localsplusnames)
243 != PyBytes_GET_SIZE(con->localspluskinds) ||
244 con->name == NULL || !PyUnicode_Check(con->name) ||
245 con->qualname == NULL || !PyUnicode_Check(con->qualname) ||
246 con->filename == NULL || !PyUnicode_Check(con->filename) ||
247 con->linetable == NULL || !PyBytes_Check(con->linetable) ||
248 con->exceptiontable == NULL || !PyBytes_Check(con->exceptiontable)
257 if (PyBytes_GET_SIZE(con->code) > INT_MAX) {
262 if (PyBytes_GET_SIZE(con->code) % sizeof(_Py_CODEUNIT) != 0 ||
263 !_Py_IS_ALIGNED(PyBytes_AS_STRING(con->code), sizeof(_Py_CODEUNIT))
273 get_localsplus_counts(con->localsplusnames, con->localspluskinds,
276 con->argcount -
277 con->kwonlyargcount -
278 ((con->flags & CO_VARARGS) != 0) -
279 ((con->flags & CO_VARKEYWORDS) != 0);
289 init_code(PyCodeObject *co, struct _PyCodeConstructor *con)
291 int nlocalsplus = (int)PyTuple_GET_SIZE(con->localsplusnames);
293 get_localsplus_counts(con->localsplusnames, con->localspluskinds,
296 Py_INCREF(con->filename);
297 co->co_filename = con->filename;
298 Py_INCREF(con->name);
299 co->co_name = con->name;
300 Py_INCREF(con->qualname);
301 co->co_qualname = con->qualname;
302 co->co_flags = con->flags;
304 co->co_firstlineno = con->firstlineno;
305 Py_INCREF(con->linetable);
306 co->co_linetable = con->linetable;
308 Py_INCREF(con->consts);
309 co->co_consts = con->consts;
310 Py_INCREF(con->names);
311 co->co_names = con->names;
313 Py_INCREF(con->localsplusnames);
314 co->co_localsplusnames = con->localsplusnames;
315 Py_INCREF(con->localspluskinds);
316 co->co_localspluskinds = con->localspluskinds;
318 co->co_argcount = con->argcount;
319 co->co_posonlyargcount = con->posonlyargcount;
320 co->co_kwonlyargcount = con->kwonlyargcount;
322 co->co_stacksize = con->stacksize;
324 Py_INCREF(con->exceptiontable);
325 co->co_exceptiontable = con->exceptiontable;
342 memcpy(_PyCode_CODE(co), PyBytes_AS_STRING(con->code),
343 PyBytes_GET_SIZE(con->code));
446 _PyCode_New(struct _PyCodeConstructor *con)
449 if (PyUnicode_READY(con->name) < 0) {
452 if (PyUnicode_READY(con->qualname) < 0) {
455 if (PyUnicode_READY(con->filename) < 0) {
459 if (intern_strings(con->names) < 0) {
462 if (intern_string_constants(con->consts, NULL) < 0) {
465 if (intern_strings(con->localsplusnames) < 0) {
473 replacement_locations = remove_column_info(con->linetable);
477 con->linetable = replacement_locations;
480 Py_ssize_t size = PyBytes_GET_SIZE(con->code) / sizeof(_Py_CODEUNIT);
487 init_code(co, con);
574 struct _PyCodeConstructor con = {
599 if (_PyCode_Validate(&con) < 0) {
610 co = _PyCode_New(&con);
687 struct _PyCodeConstructor con = {
701 result = _PyCode_New(&con);