Lines Matching refs:self

44     PyBaseExceptionObject *self;
46 self = (PyBaseExceptionObject *)type->tp_alloc(type, 0);
47 if (!self)
50 self->dict = NULL;
51 self->notes = NULL;
52 self->traceback = self->cause = self->context = NULL;
53 self->suppress_context = 0;
56 self->args = args;
58 return (PyObject *)self;
61 self->args = PyTuple_New(0);
62 if (!self->args) {
63 Py_DECREF(self);
67 return (PyObject *)self;
71 BaseException_init(PyBaseExceptionObject *self, PyObject *args, PyObject *kwds)
73 if (!_PyArg_NoKeywords(Py_TYPE(self)->tp_name, kwds))
77 Py_XSETREF(self->args, args);
83 BaseException_clear(PyBaseExceptionObject *self)
85 Py_CLEAR(self->dict);
86 Py_CLEAR(self->args);
87 Py_CLEAR(self->notes);
88 Py_CLEAR(self->traceback);
89 Py_CLEAR(self->cause);
90 Py_CLEAR(self->context);
95 BaseException_dealloc(PyBaseExceptionObject *self)
97 PyObject_GC_UnTrack(self);
101 Py_TRASHCAN_BEGIN(self, BaseException_dealloc)
102 BaseException_clear(self);
103 Py_TYPE(self)->tp_free((PyObject *)self);
108 BaseException_traverse(PyBaseExceptionObject *self, visitproc visit, void *arg)
110 Py_VISIT(self->dict);
111 Py_VISIT(self->args);
112 Py_VISIT(self->notes);
113 Py_VISIT(self->traceback);
114 Py_VISIT(self->cause);
115 Py_VISIT(self->context);
120 BaseException_str(PyBaseExceptionObject *self)
122 switch (PyTuple_GET_SIZE(self->args)) {
126 return PyObject_Str(PyTuple_GET_ITEM(self->args, 0));
128 return PyObject_Str(self->args);
133 BaseException_repr(PyBaseExceptionObject *self)
135 const char *name = _PyType_Name(Py_TYPE(self));
136 if (PyTuple_GET_SIZE(self->args) == 1)
138 PyTuple_GET_ITEM(self->args, 0));
140 return PyUnicode_FromFormat("%s%R", name, self->args);
145 BaseException_reduce(PyBaseExceptionObject *self, PyObject *Py_UNUSED(ignored))
147 if (self->args && self->dict)
148 return PyTuple_Pack(3, Py_TYPE(self), self->args, self->dict);
150 return PyTuple_Pack(2, Py_TYPE(self), self->args);
159 BaseException_setstate(PyObject *self, PyObject *state)
172 int res = PyObject_SetAttr(self, d_key, d_value);
184 BaseException_with_traceback(PyObject *self, PyObject *tb) {
185 if (PyException_SetTraceback(self, tb))
188 Py_INCREF(self);
189 return self;
194 set self.__traceback__ to tb and return self.");
204 BaseException_add_note(PyObject *self, PyObject *note)
213 if (!PyObject_HasAttr(self, &_Py_ID(__notes__))) {
218 if (PyObject_SetAttr(self, &_Py_ID(__notes__), new_notes) < 0) {
224 PyObject *notes = PyObject_GetAttr(self, &_Py_ID(__notes__));
256 BaseException_get_args(PyBaseExceptionObject *self, void *Py_UNUSED(ignored))
258 if (self->args == NULL) {
261 Py_INCREF(self->args);
262 return self->args;
266 BaseException_set_args(PyBaseExceptionObject *self, PyObject *val, void *Py_UNUSED(ignored))
276 Py_XSETREF(self->args, seq);
281 BaseException_get_tb(PyBaseExceptionObject *self, void *Py_UNUSED(ignored))
283 if (self->traceback == NULL) {
286 Py_INCREF(self->traceback);
287 return self->traceback;
291 BaseException_set_tb(PyBaseExceptionObject *self, PyObject *tb, void *Py_UNUSED(ignored))
304 Py_XSETREF(self->traceback, tb);
309 BaseException_get_context(PyObject *self, void *Py_UNUSED(ignored))
311 PyObject *res = PyException_GetContext(self);
318 BaseException_set_context(PyObject *self, PyObject *arg, void *Py_UNUSED(ignored))
333 PyException_SetContext(self, arg);
338 BaseException_get_cause(PyObject *self, void *Py_UNUSED(ignored))
340 PyObject *res = PyException_GetCause(self);
347 BaseException_set_cause(PyObject *self, PyObject *arg, void *Py_UNUSED(ignored))
362 PyException_SetCause(self, arg);
380 PyException_GetTraceback(PyObject *self)
382 PyBaseExceptionObject *base_self = _PyBaseExceptionObject_cast(self);
389 PyException_SetTraceback(PyObject *self, PyObject *tb)
391 return BaseException_set_tb(_PyBaseExceptionObject_cast(self), tb, NULL);
395 PyException_GetCause(PyObject *self)
397 PyObject *cause = _PyBaseExceptionObject_cast(self)->cause;
404 PyException_SetCause(PyObject *self, PyObject *cause)
406 PyBaseExceptionObject *base_self = _PyBaseExceptionObject_cast(self);
412 PyException_GetContext(PyObject *self)
414 PyObject *context = _PyBaseExceptionObject_cast(self)->context;
421 PyException_SetContext(PyObject *self, PyObject *context)
423 Py_XSETREF(_PyBaseExceptionObject_cast(self)->context, context);
570 StopIteration_init(PyStopIterationObject *self, PyObject *args, PyObject *kwds)
575 if (BaseException_init((PyBaseExceptionObject *)self, args, kwds) == -1)
577 Py_CLEAR(self->value);
583 self->value = value;
588 StopIteration_clear(PyStopIterationObject *self)
590 Py_CLEAR(self->value);
591 return BaseException_clear((PyBaseExceptionObject *)self);
595 StopIteration_dealloc(PyStopIterationObject *self)
597 PyObject_GC_UnTrack(self);
598 StopIteration_clear(self);
599 Py_TYPE(self)->tp_free((PyObject *)self);
603 StopIteration_traverse(PyStopIterationObject *self, visitproc visit, void *arg)
605 Py_VISIT(self->value);
606 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
634 SystemExit_init(PySystemExitObject *self, PyObject *args, PyObject *kwds)
638 if (BaseException_init((PyBaseExceptionObject *)self, args, kwds) == -1)
645 Py_XSETREF(self->code, PyTuple_GET_ITEM(args, 0));
649 Py_XSETREF(self->code, args);
655 SystemExit_clear(PySystemExitObject *self)
657 Py_CLEAR(self->code);
658 return BaseException_clear((PyBaseExceptionObject *)self);
662 SystemExit_dealloc(PySystemExitObject *self)
664 _PyObject_GC_UNTRACK(self);
665 SystemExit_clear(self);
666 Py_TYPE(self)->tp_free((PyObject *)self);
670 SystemExit_traverse(PySystemExitObject *self, visitproc visit, void *arg)
672 Py_VISIT(self->code);
673 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
798 PyBaseExceptionGroupObject *self =
800 if (!self) {
804 self->msg = Py_NewRef(message);
805 self->excs = exceptions;
806 return (PyObject*)self;
830 BaseExceptionGroup_init(PyBaseExceptionGroupObject *self,
833 if (!_PyArg_NoKeywords(Py_TYPE(self)->tp_name, kwds)) {
836 if (BaseException_init((PyBaseExceptionObject *)self, args, kwds) == -1) {
843 BaseExceptionGroup_clear(PyBaseExceptionGroupObject *self)
845 Py_CLEAR(self->msg);
846 Py_CLEAR(self->excs);
847 return BaseException_clear((PyBaseExceptionObject *)self);
851 BaseExceptionGroup_dealloc(PyBaseExceptionGroupObject *self)
853 _PyObject_GC_UNTRACK(self);
854 BaseExceptionGroup_clear(self);
855 Py_TYPE(self)->tp_free((PyObject *)self);
859 BaseExceptionGroup_traverse(PyBaseExceptionGroupObject *self,
862 Py_VISIT(self->msg);
863 Py_VISIT(self->excs);
864 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
868 BaseExceptionGroup_str(PyBaseExceptionGroupObject *self)
870 assert(self->msg);
871 assert(PyUnicode_Check(self->msg));
873 assert(PyTuple_CheckExact(self->excs));
874 Py_ssize_t num_excs = PyTuple_Size(self->excs);
877 self->msg, num_excs, num_excs > 1 ? "s" : "");
883 PyBaseExceptionGroupObject *self = _PyBaseExceptionGroupObject_cast(self_);
888 PyObject *init_args = PyTuple_Pack(2, self->msg, excs);
1181 BaseExceptionGroup_split(PyObject *self, PyObject *args)
1196 self, matcher_type, matcher_value,
1212 BaseExceptionGroup_subgroup(PyObject *self, PyObject *args)
1227 self, matcher_type, matcher_value,
1499 ImportError_init(PyImportErrorObject *self, PyObject *args, PyObject *kwds)
1507 if (BaseException_init((PyBaseExceptionObject *)self, args, NULL) == -1)
1521 Py_XSETREF(self->name, name);
1524 Py_XSETREF(self->path, path);
1530 Py_XSETREF(self->msg, msg);
1536 ImportError_clear(PyImportErrorObject *self)
1538 Py_CLEAR(self->msg);
1539 Py_CLEAR(self->name);
1540 Py_CLEAR(self->path);
1541 return BaseException_clear((PyBaseExceptionObject *)self);
1545 ImportError_dealloc(PyImportErrorObject *self)
1547 _PyObject_GC_UNTRACK(self);
1548 ImportError_clear(self);
1549 Py_TYPE(self)->tp_free((PyObject *)self);
1553 ImportError_traverse(PyImportErrorObject *self, visitproc visit, void *arg)
1555 Py_VISIT(self->msg);
1556 Py_VISIT(self->name);
1557 Py_VISIT(self->path);
1558 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
1562 ImportError_str(PyImportErrorObject *self)
1564 if (self->msg && PyUnicode_CheckExact(self->msg)) {
1565 Py_INCREF(self->msg);
1566 return self->msg;
1569 return BaseException_str((PyBaseExceptionObject *)self);
1574 ImportError_getstate(PyImportErrorObject *self)
1576 PyObject *dict = ((PyBaseExceptionObject *)self)->dict;
1577 if (self->name || self->path) {
1581 if (self->name && PyDict_SetItem(dict, &_Py_ID(name), self->name) < 0) {
1585 if (self->path && PyDict_SetItem(dict, &_Py_ID(path), self->path) < 0) {
1602 ImportError_reduce(PyImportErrorObject *self, PyObject *Py_UNUSED(ignored))
1606 PyObject *state = ImportError_getstate(self);
1609 args = ((PyBaseExceptionObject *)self)->args;
1611 res = PyTuple_Pack(2, Py_TYPE(self), args);
1613 res = PyTuple_Pack(3, Py_TYPE(self), args, state);
1731 oserror_init(PyOSErrorObject *self, PyObject **p_args,
1742 /* self->filename will remain Py_None otherwise */
1744 if (Py_IS_TYPE(self, (PyTypeObject *) PyExc_BlockingIOError) &&
1749 self->written = PyNumber_AsSsize_t(filename, PyExc_ValueError);
1750 if (self->written == -1 && PyErr_Occurred())
1755 self->filename = filename;
1759 self->filename2 = filename2;
1775 self->myerrno = myerrno;
1778 self->strerror = strerror;
1782 self->winerror = winerror;
1786 Py_XSETREF(self->args, args);
1795 OSError_init(PyOSErrorObject *self, PyObject *args, PyObject *kwds);
1821 PyOSErrorObject *self = NULL;
1855 self = (PyOSErrorObject *) type->tp_alloc(type, 0);
1856 if (!self)
1859 self->dict = NULL;
1860 self->traceback = self->cause = self->context = NULL;
1861 self->written = -1;
1864 if (oserror_init(self, &args, myerrno, strerror, filename, filename2
1872 self->args = PyTuple_New(0);
1873 if (self->args == NULL)
1878 return (PyObject *) self;
1882 Py_XDECREF(self);
1887 OSError_init(PyOSErrorObject *self, PyObject *args, PyObject *kwds)
1895 if (!oserror_use_init(Py_TYPE(self)))
1899 if (!_PyArg_NoKeywords(Py_TYPE(self)->tp_name, kwds))
1910 if (oserror_init(self, &args, myerrno, strerror, filename, filename2
1925 OSError_clear(PyOSErrorObject *self)
1927 Py_CLEAR(self->myerrno);
1928 Py_CLEAR(self->strerror);
1929 Py_CLEAR(self->filename);
1930 Py_CLEAR(self->filename2);
1932 Py_CLEAR(self->winerror);
1934 return BaseException_clear((PyBaseExceptionObject *)self);
1938 OSError_dealloc(PyOSErrorObject *self)
1940 _PyObject_GC_UNTRACK(self);
1941 OSError_clear(self);
1942 Py_TYPE(self)->tp_free((PyObject *)self);
1946 OSError_traverse(PyOSErrorObject *self, visitproc visit,
1949 Py_VISIT(self->myerrno);
1950 Py_VISIT(self->strerror);
1951 Py_VISIT(self->filename);
1952 Py_VISIT(self->filename2);
1954 Py_VISIT(self->winerror);
1956 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
1960 OSError_str(PyOSErrorObject *self)
1965 if (self->winerror && self->filename) {
1966 if (self->filename2) {
1968 OR_NONE(self->winerror),
1969 OR_NONE(self->strerror),
1970 self->filename,
1971 self->filename2);
1974 OR_NONE(self->winerror),
1975 OR_NONE(self->strerror),
1976 self->filename);
1979 if (self->winerror && self->strerror)
1981 self->winerror ? self->winerror: Py_None,
1982 self->strerror ? self->strerror: Py_None);
1984 if (self->filename) {
1985 if (self->filename2) {
1987 OR_NONE(self->myerrno),
1988 OR_NONE(self->strerror),
1989 self->filename,
1990 self->filename2);
1993 OR_NONE(self->myerrno),
1994 OR_NONE(self->strerror),
1995 self->filename);
1998 if (self->myerrno && self->strerror)
2000 self->myerrno, self->strerror);
2001 return BaseException_str((PyBaseExceptionObject *)self);
2005 OSError_reduce(PyOSErrorObject *self, PyObject *Py_UNUSED(ignored))
2007 PyObject *args = self->args;
2010 /* self->args is only the first two real arguments if there was a
2012 if (PyTuple_GET_SIZE(args) == 2 && self->filename) {
2013 Py_ssize_t size = self->filename2 ? 5 : 3;
2018 tmp = PyTuple_GET_ITEM(self->args, 0);
2022 tmp = PyTuple_GET_ITEM(self->args, 1);
2026 Py_INCREF(self->filename);
2027 PyTuple_SET_ITEM(args, 2, self->filename);
2029 if (self->filename2) {
2039 Py_INCREF(self->filename2);
2040 PyTuple_SET_ITEM(args, 4, self->filename2);
2045 if (self->dict)
2046 res = PyTuple_Pack(3, Py_TYPE(self), args, self->dict);
2048 res = PyTuple_Pack(2, Py_TYPE(self), args);
2054 OSError_written_get(PyOSErrorObject *self, void *context)
2056 if (self->written == -1) {
2060 return PyLong_FromSsize_t(self->written);
2064 OSError_written_set(PyOSErrorObject *self, PyObject *arg, void *context)
2067 if (self->written == -1) {
2071 self->written = -1;
2078 self->written = n;
2181 NameError_init(PyNameErrorObject *self, PyObject *args, PyObject *kwds)
2186 if (BaseException_init((PyBaseExceptionObject *)self, args, NULL) == -1) {
2202 Py_XSETREF(self->name, name);
2208 NameError_clear(PyNameErrorObject *self)
2210 Py_CLEAR(self->name);
2211 return BaseException_clear((PyBaseExceptionObject *)self);
2215 NameError_dealloc(PyNameErrorObject *self)
2217 _PyObject_GC_UNTRACK(self);
2218 NameError_clear(self);
2219 Py_TYPE(self)->tp_free((PyObject *)self);
2223 NameError_traverse(PyNameErrorObject *self, visitproc visit, void *arg)
2225 Py_VISIT(self->name);
2226 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
2255 AttributeError_init(PyAttributeErrorObject *self, PyObject *args, PyObject *kwds)
2261 if (BaseException_init((PyBaseExceptionObject *)self, args, NULL) == -1) {
2277 Py_XSETREF(self->name, name);
2280 Py_XSETREF(self->obj, obj);
2286 AttributeError_clear(PyAttributeErrorObject *self)
2288 Py_CLEAR(self->obj);
2289 Py_CLEAR(self->name);
2290 return BaseException_clear((PyBaseExceptionObject *)self);
2294 AttributeError_dealloc(PyAttributeErrorObject *self)
2296 _PyObject_GC_UNTRACK(self);
2297 AttributeError_clear(self);
2298 Py_TYPE(self)->tp_free((PyObject *)self);
2302 AttributeError_traverse(PyAttributeErrorObject *self, visitproc visit, void *arg)
2304 Py_VISIT(self->obj);
2305 Py_VISIT(self->name);
2306 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
2329 SyntaxError_init(PySyntaxErrorObject *self, PyObject *args, PyObject *kwds)
2334 if (BaseException_init((PyBaseExceptionObject *)self, args, kwds) == -1)
2339 Py_XSETREF(self->msg, PyTuple_GET_ITEM(args, 0));
2348 self->end_lineno = NULL;
2349 self->end_offset = NULL;
2351 &self->filename, &self->lineno,
2352 &self->offset, &self->text,
2353 &self->end_lineno, &self->end_offset)) {
2358 Py_INCREF(self->filename);
2359 Py_INCREF(self->lineno);
2360 Py_INCREF(self->offset);
2361 Py_INCREF(self->text);
2362 Py_XINCREF(self->end_lineno);
2363 Py_XINCREF(self->end_offset);
2366 if (self->end_lineno != NULL && self->end_offset == NULL) {
2375 SyntaxError_clear(PySyntaxErrorObject *self)
2377 Py_CLEAR(self->msg);
2378 Py_CLEAR(self->filename);
2379 Py_CLEAR(self->lineno);
2380 Py_CLEAR(self->offset);
2381 Py_CLEAR(self->end_lineno);
2382 Py_CLEAR(self->end_offset);
2383 Py_CLEAR(self->text);
2384 Py_CLEAR(self->print_file_and_line);
2385 return BaseException_clear((PyBaseExceptionObject *)self);
2389 SyntaxError_dealloc(PySyntaxErrorObject *self)
2391 _PyObject_GC_UNTRACK(self);
2392 SyntaxError_clear(self);
2393 Py_TYPE(self)->tp_free((PyObject *)self);
2397 SyntaxError_traverse(PySyntaxErrorObject *self, visitproc visit, void *arg)
2399 Py_VISIT(self->msg);
2400 Py_VISIT(self->filename);
2401 Py_VISIT(self->lineno);
2402 Py_VISIT(self->offset);
2403 Py_VISIT(self->end_lineno);
2404 Py_VISIT(self->end_offset);
2405 Py_VISIT(self->text);
2406 Py_VISIT(self->print_file_and_line);
2407 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
2442 SyntaxError_str(PySyntaxErrorObject *self)
2455 if (self->filename && PyUnicode_Check(self->filename)) {
2456 filename = my_basename(self->filename);
2462 have_lineno = (self->lineno != NULL) && PyLong_CheckExact(self->lineno);
2465 return PyObject_Str(self->msg ? self->msg : Py_None);
2469 self->msg ? self->msg : Py_None,
2471 PyLong_AsLongAndOverflow(self->lineno, &overflow));
2474 self->msg ? self->msg : Py_None,
2478 self->msg ? self->msg : Py_None,
2479 PyLong_AsLongAndOverflow(self->lineno, &overflow));
2542 KeyError_str(PyBaseExceptionObject *self)
2553 if (PyTuple_GET_SIZE(self->args) == 1) {
2554 return PyObject_Repr(PyTuple_GET_ITEM(self->args, 0));
2556 return BaseException_str(self);
2830 UnicodeError_clear(PyUnicodeErrorObject *self)
2832 Py_CLEAR(self->encoding);
2833 Py_CLEAR(self->object);
2834 Py_CLEAR(self->reason);
2835 return BaseException_clear((PyBaseExceptionObject *)self);
2839 UnicodeError_dealloc(PyUnicodeErrorObject *self)
2841 _PyObject_GC_UNTRACK(self);
2842 UnicodeError_clear(self);
2843 Py_TYPE(self)->tp_free((PyObject *)self);
2847 UnicodeError_traverse(PyUnicodeErrorObject *self, visitproc visit, void *arg)
2849 Py_VISIT(self->encoding);
2850 Py_VISIT(self->object);
2851 Py_VISIT(self->reason);
2852 return BaseException_traverse((PyBaseExceptionObject *)self, visit, arg);
2875 UnicodeEncodeError_init(PyObject *self, PyObject *args, PyObject *kwds)
2879 if (BaseException_init((PyBaseExceptionObject *)self, args, kwds) == -1)
2882 err = (PyUnicodeErrorObject *)self;
2903 UnicodeEncodeError_str(PyObject *self)
2905 PyUnicodeErrorObject *uself = (PyUnicodeErrorObject *)self;
2973 UnicodeDecodeError_init(PyObject *self, PyObject *args, PyObject *kwds)
2977 if (BaseException_init((PyBaseExceptionObject *)self, args, kwds) == -1)
2980 ude = (PyUnicodeErrorObject *)self;
3016 UnicodeDecodeError_str(PyObject *self)
3018 PyUnicodeErrorObject *uself = (PyUnicodeErrorObject *)self;
3037 int byte = (int)(PyBytes_AS_STRING(((PyUnicodeErrorObject *)self)->object)[uself->start]&0xff);
3089 UnicodeTranslateError_init(PyUnicodeErrorObject *self, PyObject *args,
3092 if (BaseException_init((PyBaseExceptionObject *)self, args, kwds) == -1)
3095 Py_CLEAR(self->object);
3096 Py_CLEAR(self->reason);
3099 &self->object,
3100 &self->start, &self->end, &self->reason)) {
3101 self->object = self->reason = NULL;
3105 Py_INCREF(self->object);
3106 Py_INCREF(self->reason);
3113 UnicodeTranslateError_str(PyObject *self)
3115 PyUnicodeErrorObject *uself = (PyUnicodeErrorObject *)self;
3241 PyBaseExceptionObject *self;
3255 self = state->memerrors_freelist;
3256 self->args = PyTuple_New(0);
3259 if (self->args == NULL) {
3263 state->memerrors_freelist = (PyBaseExceptionObject *) self->dict;
3265 self->dict = NULL;
3266 _Py_NewReference((PyObject *)self);
3267 _PyObject_GC_TRACK(self);
3268 return (PyObject *)self;
3272 MemoryError_dealloc(PyBaseExceptionObject *self)
3274 _PyObject_GC_UNTRACK(self);
3276 BaseException_clear(self);
3280 if (!Py_IS_TYPE(self, (PyTypeObject *) PyExc_MemoryError)) {
3281 Py_TYPE(self)->tp_free((PyObject *)self);
3287 Py_TYPE(self)->tp_free((PyObject *)self);
3290 self->dict = (PyObject *) state->memerrors_freelist;
3291 state->memerrors_freelist = self;
3320 PyObject *self = (PyObject *) state->memerrors_freelist;
3322 Py_TYPE(self)->tp_free((PyObject *)self);