/* Implementation of excbug */ static PyObject *__pyx_f_6excbug_iowrap(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_6excbug_iowrap(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_f = 0; PyObject *__pyx_v_e; PyObject *__pyx_r; PyObject *__pyx_1 = 0; int __pyx_2; PyObject *__pyx_3 = 0; PyObject *__pyx_4 = 0; static char *__pyx_argnames[] = {"f",0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_f)) return 0; Py_INCREF(__pyx_v_f); __pyx_v_e = Py_None; Py_INCREF(Py_None); /*try:*/ { __pyx_1 = PyObject_CallObject(__pyx_v_f, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3; goto __pyx_L2;} __pyx_r = __pyx_1; __pyx_1 = 0; goto __pyx_L0; } goto __pyx_L3; __pyx_L2:; Py_XDECREF(__pyx_1); __pyx_1 = 0; /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/szabo/excbug.pyx":4 */ __pyx_2 = PyErr_ExceptionMatches(PyExc_IOError); if (__pyx_2) { __Pyx_AddTraceback("excbug.iowrap"); if (__Pyx_GetException(&__pyx_1, &__pyx_3, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;} Py_INCREF(__pyx_3); Py_DECREF(__pyx_v_e); __pyx_v_e = __pyx_3; Py_INCREF(__pyx_v_e); __pyx_r = __pyx_v_e; Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; goto __pyx_L0; Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; goto __pyx_L3; } goto __pyx_L1; __pyx_L3:; __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_1); Py_XDECREF(__pyx_3); Py_XDECREF(__pyx_4); __Pyx_AddTraceback("excbug.iowrap"); __pyx_r = 0; __pyx_L0:; Py_DECREF(__pyx_v_e); Py_DECREF(__pyx_v_f); return __pyx_r; }
static void __Pyx_Generator_Replace_StopIteration(void) { PyObject *exc, *val, *tb; // Chain exceptions by moving StopIteration to exc_info before creating the RuntimeError. // In Py2.x, no chaining happens, but the exception still stays visible in exc_info. __Pyx_GetException(&exc, &val, &tb); Py_XDECREF(exc); Py_XDECREF(val); Py_XDECREF(tb); PyErr_SetString(PyExc_RuntimeError, "generator raised StopIteration"); }
/* Implementation of excbug */ static PyObject *__pyx_f_6excbug_iowrap(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyObject *__pyx_f_6excbug_iowrap(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_f = 0; PyObject *__pyx_v_e; PyObject *__pyx_r; PyObject *__pyx_1 = 0; int __pyx_2; PyObject *__pyx_3 = 0; PyObject *__pyx_4 = 0; static char *__pyx_argnames[] = {"f",0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_f)) return 0; Py_INCREF(__pyx_v_f); __pyx_v_e = Py_None; Py_INCREF(Py_None); /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/szabo/szabo1/excbug/excbug.pyx":2 */ if (__Pyx_PrintItem(__pyx_n_iowrap) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;} if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; goto __pyx_L1;} /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/szabo/szabo1/excbug/excbug.pyx":3 */ /*try:*/ { /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/szabo/szabo1/excbug/excbug.pyx":5 */ __pyx_1 = PyObject_CallObject(__pyx_v_f, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; goto __pyx_L2;} Py_DECREF(__pyx_v_e); __pyx_v_e = __pyx_1; __pyx_1 = 0; /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/szabo/szabo1/excbug/excbug.pyx":6 */ if (__Pyx_PrintItem(__pyx_k2p) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L2;} __pyx_1 = PyObject_Repr(__pyx_v_e); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L2;} if (__Pyx_PrintItem(__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L2;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L2;} } goto __pyx_L3; __pyx_L2:; Py_XDECREF(__pyx_1); __pyx_1 = 0; /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/szabo/szabo1/excbug/excbug.pyx":7 */ __pyx_2 = PyErr_ExceptionMatches(PyExc_IOError); if (__pyx_2) { __Pyx_AddTraceback("excbug.iowrap"); if (__Pyx_GetException(&__pyx_1, &__pyx_3, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 7; goto __pyx_L1;} Py_INCREF(__pyx_3); Py_DECREF(__pyx_v_e); __pyx_v_e = __pyx_3; Py_XDECREF(__pyx_1); __pyx_1 = 0; Py_XDECREF(__pyx_3); __pyx_3 = 0; Py_XDECREF(__pyx_4); __pyx_4 = 0; goto __pyx_L3; } goto __pyx_L1; __pyx_L3:; /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/szabo/szabo1/excbug/excbug.pyx":10 */ if (__Pyx_PrintItem(__pyx_n_returning) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; goto __pyx_L1;} __pyx_1 = PyObject_Repr(__pyx_v_e); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; goto __pyx_L1;} if (__Pyx_PrintItem(__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 10; goto __pyx_L1;} /* "/Local/Projects/D/Pyrex/Source/Tests/Bugs/szabo/szabo1/excbug/excbug.pyx":11 */ Py_INCREF(__pyx_v_e); __pyx_r = __pyx_v_e; goto __pyx_L0; __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_1); Py_XDECREF(__pyx_3); Py_XDECREF(__pyx_4); __Pyx_AddTraceback("excbug.iowrap"); __pyx_r = 0; __pyx_L0:; Py_DECREF(__pyx_v_e); Py_DECREF(__pyx_v_f); return __pyx_r; }
static PyObject *__pyx_f_7Stemmer_7Stemmer_stemWord(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_word = 0; char *__pyx_v_c_word; PyObject *__pyx_v_was_unicode; PyObject *__pyx_v_cacheditem; PyObject *__pyx_v_result; PyObject *__pyx_v_length; PyObject *__pyx_r; PyObject *__pyx_1 = 0; int __pyx_2; PyObject *__pyx_3 = 0; PyObject *__pyx_4 = 0; char *__pyx_5; Py_ssize_t __pyx_6; PyObject *__pyx_7 = 0; PyObject *__pyx_8 = 0; static char *__pyx_argnames[] = {"word",0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_word)) return 0; Py_INCREF(__pyx_v_self); Py_INCREF(__pyx_v_word); __pyx_v_was_unicode = Py_None; Py_INCREF(Py_None); __pyx_v_cacheditem = Py_None; Py_INCREF(Py_None); __pyx_v_result = Py_None; Py_INCREF(Py_None); __pyx_v_length = Py_None; Py_INCREF(Py_None); /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":171 */ __pyx_1 = PyInt_FromLong(0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; goto __pyx_L1;} Py_DECREF(__pyx_v_was_unicode); __pyx_v_was_unicode = __pyx_1; __pyx_1 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":172 */ __pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_unicode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; goto __pyx_L1;} __pyx_2 = PyObject_IsInstance(__pyx_v_word,__pyx_1); if (__pyx_2 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (__pyx_2) { /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":173 */ __pyx_1 = PyInt_FromLong(1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L1;} Py_DECREF(__pyx_v_was_unicode); __pyx_v_was_unicode = __pyx_1; __pyx_1 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":174 */ __pyx_1 = PyObject_GetAttr(__pyx_v_word, __pyx_n_encode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L1;} __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L1;} Py_INCREF(__pyx_k9p); PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k9p); __pyx_4 = PyObject_CallObject(__pyx_1, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_v_word); __pyx_v_word = __pyx_4; __pyx_4 = 0; goto __pyx_L2; } __pyx_L2:; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":176 */ __pyx_2 = (((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->max_cache_size > 0); if (__pyx_2) { /*try:*/ { /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":178 */ __pyx_1 = PyObject_GetItem(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cache, __pyx_v_word); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; goto __pyx_L4;} Py_DECREF(__pyx_v_cacheditem); __pyx_v_cacheditem = __pyx_1; __pyx_1 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":179 */ __pyx_3 = __Pyx_GetItemInt(__pyx_v_cacheditem, 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; goto __pyx_L4;} Py_DECREF(__pyx_v_result); __pyx_v_result = __pyx_3; __pyx_3 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":180 */ if (__Pyx_SetItemInt(__pyx_v_cacheditem, 1, ((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; goto __pyx_L4;} /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":181 */ __pyx_4 = PyInt_FromLong(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; goto __pyx_L4;} __pyx_1 = PyNumber_Add(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; goto __pyx_L4;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter); ((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter = __pyx_1; __pyx_1 = 0; } goto __pyx_L5; __pyx_L4:; Py_XDECREF(__pyx_3); __pyx_3 = 0; Py_XDECREF(__pyx_4); __pyx_4 = 0; Py_XDECREF(__pyx_1); __pyx_1 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":182 */ __pyx_2 = PyErr_ExceptionMatches(PyExc_KeyError); if (__pyx_2) { __Pyx_AddTraceback("Stemmer.stemWord"); if (__Pyx_GetException(&__pyx_3, &__pyx_4, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; goto __pyx_L1;} /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":183 */ __pyx_5 = PyString_AsString(__pyx_v_word); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; goto __pyx_L1;} __pyx_v_c_word = __pyx_5; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":184 */ __pyx_6 = PyObject_Length(__pyx_v_word); if (__pyx_6 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; goto __pyx_L1;} __pyx_v_c_word = ((char *)sb_stemmer_stem(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cobj,((sb_symbol *)__pyx_v_c_word),__pyx_6)); /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":185 */ __pyx_7 = PyInt_FromLong(sb_stemmer_length(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cobj)); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; goto __pyx_L1;} Py_DECREF(__pyx_v_length); __pyx_v_length = __pyx_7; __pyx_7 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":186 */ __pyx_2 = PyInt_AsLong(__pyx_v_length); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L1;} __pyx_7 = PyString_FromStringAndSize(__pyx_v_c_word,__pyx_2); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L1;} Py_DECREF(__pyx_v_result); __pyx_v_result = __pyx_7; __pyx_7 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":187 */ __pyx_7 = PyList_New(2); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; goto __pyx_L1;} Py_INCREF(__pyx_v_result); PyList_SET_ITEM(__pyx_7, 0, __pyx_v_result); Py_INCREF(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter); PyList_SET_ITEM(__pyx_7, 1, ((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter); if (PyObject_SetItem(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cache, __pyx_v_word, __pyx_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; goto __pyx_L1;} Py_DECREF(__pyx_7); __pyx_7 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":188 */ __pyx_7 = PyInt_FromLong(1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; goto __pyx_L1;} __pyx_8 = PyNumber_Add(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter, __pyx_7); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; goto __pyx_L1;} Py_DECREF(__pyx_7); __pyx_7 = 0; Py_DECREF(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter); ((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter = __pyx_8; __pyx_8 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":189 */ __pyx_7 = PyObject_GetAttr(__pyx_v_self, __pyx_n___purgeCache); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; goto __pyx_L1;} __pyx_8 = PyObject_CallObject(__pyx_7, 0); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; goto __pyx_L1;} Py_DECREF(__pyx_7); __pyx_7 = 0; Py_DECREF(__pyx_8); __pyx_8 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; goto __pyx_L5; } goto __pyx_L1; __pyx_L5:; goto __pyx_L3; } /*else*/ { /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":191 */ __pyx_5 = PyString_AsString(__pyx_v_word); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; goto __pyx_L1;} __pyx_v_c_word = __pyx_5; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":192 */ __pyx_6 = PyObject_Length(__pyx_v_word); if (__pyx_6 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; goto __pyx_L1;} __pyx_v_c_word = ((char *)sb_stemmer_stem(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cobj,((sb_symbol *)__pyx_v_c_word),__pyx_6)); /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":193 */ __pyx_7 = PyInt_FromLong(sb_stemmer_length(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cobj)); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; goto __pyx_L1;} Py_DECREF(__pyx_v_length); __pyx_v_length = __pyx_7; __pyx_7 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":194 */ __pyx_2 = PyInt_AsLong(__pyx_v_length); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; goto __pyx_L1;} __pyx_8 = PyString_FromStringAndSize(__pyx_v_c_word,__pyx_2); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; goto __pyx_L1;} Py_DECREF(__pyx_v_result); __pyx_v_result = __pyx_8; __pyx_8 = 0; } __pyx_L3:; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":196 */ __pyx_2 = PyObject_IsTrue(__pyx_v_was_unicode); if (__pyx_2 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; goto __pyx_L1;} if (__pyx_2) { __pyx_3 = PyObject_GetAttr(__pyx_v_result, __pyx_n_decode); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; goto __pyx_L1;} __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; goto __pyx_L1;} Py_INCREF(__pyx_k9p); PyTuple_SET_ITEM(__pyx_4, 0, __pyx_k9p); __pyx_1 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_r = __pyx_1; __pyx_1 = 0; goto __pyx_L0; goto __pyx_L6; } __pyx_L6:; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":198 */ Py_INCREF(__pyx_v_result); __pyx_r = __pyx_v_result; goto __pyx_L0; __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_1); Py_XDECREF(__pyx_3); Py_XDECREF(__pyx_4); Py_XDECREF(__pyx_7); Py_XDECREF(__pyx_8); __Pyx_AddTraceback("Stemmer.Stemmer.stemWord"); __pyx_r = 0; __pyx_L0:; Py_DECREF(__pyx_v_was_unicode); Py_DECREF(__pyx_v_cacheditem); Py_DECREF(__pyx_v_result); Py_DECREF(__pyx_v_length); Py_DECREF(__pyx_v_self); Py_DECREF(__pyx_v_word); return __pyx_r; }