| OLD | NEW |
| (Empty) |
| 1 /* Generated by Pyrex 0.9.5.1a on Wed Apr 9 19:55:33 2008 */ | |
| 2 | |
| 3 #include "Python.h" | |
| 4 #include "structmember.h" | |
| 5 #ifndef PY_LONG_LONG | |
| 6 #define PY_LONG_LONG LONG_LONG | |
| 7 #endif | |
| 8 #ifdef __cplusplus | |
| 9 #define __PYX_EXTERN_C extern "C" | |
| 10 #else | |
| 11 #define __PYX_EXTERN_C extern | |
| 12 #endif | |
| 13 __PYX_EXTERN_C double pow(double, double); | |
| 14 | |
| 15 | |
| 16 typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/ | |
| 17 typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/ | |
| 18 | |
| 19 static PyObject *__pyx_m; | |
| 20 static PyObject *__pyx_b; | |
| 21 static int __pyx_lineno; | |
| 22 static char *__pyx_filename; | |
| 23 static char **__pyx_f; | |
| 24 | |
| 25 static char __pyx_mdoc[] = "\nA trivial extension that just raises an exception.
\nSee L{twisted.test.test_failure.test_failureConstructionWithMungedStackSucceed
s}.\n"; | |
| 26 | |
| 27 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ | |
| 28 | |
| 29 static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *na
me, char *modname); /*proto*/ | |
| 30 | |
| 31 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*
/ | |
| 32 | |
| 33 static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/ | |
| 34 | |
| 35 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ | |
| 36 | |
| 37 static void __Pyx_AddTraceback(char *funcname); /*proto*/ | |
| 38 | |
| 39 /* Declarations from raiser */ | |
| 40 | |
| 41 | |
| 42 | |
| 43 /* Implementation of raiser */ | |
| 44 | |
| 45 static char (__pyx_k2[]) = "\n A speficic exception only used to be identifie
d in tests.\n "; | |
| 46 | |
| 47 static PyObject *__pyx_n_RaiserException; | |
| 48 static PyObject *__pyx_n_raiseException; | |
| 49 static PyObject *__pyx_n_Exception; | |
| 50 | |
| 51 static PyObject *__pyx_k2p; | |
| 52 | |
| 53 static PyObject *__pyx_k3p; | |
| 54 | |
| 55 static char (__pyx_k3[]) = "This function is intentionally broken"; | |
| 56 | |
| 57 static PyObject *__pyx_f_6raiser_raiseException(PyObject *__pyx_self, PyObject *
__pyx_args, PyObject *__pyx_kwds); /*proto*/ | |
| 58 static char __pyx_doc_6raiser_raiseException[] = "\n Raise L{RaiserException}
.\n "; | |
| 59 static PyObject *__pyx_f_6raiser_raiseException(PyObject *__pyx_self, PyObject *
__pyx_args, PyObject *__pyx_kwds) { | |
| 60 PyObject *__pyx_r; | |
| 61 PyObject *__pyx_1 = 0; | |
| 62 PyObject *__pyx_2 = 0; | |
| 63 PyObject *__pyx_3 = 0; | |
| 64 static char *__pyx_argnames[] = {0}; | |
| 65 if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames))
return 0; | |
| 66 | |
| 67 /* "/home/therve/Projects/Twisted/branches/failure-c-extension-3132/twisted/te
st/raiser.pyx":21 */ | |
| 68 __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_RaiserException); if (!__pyx_1) {__py
x_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} | |
| 69 __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_li
neno = 21; goto __pyx_L1;} | |
| 70 Py_INCREF(__pyx_k3p); | |
| 71 PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k3p); | |
| 72 __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename
= __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} | |
| 73 Py_DECREF(__pyx_1); __pyx_1 = 0; | |
| 74 Py_DECREF(__pyx_2); __pyx_2 = 0; | |
| 75 __Pyx_Raise(__pyx_3, 0, 0); | |
| 76 Py_DECREF(__pyx_3); __pyx_3 = 0; | |
| 77 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} | |
| 78 | |
| 79 __pyx_r = Py_None; Py_INCREF(Py_None); | |
| 80 goto __pyx_L0; | |
| 81 __pyx_L1:; | |
| 82 Py_XDECREF(__pyx_1); | |
| 83 Py_XDECREF(__pyx_2); | |
| 84 Py_XDECREF(__pyx_3); | |
| 85 __Pyx_AddTraceback("raiser.raiseException"); | |
| 86 __pyx_r = 0; | |
| 87 __pyx_L0:; | |
| 88 return __pyx_r; | |
| 89 } | |
| 90 | |
| 91 static __Pyx_InternTabEntry __pyx_intern_tab[] = { | |
| 92 {&__pyx_n_Exception, "Exception"}, | |
| 93 {&__pyx_n_RaiserException, "RaiserException"}, | |
| 94 {&__pyx_n_raiseException, "raiseException"}, | |
| 95 {0, 0} | |
| 96 }; | |
| 97 | |
| 98 static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
| 99 {&__pyx_k2p, __pyx_k2, sizeof(__pyx_k2)}, | |
| 100 {&__pyx_k3p, __pyx_k3, sizeof(__pyx_k3)}, | |
| 101 {0, 0, 0} | |
| 102 }; | |
| 103 | |
| 104 static struct PyMethodDef __pyx_methods[] = { | |
| 105 {"raiseException", (PyCFunction)__pyx_f_6raiser_raiseException, METH_VARARGS|M
ETH_KEYWORDS, __pyx_doc_6raiser_raiseException}, | |
| 106 {0, 0, 0, 0} | |
| 107 }; | |
| 108 | |
| 109 static void __pyx_init_filenames(void); /*proto*/ | |
| 110 | |
| 111 PyMODINIT_FUNC initraiser(void); /*proto*/ | |
| 112 PyMODINIT_FUNC initraiser(void) { | |
| 113 PyObject *__pyx_1 = 0; | |
| 114 PyObject *__pyx_2 = 0; | |
| 115 PyObject *__pyx_3 = 0; | |
| 116 __pyx_init_filenames(); | |
| 117 __pyx_m = Py_InitModule4("raiser", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VE
RSION); | |
| 118 if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;}; | |
| 119 __pyx_b = PyImport_AddModule("__builtin__"); | |
| 120 if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;}; | |
| 121 if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filen
ame = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;}; | |
| 122 if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; _
_pyx_lineno = 4; goto __pyx_L1;}; | |
| 123 if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __p
yx_lineno = 4; goto __pyx_L1;}; | |
| 124 | |
| 125 /* "/home/therve/Projects/Twisted/branches/failure-c-extension-3132/twisted/te
st/raiser.pyx":11 */ | |
| 126 __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_line
no = 11; goto __pyx_L1;} | |
| 127 __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_Exception); if (!__pyx_2) {__pyx_file
name = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} | |
| 128 __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_li
neno = 11; goto __pyx_L1;} | |
| 129 PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); | |
| 130 __pyx_2 = 0; | |
| 131 if (PyDict_SetItemString(__pyx_1, "__doc__", __pyx_k2p) < 0) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} | |
| 132 __pyx_2 = __Pyx_CreateClass(__pyx_3, __pyx_1, __pyx_n_RaiserException, "raiser
"); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1
;} | |
| 133 Py_DECREF(__pyx_3); __pyx_3 = 0; | |
| 134 if (PyObject_SetAttr(__pyx_m, __pyx_n_RaiserException, __pyx_2) < 0) {__pyx_fi
lename = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} | |
| 135 Py_DECREF(__pyx_2); __pyx_2 = 0; | |
| 136 Py_DECREF(__pyx_1); __pyx_1 = 0; | |
| 137 | |
| 138 /* "/home/therve/Projects/Twisted/branches/failure-c-extension-3132/twisted/te
st/raiser.pyx":17 */ | |
| 139 return; | |
| 140 __pyx_L1:; | |
| 141 Py_XDECREF(__pyx_1); | |
| 142 Py_XDECREF(__pyx_2); | |
| 143 Py_XDECREF(__pyx_3); | |
| 144 __Pyx_AddTraceback("raiser"); | |
| 145 } | |
| 146 | |
| 147 static char *__pyx_filenames[] = { | |
| 148 "raiser.pyx", | |
| 149 }; | |
| 150 | |
| 151 /* Runtime support code */ | |
| 152 | |
| 153 static void __pyx_init_filenames(void) { | |
| 154 __pyx_f = __pyx_filenames; | |
| 155 } | |
| 156 | |
| 157 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { | |
| 158 PyObject *result; | |
| 159 result = PyObject_GetAttr(dict, name); | |
| 160 if (!result) | |
| 161 PyErr_SetObject(PyExc_NameError, name); | |
| 162 return result; | |
| 163 } | |
| 164 | |
| 165 static PyObject *__Pyx_CreateClass( | |
| 166 PyObject *bases, PyObject *dict, PyObject *name, char *modname) | |
| 167 { | |
| 168 PyObject *py_modname; | |
| 169 PyObject *result = 0; | |
| 170 | |
| 171 py_modname = PyString_FromString(modname); | |
| 172 if (!py_modname) | |
| 173 goto bad; | |
| 174 if (PyDict_SetItemString(dict, "__module__", py_modname) < 0) | |
| 175 goto bad; | |
| 176 result = PyClass_New(bases, dict, name); | |
| 177 bad: | |
| 178 Py_XDECREF(py_modname); | |
| 179 return result; | |
| 180 } | |
| 181 | |
| 182 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { | |
| 183 Py_XINCREF(type); | |
| 184 Py_XINCREF(value); | |
| 185 Py_XINCREF(tb); | |
| 186 /* First, check the traceback argument, replacing None with NULL. */ | |
| 187 if (tb == Py_None) { | |
| 188 Py_DECREF(tb); | |
| 189 tb = 0; | |
| 190 } | |
| 191 else if (tb != NULL && !PyTraceBack_Check(tb)) { | |
| 192 PyErr_SetString(PyExc_TypeError, | |
| 193 "raise: arg 3 must be a traceback or None"); | |
| 194 goto raise_error; | |
| 195 } | |
| 196 /* Next, replace a missing value with None */ | |
| 197 if (value == NULL) { | |
| 198 value = Py_None; | |
| 199 Py_INCREF(value); | |
| 200 } | |
| 201 /* Next, repeatedly, replace a tuple exception with its first item */ | |
| 202 while (PyTuple_Check(type) && PyTuple_Size(type) > 0) { | |
| 203 PyObject *tmp = type; | |
| 204 type = PyTuple_GET_ITEM(type, 0); | |
| 205 Py_INCREF(type); | |
| 206 Py_DECREF(tmp); | |
| 207 } | |
| 208 if (PyString_Check(type)) { | |
| 209 if (PyErr_Warn(PyExc_DeprecationWarning, | |
| 210 "raising a string exception is deprecated")) | |
| 211 goto raise_error; | |
| 212 } | |
| 213 else if (PyType_Check(type) || PyClass_Check(type)) | |
| 214 ; /*PyErr_NormalizeException(&type, &value, &tb);*/ | |
| 215 else { | |
| 216 /* Raising an instance. The value should be a dummy. */ | |
| 217 if (value != Py_None) { | |
| 218 PyErr_SetString(PyExc_TypeError, | |
| 219 "instance exception may not have a separate value"); | |
| 220 goto raise_error; | |
| 221 } | |
| 222 /* Normalize to raise <class>, <instance> */ | |
| 223 Py_DECREF(value); | |
| 224 value = type; | |
| 225 if (PyInstance_Check(type)) | |
| 226 type = (PyObject*) ((PyInstanceObject*)type)->in_class; | |
| 227 else | |
| 228 type = (PyObject*) type->ob_type; | |
| 229 Py_INCREF(type); | |
| 230 } | |
| 231 PyErr_Restore(type, value, tb); | |
| 232 return; | |
| 233 raise_error: | |
| 234 Py_XDECREF(value); | |
| 235 Py_XDECREF(type); | |
| 236 Py_XDECREF(tb); | |
| 237 return; | |
| 238 } | |
| 239 | |
| 240 static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) { | |
| 241 while (t->p) { | |
| 242 *t->p = PyString_InternFromString(t->s); | |
| 243 if (!*t->p) | |
| 244 return -1; | |
| 245 ++t; | |
| 246 } | |
| 247 return 0; | |
| 248 } | |
| 249 | |
| 250 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { | |
| 251 while (t->p) { | |
| 252 *t->p = PyString_FromStringAndSize(t->s, t->n - 1); | |
| 253 if (!*t->p) | |
| 254 return -1; | |
| 255 ++t; | |
| 256 } | |
| 257 return 0; | |
| 258 } | |
| 259 | |
| 260 #include "compile.h" | |
| 261 #include "frameobject.h" | |
| 262 #include "traceback.h" | |
| 263 | |
| 264 static void __Pyx_AddTraceback(char *funcname) { | |
| 265 PyObject *py_srcfile = 0; | |
| 266 PyObject *py_funcname = 0; | |
| 267 PyObject *py_globals = 0; | |
| 268 PyObject *empty_tuple = 0; | |
| 269 PyObject *empty_string = 0; | |
| 270 PyCodeObject *py_code = 0; | |
| 271 PyFrameObject *py_frame = 0; | |
| 272 | |
| 273 py_srcfile = PyString_FromString(__pyx_filename); | |
| 274 if (!py_srcfile) goto bad; | |
| 275 py_funcname = PyString_FromString(funcname); | |
| 276 if (!py_funcname) goto bad; | |
| 277 py_globals = PyModule_GetDict(__pyx_m); | |
| 278 if (!py_globals) goto bad; | |
| 279 empty_tuple = PyTuple_New(0); | |
| 280 if (!empty_tuple) goto bad; | |
| 281 empty_string = PyString_FromString(""); | |
| 282 if (!empty_string) goto bad; | |
| 283 py_code = PyCode_New( | |
| 284 0, /*int argcount,*/ | |
| 285 0, /*int nlocals,*/ | |
| 286 0, /*int stacksize,*/ | |
| 287 0, /*int flags,*/ | |
| 288 empty_string, /*PyObject *code,*/ | |
| 289 empty_tuple, /*PyObject *consts,*/ | |
| 290 empty_tuple, /*PyObject *names,*/ | |
| 291 empty_tuple, /*PyObject *varnames,*/ | |
| 292 empty_tuple, /*PyObject *freevars,*/ | |
| 293 empty_tuple, /*PyObject *cellvars,*/ | |
| 294 py_srcfile, /*PyObject *filename,*/ | |
| 295 py_funcname, /*PyObject *name,*/ | |
| 296 __pyx_lineno, /*int firstlineno,*/ | |
| 297 empty_string /*PyObject *lnotab*/ | |
| 298 ); | |
| 299 if (!py_code) goto bad; | |
| 300 py_frame = PyFrame_New( | |
| 301 PyThreadState_Get(), /*PyThreadState *tstate,*/ | |
| 302 py_code, /*PyCodeObject *code,*/ | |
| 303 py_globals, /*PyObject *globals,*/ | |
| 304 0 /*PyObject *locals*/ | |
| 305 ); | |
| 306 if (!py_frame) goto bad; | |
| 307 py_frame->f_lineno = __pyx_lineno; | |
| 308 PyTraceBack_Here(py_frame); | |
| 309 bad: | |
| 310 Py_XDECREF(py_srcfile); | |
| 311 Py_XDECREF(py_funcname); | |
| 312 Py_XDECREF(empty_tuple); | |
| 313 Py_XDECREF(empty_string); | |
| 314 Py_XDECREF(py_code); | |
| 315 Py_XDECREF(py_frame); | |
| 316 } | |
| OLD | NEW |