Lines Matching refs:op
16 PyFunctionObject *op = PyObject_GC_New(PyFunctionObject, &PyFunction_Type);
17 if (op == NULL) {
21 op->func_globals = constr->fc_globals;
23 op->func_builtins = constr->fc_builtins;
25 op->func_name = constr->fc_name;
27 op->func_qualname = constr->fc_qualname;
29 op->func_code = constr->fc_code;
31 op->func_defaults = constr->fc_defaults;
33 op->func_kwdefaults = constr->fc_kwdefaults;
35 op->func_closure = constr->fc_closure;
37 op->func_doc = Py_None;
38 op->func_dict = NULL;
39 op->func_weakreflist = NULL;
40 op->func_module = NULL;
41 op->func_annotations = NULL;
42 op->vectorcall = _PyFunction_Vectorcall;
43 op->func_version = 0;
44 _PyObject_GC_TRACK(op);
45 return op;
98 PyFunctionObject *op = PyObject_GC_New(PyFunctionObject, &PyFunction_Type);
99 if (op == NULL) {
105 op->func_globals = globals;
106 op->func_builtins = builtins;
107 op->func_name = name;
108 op->func_qualname = qualname;
109 op->func_code = (PyObject*)code_obj;
110 op->func_defaults = NULL; // No default positional arguments
111 op->func_kwdefaults = NULL; // No default keyword arguments
112 op->func_closure = NULL;
113 op->func_doc = doc;
114 op->func_dict = NULL;
115 op->func_weakreflist = NULL;
116 op->func_module = module;
117 op->func_annotations = NULL;
118 op->vectorcall = _PyFunction_Vectorcall;
119 op->func_version = 0;
120 _PyObject_GC_TRACK(op);
121 return (PyObject *)op;
154 PyFunction_GetCode(PyObject *op)
156 if (!PyFunction_Check(op)) {
160 return ((PyFunctionObject *) op) -> func_code;
164 PyFunction_GetGlobals(PyObject *op)
166 if (!PyFunction_Check(op)) {
170 return ((PyFunctionObject *) op) -> func_globals;
174 PyFunction_GetModule(PyObject *op)
176 if (!PyFunction_Check(op)) {
180 return ((PyFunctionObject *) op) -> func_module;
184 PyFunction_GetDefaults(PyObject *op)
186 if (!PyFunction_Check(op)) {
190 return ((PyFunctionObject *) op) -> func_defaults;
194 PyFunction_SetDefaults(PyObject *op, PyObject *defaults)
196 if (!PyFunction_Check(op)) {
209 ((PyFunctionObject *)op)->func_version = 0;
210 Py_XSETREF(((PyFunctionObject *)op)->func_defaults, defaults);
215 PyFunction_GetKwDefaults(PyObject *op)
217 if (!PyFunction_Check(op)) {
221 return ((PyFunctionObject *) op) -> func_kwdefaults;
225 PyFunction_SetKwDefaults(PyObject *op, PyObject *defaults)
227 if (!PyFunction_Check(op)) {
241 ((PyFunctionObject *)op)->func_version = 0;
242 Py_XSETREF(((PyFunctionObject *)op)->func_kwdefaults, defaults);
247 PyFunction_GetClosure(PyObject *op)
249 if (!PyFunction_Check(op)) {
253 return ((PyFunctionObject *) op) -> func_closure;
257 PyFunction_SetClosure(PyObject *op, PyObject *closure)
259 if (!PyFunction_Check(op)) {
274 ((PyFunctionObject *)op)->func_version = 0;
275 Py_XSETREF(((PyFunctionObject *)op)->func_closure, closure);
280 func_get_annotation_dict(PyFunctionObject *op)
282 if (op->func_annotations == NULL) {
285 if (PyTuple_CheckExact(op->func_annotations)) {
286 PyObject *ann_tuple = op->func_annotations;
303 Py_SETREF(op->func_annotations, ann_dict);
305 assert(PyDict_Check(op->func_annotations));
306 return op->func_annotations;
310 PyFunction_GetAnnotations(PyObject *op)
312 if (!PyFunction_Check(op)) {
316 return func_get_annotation_dict((PyFunctionObject *)op);
320 PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)
322 if (!PyFunction_Check(op)) {
336 ((PyFunctionObject *)op)->func_version = 0;
337 Py_XSETREF(((PyFunctionObject *)op)->func_annotations, annotations);
355 func_get_code(PyFunctionObject *op, void *Py_UNUSED(ignored))
357 if (PySys_Audit("object.__getattr__", "Os", op, "__code__") < 0) {
361 Py_INCREF(op->func_code);
362 return op->func_code;
366 func_set_code(PyFunctionObject *op, PyObject *value, void *Py_UNUSED(ignored))
380 op, "__code__", value) < 0) {
385 nclosure = (op->func_closure == NULL ? 0 :
386 PyTuple_GET_SIZE(op->func_closure));
391 op->func_name,
395 op->func_version = 0;
397 Py_XSETREF(op->func_code, value);
402 func_get_name(PyFunctionObject *op, void *Py_UNUSED(ignored))
404 Py_INCREF(op->func_name);
405 return op->func_name;
409 func_set_name(PyFunctionObject *op, PyObject *value, void *Py_UNUSED(ignored))
419 Py_XSETREF(op->func_name, value);
424 func_get_qualname(PyFunctionObject *op, void *Py_UNUSED(ignored))
426 Py_INCREF(op->func_qualname);
427 return op->func_qualname;
431 func_set_qualname(PyFunctionObject *op, PyObject *value, void *Py_UNUSED(ignored))
441 Py_XSETREF(op->func_qualname, value);
446 func_get_defaults(PyFunctionObject *op, void *Py_UNUSED(ignored))
448 if (PySys_Audit("object.__getattr__", "Os", op, "__defaults__") < 0) {
451 if (op->func_defaults == NULL) {
454 Py_INCREF(op->func_defaults);
455 return op->func_defaults;
459 func_set_defaults(PyFunctionObject *op, PyObject *value, void *Py_UNUSED(ignored))
472 op, "__defaults__", value) < 0) {
476 op, "__defaults__") < 0) {
480 op->func_version = 0;
482 Py_XSETREF(op->func_defaults, value);
487 func_get_kwdefaults(PyFunctionObject *op, void *Py_UNUSED(ignored))
490 op, "__kwdefaults__") < 0) {
493 if (op->func_kwdefaults == NULL) {
496 Py_INCREF(op->func_kwdefaults);
497 return op->func_kwdefaults;
501 func_set_kwdefaults(PyFunctionObject *op, PyObject *value, void *Py_UNUSED(ignored))
514 op, "__kwdefaults__", value) < 0) {
518 op, "__kwdefaults__") < 0) {
522 op->func_version = 0;
524 Py_XSETREF(op->func_kwdefaults, value);
529 func_get_annotations(PyFunctionObject *op, void *Py_UNUSED(ignored))
531 if (op->func_annotations == NULL) {
532 op->func_annotations = PyDict_New();
533 if (op->func_annotations == NULL)
536 PyObject *d = func_get_annotation_dict(op);
544 func_set_annotations(PyFunctionObject *op, PyObject *value, void *Py_UNUSED(ignored))
556 op->func_version = 0;
558 Py_XSETREF(op->func_annotations, value);
684 func_clear(PyFunctionObject *op)
686 op->func_version = 0;
687 Py_CLEAR(op->func_globals);
688 Py_CLEAR(op->func_builtins);
689 Py_CLEAR(op->func_module);
690 Py_CLEAR(op->func_defaults);
691 Py_CLEAR(op->func_kwdefaults);
692 Py_CLEAR(op->func_doc);
693 Py_CLEAR(op->func_dict);
694 Py_CLEAR(op->func_closure);
695 Py_CLEAR(op->func_annotations);
696 // Don't Py_CLEAR(op->func_code), since code is always required
701 Py_SETREF(op->func_name, Py_NewRef(&_Py_STR(empty)));
702 Py_SETREF(op->func_qualname, Py_NewRef(&_Py_STR(empty)));
707 func_dealloc(PyFunctionObject *op)
709 _PyObject_GC_UNTRACK(op);
710 if (op->func_weakreflist != NULL) {
711 PyObject_ClearWeakRefs((PyObject *) op);
713 (void)func_clear(op);
715 Py_DECREF(op->func_code);
716 Py_DECREF(op->func_name);
717 Py_DECREF(op->func_qualname);
718 PyObject_GC_Del(op);
722 func_repr(PyFunctionObject *op)
725 op->func_qualname, op);