Changeset 56
- Timestamp:
- 11/16/04 01:24:04 (4 years ago)
- Files:
-
- trunk/DerelictPY/Makefile (modified) (2 diffs)
- trunk/DerelictPY/derelict/python/abstractobject.d (modified) (7 diffs)
- trunk/DerelictPY/derelict/python/boolobject.d (modified) (2 diffs)
- trunk/DerelictPY/derelict/python/bufferobject.d (modified) (4 diffs)
- trunk/DerelictPY/derelict/python/cellobject.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/ceval.d (modified) (5 diffs)
- trunk/DerelictPY/derelict/python/classobject.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/cobject.d (modified) (2 diffs)
- trunk/DerelictPY/derelict/python/codecs.d (added)
- trunk/DerelictPY/derelict/python/compile.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/complexobject.d (modified) (5 diffs)
- trunk/DerelictPY/derelict/python/cstringio.d (added)
- trunk/DerelictPY/derelict/python/datetime.d (added)
- trunk/DerelictPY/derelict/python/descrobject.d (modified) (4 diffs)
- trunk/DerelictPY/derelict/python/errcode.d (modified) (1 diff)
- trunk/DerelictPY/derelict/python/floatobject.d (modified) (4 diffs)
- trunk/DerelictPY/derelict/python/frameobject.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/intobject.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/longintrepr.d (modified) (2 diffs)
- trunk/DerelictPY/derelict/python/longobject.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/methodobject.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/node.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/object.d (modified) (10 diffs)
- trunk/DerelictPY/derelict/python/pystate.d (modified) (6 diffs)
- trunk/DerelictPY/derelict/python/python.d (modified) (2 diffs)
- trunk/DerelictPY/derelict/python/pythonrun.d (modified) (2 diffs)
- trunk/DerelictPY/derelict/python/tupleobject.d (modified) (3 diffs)
- trunk/DerelictPY/derelict/python/unicodeobject.d (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/DerelictPY/Makefile
r50 r56 17 17 $(PY.SRC.DIR)\classobject.d \ 18 18 $(PY.SRC.DIR)\cobject.d \ 19 $(PY.SRC.DIR)\codecs.d \ 19 20 $(PY.SRC.DIR)\compile.d \ 20 21 $(PY.SRC.DIR)\complexobject.d \ 22 $(PY.SRC.DIR)\cstringio.d \ 23 $(PY.SRC.DIR)\datetime.d \ 21 24 $(PY.SRC.DIR)\descrobject.d \ 22 25 $(PY.SRC.DIR)\errcode.d \ … … 44 47 $(PY.OBJ.DIR)\classobject.obj \ 45 48 $(PY.OBJ.DIR)\cobject.obj \ 49 $(PY.OBJ.DIR)\codecs.obj \ 46 50 $(PY.OBJ.DIR)\compile.obj \ 47 51 $(PY.OBJ.DIR)\complexobject.obj \ 52 $(PY.OBJ.DIR)\cstringio.obj \ 53 $(PY.OBJ.DIR)\datetime.obj \ 48 54 $(PY.OBJ.DIR)\descrobject.obj \ 49 55 $(PY.OBJ.DIR)\errcode.obj \ trunk/DerelictPY/derelict/python/abstractobject.d
r40 r56 6 6 // TYPES 7 7 //============================================================================== 8 alias PyObject_Size PyObject_Length;9 alias PySequence_Size PySequence_Length;10 alias PySequence_Contains PySequence_In;11 alias PyMapping_Size PyMapping_Length;12 alias PyObject_DelItemString PyMapping_DelItemString;13 alias PyObject_DelItem PyMapping_DelItem;14 15 16 const int PY_ITERSEARCH_COUNT = 1;17 const int PY_ITERSEARCH_INDEX = 2;18 const int PY_ITERSEARCH_CONTAINS = 3;8 alias PyObject_Size PyObject_Length; 9 alias PySequence_Size PySequence_Length; 10 alias PySequence_Contains PySequence_In; 11 alias PyMapping_Size PyMapping_Length; 12 alias PyObject_DelItemString PyMapping_DelItemString; 13 alias PyObject_DelItem PyMapping_DelItem; 14 15 16 const int PY_ITERSEARCH_COUNT = 1; 17 const int PY_ITERSEARCH_INDEX = 2; 18 const int PY_ITERSEARCH_CONTAINS = 3; 19 19 20 20 //============================================================================== … … 23 23 bit PyIter_Check(PyObject* ob) 24 24 {/* 25 return (PyType_HasFeature(ob.ob_type, Py_TPFLAGS_HAVE_ITER) &&26 ob.ob_type.tp_iternext !== null); */27 return false;25 return (PyType_HasFeature(ob.ob_type, Py_TPFLAGS_HAVE_ITER) && 26 ob.ob_type.tp_iternext !== null); */ 27 return false; 28 28 } 29 29 30 30 PyObject* PyMapping_Keys(PyObject* ob) 31 31 { 32 return PyObject_CallMethod(ob, "keys", null);32 return PyObject_CallMethod(ob, "keys", null); 33 33 } 34 34 35 35 PyObject* PyMapping_Values(PyObject* ob) 36 36 { 37 return PyObject_CallMethod(ob, "values", null);37 return PyObject_CallMethod(ob, "values", null); 38 38 } 39 39 40 40 PyObject* PyMapping_Items(PyObject* ob) 41 41 { 42 return PyObject_CallMethod(ob, "items", null);42 return PyObject_CallMethod(ob, "items", null); 43 43 } 44 44 … … 48 48 extern(C) 49 49 { 50 50 51 51 typedef int function(PyObject*, PyObject*, int*) pfPyObject_Cmp; 52 52 typedef int function(PyObject*) pfPyCallable_Check; … … 69 69 typedef PyObject* function(PyObject*) pfPyObject_GetIter; 70 70 typedef PyObject* function(PyObject*) pfPyIter_Next; 71 pfPyObject_Cmp PyObject_Cmp;72 pfPyCallable_Check PyCallable_Check;73 pfPyObject_Call PyObject_Call;74 pfPyObject_CallObject PyObject_CallObject;75 pfPyObject_CallFunction PyObject_CallFunction;76 pfPyObject_CallMethod PyObject_CallMethod;77 pfPyObject_CallFunctionObjArgs PyObject_CallFunctionObjArgs;78 pfPyObject_CallMethodObjArgs PyObject_CallMethodObjArgs;79 pfPyObject_Type PyObject_Type;80 pfPyObject_Size PyObject_Size;81 pfPyObject_GetItem PyObject_GetItem;82 pfPyObject_SetItem PyObject_SetItem;83 pfPyObject_DelItemString PyObject_DelItemString;84 pfPyObject_DelItem PyObject_DelItem;85 pfPyObject_AsCharBuffer PyObject_AsCharBuffer;86 pfPyObject_CheckReadBuffer PyObject_CheckReadBuffer;87 pfPyObject_AsReadBuffer PyObject_AsReadBuffer;88 pfPyObject_AsWriteBuffer PyObject_AsWriteBuffer;89 pfPyObject_GetIter PyObject_GetIter;90 pfPyIter_Next PyIter_Next;71 pfPyObject_Cmp PyObject_Cmp; 72 pfPyCallable_Check PyCallable_Check; 73 pfPyObject_Call PyObject_Call; 74 pfPyObject_CallObject PyObject_CallObject; 75 pfPyObject_CallFunction PyObject_CallFunction; 76 pfPyObject_CallMethod PyObject_CallMethod; 77 pfPyObject_CallFunctionObjArgs PyObject_CallFunctionObjArgs; 78 pfPyObject_CallMethodObjArgs PyObject_CallMethodObjArgs; 79 pfPyObject_Type PyObject_Type; 80 pfPyObject_Size PyObject_Size; 81 pfPyObject_GetItem PyObject_GetItem; 82 pfPyObject_SetItem PyObject_SetItem; 83 pfPyObject_DelItemString PyObject_DelItemString; 84 pfPyObject_DelItem PyObject_DelItem; 85 pfPyObject_AsCharBuffer PyObject_AsCharBuffer; 86 pfPyObject_CheckReadBuffer PyObject_CheckReadBuffer; 87 pfPyObject_AsReadBuffer PyObject_AsReadBuffer; 88 pfPyObject_AsWriteBuffer PyObject_AsWriteBuffer; 89 pfPyObject_GetIter PyObject_GetIter; 90 pfPyIter_Next PyIter_Next; 91 91 92 92 typedef int function(PyObject*) pfPyNumber_Check; … … 125 125 typedef PyObject* function(PyObject*, PyObject*) pfPyNumber_InPlaceXor; 126 126 typedef PyObject* function(PyObject*, PyObject*) pfPyNumber_InPlaceOr; 127 pfPyNumber_Check PyNumber_Check;128 pfPyNumber_Add PyNumber_Add;129 pfPyNumber_Subtract PyNumber_Subtract;130 pfPyNumber_Multiply PyNumber_Multiply;131 pfPyNumber_Divide PyNumber_Divide;132 pfPyNumber_FloorDivide PyNumber_FloorDivide;133 pfPyNumber_TrueDivide PyNumber_TrueDivide;134 pfPyNumber_Remainder PyNumber_Remainder;135 pfPyNumber_Divmod PyNumber_Divmod;136 pfPyNumber_Power PyNumber_Power;137 pfPyNumber_Negative PyNumber_Negative;138 pfPyNumber_Positive PyNumber_Positive;139 pfPyNumber_Absolute PyNumber_Absolute;140 pfPyNumber_Invert PyNumber_Invert;141 pfPyNumber_Lshift PyNumber_Lshift;142 pfPyNumber_Rshift PyNumber_Rshift;143 pfPyNumber_And PyNumber_And;144 pfPyNumber_Xor PyNumber_Xor;145 pfPyNumber_Or PyNumber_Or;146 pfPyNumber_Int PyNumber_Int;147 pfPyNumber_Long PyNumber_Long;148 pfPyNumber_Float PyNumber_Float;149 pfPyNumber_InPlaceAdd PyNumber_InPlaceAdd;150 pfPyNumber_InPlaceSubtract PyNumber_InPlaceSubtract;151 pfPyNumber_InPlaceMultiply PyNumber_InPlaceMultiply;152 pfPyNumber_InPlaceDivide PyNumber_InPlaceDivide;153 pfPyNumber_InPlaceFloorDivide PyNumber_InPlaceFloorDivide;154 pfPyNumber_InPlaceTrueDivide PyNumber_InPlaceTrueDivide;155 pfPyNumber_InPlaceRemainder PyNumber_InPlaceRemainder;156 pfPyNumber_InPlacePower PyNumber_InPlacePower;157 pfPyNumber_InPlaceLshift PyNumber_InPlaceLshift;158 pfPyNumber_InPlaceRshift PyNumber_InPlaceRshift;159 pfPyNumber_InPlaceAnd PyNumber_InPlaceAnd;160 pfPyNumber_InPlaceXor PyNumber_InPlaceXor;161 pfPyNumber_InPlaceOr PyNumber_InPlaceOr;127 pfPyNumber_Check PyNumber_Check; 128 pfPyNumber_Add PyNumber_Add; 129 pfPyNumber_Subtract PyNumber_Subtract; 130 pfPyNumber_Multiply PyNumber_Multiply; 131 pfPyNumber_Divide PyNumber_Divide; 132 pfPyNumber_FloorDivide PyNumber_FloorDivide; 133 pfPyNumber_TrueDivide PyNumber_TrueDivide; 134 pfPyNumber_Remainder PyNumber_Remainder; 135 pfPyNumber_Divmod PyNumber_Divmod; 136 pfPyNumber_Power PyNumber_Power; 137 pfPyNumber_Negative PyNumber_Negative; 138 pfPyNumber_Positive PyNumber_Positive; 139 pfPyNumber_Absolute PyNumber_Absolute; 140 pfPyNumber_Invert PyNumber_Invert; 141 pfPyNumber_Lshift PyNumber_Lshift; 142 pfPyNumber_Rshift PyNumber_Rshift; 143 pfPyNumber_And PyNumber_And; 144 pfPyNumber_Xor PyNumber_Xor; 145 pfPyNumber_Or PyNumber_Or; 146 pfPyNumber_Int PyNumber_Int; 147 pfPyNumber_Long PyNumber_Long; 148 pfPyNumber_Float PyNumber_Float; 149 pfPyNumber_InPlaceAdd PyNumber_InPlaceAdd; 150 pfPyNumber_InPlaceSubtract PyNumber_InPlaceSubtract; 151 pfPyNumber_InPlaceMultiply PyNumber_InPlaceMultiply; 152 pfPyNumber_InPlaceDivide PyNumber_InPlaceDivide; 153 pfPyNumber_InPlaceFloorDivide PyNumber_InPlaceFloorDivide; 154 pfPyNumber_InPlaceTrueDivide PyNumber_InPlaceTrueDivide; 155 pfPyNumber_InPlaceRemainder PyNumber_InPlaceRemainder; 156 pfPyNumber_InPlacePower PyNumber_InPlacePower; 157 pfPyNumber_InPlaceLshift PyNumber_InPlaceLshift; 158 pfPyNumber_InPlaceRshift PyNumber_InPlaceRshift; 159 pfPyNumber_InPlaceAnd PyNumber_InPlaceAnd; 160 pfPyNumber_InPlaceXor PyNumber_InPlaceXor; 161 pfPyNumber_InPlaceOr PyNumber_InPlaceOr; 162 162 163 163 typedef int function(PyObject*) pfPySequence_Check; … … 180 180 typedef PyObject* function(PyObject*, PyObject*) pfPySequence_InPlaceConcat; 181 181 typedef PyObject* function(PyObject*, int) pfPySequence_InPlaceRepeat; 182 pfPySequence_Check PySequence_Check;183 pfPySequence_Size PySequence_Size;184 pfPySequence_Concat PySequence_Concat;185 pfPySequence_Repeat PySequence_Repeat;186 pfPySequence_GetItem PySequence_GetItem;187 pfPySequence_GetSlice PySequence_GetSlice;188 pfPySequence_SetItem PySequence_SetItem;189 pfPySequence_DelItem PySequence_DelItem;190 pfPySequence_SetSlice PySequence_SetSlice;191 pfPySequence_DelSlice PySequence_DelSlice;192 pfPySequence_Tuple PySequence_Tuple;193 pfPySequence_List PySequence_List;194 pfPySequence_Fast PySequence_Fast;195 pfPySequence_Count PySequence_Count;196 pfPySequence_Contains PySequence_Contains;197 pf_PySequence_IterSearch _PySequence_IterSearch;198 pfPySequence_Index PySequence_Index;199 pfPySequence_InPlaceConcat PySequence_InPlaceConcat;200 pfPySequence_InPlaceRepeat PySequence_InPlaceRepeat;182 pfPySequence_Check PySequence_Check; 183 pfPySequence_Size PySequence_Size; 184 pfPySequence_Concat PySequence_Concat; 185 pfPySequence_Repeat PySequence_Repeat; 186 pfPySequence_GetItem PySequence_GetItem; 187 pfPySequence_GetSlice PySequence_GetSlice; 188 pfPySequence_SetItem PySequence_SetItem; 189 pfPySequence_DelItem PySequence_DelItem; 190 pfPySequence_SetSlice PySequence_SetSlice; 191 pfPySequence_DelSlice PySequence_DelSlice; 192 pfPySequence_Tuple PySequence_Tuple; 193 pfPySequence_List PySequence_List; 194 pfPySequence_Fast PySequence_Fast; 195 pfPySequence_Count PySequence_Count; 196 pfPySequence_Contains PySequence_Contains; 197 pf_PySequence_IterSearch _PySequence_IterSearch; 198 pfPySequence_Index PySequence_Index; 199 pfPySequence_InPlaceConcat PySequence_InPlaceConcat; 200 pfPySequence_InPlaceRepeat PySequence_InPlaceRepeat; 201 201 202 202 typedef int function(PyObject*) pfPyMapping_Check; … … 208 208 typedef int function(PyObject*, PyObject*) pfPyObject_IsInstance; 209 209 typedef int function(PyObject*, PyObject*) pfPyObject_IsSubclass; 210 pfPyMapping_Check PyMapping_Check;211 pfPyMapping_Size PyMapping_Size;212 pfPyMapping_HasKeyString PyMapping_HasKeyString;213 pfPyMapping_HasKey PyMapping_HasKey;214 pfPyMapping_GetItemString PyMapping_GetItemString;215 pfPyMapping_SetItemString PyMapping_SetItemString;216 pfPyObject_IsInstance PyObject_IsInstance;217 pfPyObject_IsSubclass PyObject_IsSubclass;210 pfPyMapping_Check PyMapping_Check; 211 pfPyMapping_Size PyMapping_Size; 212 pfPyMapping_HasKeyString PyMapping_HasKeyString; 213 pfPyMapping_HasKey PyMapping_HasKey; 214 pfPyMapping_GetItemString PyMapping_GetItemString; 215 pfPyMapping_SetItemString PyMapping_SetItemString; 216 pfPyObject_IsInstance PyObject_IsInstance; 217 pfPyObject_IsSubclass PyObject_IsSubclass; 218 218 219 219 } // extern(C) trunk/DerelictPY/derelict/python/boolobject.d
r48 r56 19 19 bit PyBool_Check(PyObject* obj) 20 20 { 21 return (obj.ob_type is PyBool_Type);21 return (obj.ob_type is PyBool_Type); 22 22 } 23 23 … … 28 28 { 29 29 typedef PyObject* function(int) pfPyBool_FromLong; 30 pfPyBool_FromLong PyBool_FromLong;30 pfPyBool_FromLong PyBool_FromLong; 31 31 } trunk/DerelictPY/derelict/python/bufferobject.d
r48 r56 6 6 // TYPES 7 7 //============================================================================== 8 const int Py_END_OF_BUFFER = -1;8 const int Py_END_OF_BUFFER = -1; 9 9 10 10 PyTypeObject* PyBuffer_Type; … … 15 15 bit PyBuffer_Check(PyObject *obj) 16 16 { 17 return (obj.ob_type is PyBuffer_Type);17 return (obj.ob_type is PyBuffer_Type); 18 18 } 19 19 … … 23 23 extern(C) 24 24 { 25 25 26 26 typedef PyObject* function(PyObject*, int, int) pfPyBuffer_FromObject; 27 27 typedef PyObject* function(PyObject*, int, int) pfPyBuffer_FromReadWriteObject; … … 29 29 typedef PyObject* function(void*, int) pfPyBuffer_FromReadWriteMemory; 30 30 typedef PyObject* function(int) pfPyBuffer_New; 31 pfPyBuffer_FromObject PyBuffer_FromObject;32 pfPyBuffer_FromReadWriteObject PyBuffer_FromReadWriteObject;33 pfPyBuffer_FromMemory PyBuffer_FromMemory;34 pfPyBuffer_FromReadWriteMemory PyBuffer_FromReadWriteMemory;35 pfPyBuffer_New PyBuffer_New;31 pfPyBuffer_FromObject PyBuffer_FromObject; 32 pfPyBuffer_FromReadWriteObject PyBuffer_FromReadWriteObject; 33 pfPyBuffer_FromMemory PyBuffer_FromMemory; 34 pfPyBuffer_FromReadWriteMemory PyBuffer_FromReadWriteMemory; 35 pfPyBuffer_New PyBuffer_New; 36 36 37 37 } // extern(C) trunk/DerelictPY/derelict/python/cellobject.d
r48 r56 8 8 struct PyCellObject 9 9 { 10 mixin PyObject_HEAD;11 PyObject* ob_ref;10 mixin PyObject_HEAD; 11 PyObject* ob_ref; 12 12 } 13 13 … … 19 19 bit PyCell_Check(PyObject *obj) 20 20 { 21 return (obj.ob_type is PyCell_Type);21 return (obj.ob_type is PyCell_Type); 22 22 } 23 23 … … 27 27 extern(C) 28 28 { 29 29 30 30 typedef PyObject* function(PyObject*) pfPyCell_New; 31 31 typedef PyObject* function(PyObject*) pfPyCell_Get; 32 32 typedef int function(PyObject*, PyObject*) pfPyCell_Set; 33 pfPyCell_New PyCell_New;34 pfPyCell_Get PyCell_Get;35 pfPyCell_Set PyCell_Set;33 pfPyCell_New PyCell_New; 34 pfPyCell_Get PyCell_Get; 35 pfPyCell_Set PyCell_Set; 36 36 37 37 } // extern(C) trunk/DerelictPY/derelict/python/ceval.d
r50 r56 20 20 PyObject* PyEval_CallObject(PyObject* func, PyObject* arg) 21 21 { 22 return PyEval_CallObjectWithKeywords(func, arg, null);22 return PyEval_CallObjectWithKeywords(func, arg, null); 23 23 } 24 24 … … 33 33 typedef void function(Py_tracefunc,PyObject*) pfPyEval_SetProfile; 34 34 typedef void function(Py_tracefunc,PyObject*) pfPyEval_SetTrace; 35 pfPyEval_CallObjectWithKeywords PyEval_CallObjectWithKeywords;36 pfPyEval_CallFunction PyEval_CallFunction;37 pfPyEval_CallMethod PyEval_CallMethod;38 pfPyEval_SetProfile PyEval_SetProfile;39 pfPyEval_SetTrace PyEval_SetTrace;35 pfPyEval_CallObjectWithKeywords PyEval_CallObjectWithKeywords; 36 pfPyEval_CallFunction PyEval_CallFunction; 37 pfPyEval_CallMethod PyEval_CallMethod; 38 pfPyEval_SetProfile PyEval_SetProfile; 39 pfPyEval_SetTrace PyEval_SetTrace; 40 40 41 41 typedef PyObject* function() pfPyEval_GetBuiltins; … … 44 44 typedef PyFrameObject* function() pfPyEval_GetFrame; 45 45 typedef int function() pfPyEval_GetRestricted; 46 pfPyEval_GetBuiltins PyEval_GetBuiltins;47 pfPyEval_GetGlobals PyEval_GetGlobals;48 pfPyEval_GetLocals PyEval_GetLocals;49 pfPyEval_GetFrame PyEval_GetFrame;50 pfPyEval_GetRestricted PyEval_GetRestricted;46 pfPyEval_GetBuiltins PyEval_GetBuiltins; 47 pfPyEval_GetGlobals PyEval_GetGlobals; 48 pfPyEval_GetLocals PyEval_GetLocals; 49 pfPyEval_GetFrame PyEval_GetFrame; 50 pfPyEval_GetRestricted PyEval_GetRestricted; 51 51 52 52 typedef int function(PyCompilerFlags*) pfPyEval_MergeCompilerFlags; 53 pfPyEval_MergeCompilerFlags PyEval_MergeCompilerFlags;53 pfPyEval_MergeCompilerFlags PyEval_MergeCompilerFlags; 54 54 55 55 typedef int function() pfPy_FlushLine; … … 58 58 typedef void function(int) pfPy_SetRecursionLimit; 59 59 typedef int function() pfPy_GetRecursionLimit; 60 pfPy_FlushLine Py_FlushLine;61 pfPy_AddPendingCall Py_AddPendingCall;62 pfPy_MakePendingCalls Py_MakePendingCalls;63 pfPy_SetRecursionLimit Py_SetRecursionLimit;64 pfPy_GetRecursionLimit Py_GetRecursionLimit;60 pfPy_FlushLine Py_FlushLine; 61 pfPy_AddPendingCall Py_AddPendingCall; 62 pfPy_MakePendingCalls Py_MakePendingCalls; 63 pfPy_SetRecursionLimit Py_SetRecursionLimit; 64 pfPy_GetRecursionLimit Py_GetRecursionLimit; 65 65 66 66 typedef char* function(PyObject*) pfPyEval_GetFuncName; 67 67 typedef char* function(PyObject*) pfPyEval_GetFuncDesc; 68 68 typedef PyObject* function(PyObject*) pfPyEval_GetCallStats; 69 pfPyEval_GetFuncName PyEval_GetFuncName;70 pfPyEval_GetFuncDesc PyEval_GetFuncDesc;71 pfPyEval_GetCallStats PyEval_GetCallStats;69 pfPyEval_GetFuncName PyEval_GetFuncName; 70 pfPyEval_GetFuncDesc PyEval_GetFuncDesc; 71 pfPyEval_GetCallStats PyEval_GetCallStats; 72 72 73 73 typedef PyThreadState* function() pfPyEval_SaveThread; 74 74 typedef void function(PyThreadState*) pfPyEval_RestoreThread; 75 pfPyEval_SaveThread PyEval_SaveThread;76 pfPyEval_RestoreThread PyEval_RestoreThread;75 pfPyEval_SaveThread PyEval_SaveThread; 76 pfPyEval_RestoreThread PyEval_RestoreThread; 77 77 78 78 typedef int function(PyObject*,int*) pf_PyEval_SliceIndex; 79 pf_PyEval_SliceIndex _PyEval_SliceIndex;79 pf_PyEval_SliceIndex _PyEval_SliceIndex; 80 80 81 81 version(WITH_THREAD) 82 82 { 83 83 84 84 typedef void function() pfPyEval_InitThreads; 85 85 typedef void function() pfPyEval_AcquireLock; … … 88 88 typedef void function(PyThreadState*) pfPyEval_ReleaseThread; 89 89 typedef void function() pfPyEval_ReInitThreads; 90 pfPyEval_InitThreads PyEval_InitThreads;91 pfPyEval_AcquireLock PyEval_AcquireLock;92 pfPyEval_ReleaseLock PyEval_ReleaseLock;93 pfPyEval_AcquireThread PyEval_AcquireThread;94 pfPyEval_ReleaseThread PyEval_ReleaseThread;95 pfPyEval_ReInitThreads PyEval_ReInitThreads;96 90 pfPyEval_InitThreads PyEval_InitThreads; 91 pfPyEval_AcquireLock PyEval_AcquireLock; 92 pfPyEval_ReleaseLock PyEval_ReleaseLock; 93 pfPyEval_AcquireThread PyEval_AcquireThread; 94 pfPyEval_ReleaseThread PyEval_ReleaseThread; 95 pfPyEval_ReInitThreads PyEval_ReInitThreads; 96 97 97 } // version(WITH_THREAD) 98 98 trunk/DerelictPY/derelict/python/classobject.d
r50 r56 8 8 struct PyClassObject 9 9 { 10 mixin PyObject_HEAD;11 PyObject* cl_bases;12 PyObject* cl_dict;13 PyObject* cl_name;14 PyObject* cl_getattr;15 PyObject* cl_setattr;16 PyObject* cl_delattr;10 mixin PyObject_HEAD; 11 PyObject* cl_bases; 12 PyObject* cl_dict; 13 PyObject* cl_name; 14 PyObject* cl_getattr; 15 PyObject* cl_setattr; 16 PyObject* cl_delattr; 17 17 } 18 18 19 19 struct PyInstanceObject 20 20 { 21 mixin PyObject_HEAD;22 PyClassObject* in_class;23 PyObject* in_dict;24 PyObject* in_weakreflist;21 mixin PyObject_HEAD; 22 PyClassObject* in_class; 23 PyObject* in_dict; 24 PyObject* in_weakreflist; 25 25 } 26 26 27 27 struct PyMethodObject 28 28 { 29 mixin PyObject_HEAD;30 PyObject* im_func;31 PyObject* im_self;32 PyObject* im_class;33 PyObject* in_weakreflist;29 mixin PyObject_HEAD; 30 PyObject* im_func; 31 PyObject* im_self; 32 PyObject* im_class; 33 PyObject* in_weakreflist; 34 34 } 35 35 … … 44 44 bit PyClass_Check(PyObject* obj) 45 45 { 46 return (obj.ob_type == PyClass_Type);46 return (obj.ob_type == PyClass_Type); 47 47 } 48 48 49 49 bit PyInstance_Check(PyObject* obj) 50 50 { 51 return (obj.ob_type == PyInstance_Type);51 return (obj.ob_type == PyInstance_Type); 52 52 } 53 53 54 54 bit PyMethod_Check(PyObject* obj) 55 55 { 56 return (obj.ob_type == PyMethod_Type);56 return (obj.ob_type == PyMethod_Type); 57 57 } 58 58 59 59 PyObject* PyMethod_GET_FUNCTION(PyObject* obj) 60 60 { 61 PyMethodObject* meth = cast(PyMethodObject*)obj;62 return meth.im_func;61 PyMethodObject* meth = cast(PyMethodObject*)obj; 62 return meth.im_func; 63 63 } 64 64 65 65 PyObject* PyMethod_GET_SELF(PyObject* obj) 66 66 { 67 PyMethodObject* meth = cast(PyMethodObject*)obj;68 return meth.im_self;67 PyMethodObject* meth = cast(PyMethodObject*)obj; 68 return meth.im_self; 69 69 } 70 70 71 71 PyObject* PyMethod_GET_CLASS(PyObject* obj) 72 72 { 73 PyMethodObject* meth = cast(PyMethodObject*)obj;74 return meth.im_class;73 PyMethodObject* meth = cast(PyMethodObject*)obj; 74 return meth.im_class; 75 75 } 76 76 … … 84 84 typedef PyObject* function(PyObject*,PyObject*) pfPyInstance_NewRaw; 85 85 typedef PyObject* function(PyObject*,PyObject*,PyObject*) pfPyMethod_New; 86 pfPyClass_New PyClass_New;87 pfPyInstance_New PyInstance_New;88 pfPyInstance_NewRaw PyInstance_NewRaw;89 pfPyMethod_New PyMethod_New;86 pfPyClass_New PyClass_New; 87 pfPyInstance_New PyInstance_New; 88 pfPyInstance_NewRaw PyInstance_NewRaw; 89 pfPyMethod_New PyMethod_New; 90 90 91 91 typedef PyObject* function(PyObject*) pfPyMethod_Function; 92 92 typedef PyObject* function(PyObject*) pfPyMethod_Self; 93 93 typedef PyObject* function(PyObject*) pfPyMethod_Class; 94 pfPyMethod_Function PyMethod_Function;95 pfPyMethod_Self PyMethod_Self;96 pfPyMethod_Class PyMethod_Class;94 pfPyMethod_Function PyMethod_Function; 95 pfPyMethod_Self PyMethod_Self; 96 pfPyMethod_Class PyMethod_Class; 97 97 98 98 typedef PyObject* function(PyObject*,PyObject*) pfPyInstance_Lookup; 99 99 typedef int function(PyObject*,PyObject*) pfPyClass_IsSubClass; 100 pfPyInstance_Lookup PyInstance_Lookup;101 pfPyClass_IsSubClass PyClass_IsSubClass;100 pfPyInstance_Lookup PyInstance_Lookup; 101 pfPyClass_IsSubClass PyClass_IsSubClass; 102 102 103 103 } trunk/DerelictPY/derelict/python/cobject.d
r48 r56 13 13 bit PyCObject_Check(PyObject* obj) 14 14 { 15 return (obj.ob_type is PyCObject_Type);15 return (obj.ob_type is PyCObject_Type); 16 16 } 17 17 … … 25 25 typedef PyObject* function(void*, void*, void (*destruct)(void*, void*)) pfPyCObject_FromVoidPtrAndDesc; 26 26 typedef void* function(PyObject*) pfPyCObject_AsVoidPtr; 27 typedef void* function(PyObject*) pfPyCObject_GetDesc;27 typedef void* function(PyObject*) pfPyCObject_GetDesc; 28 28 typedef void* function(char*, char*) pfPyCObject_Import; 29 pfPyCObject_FromVoidPtr PyCObject_FromVoidPtr;30 pfPyCObject_FromVoidPtrAndDesc PyCObject_FromVoidPtrAndDesc;31 pfPyCObject_AsVoidPtr PyCObject_AsVoidPtr;32 pfPyCObject_GetDesc PyCObject_GetDesc;33 pfPyCObject_Import PyCObject_Import;34 29 pfPyCObject_FromVoidPtr PyCObject_FromVoidPtr; 30 pfPyCObject_FromVoidPtrAndDesc PyCObject_FromVoidPtrAndDesc; 31 pfPyCObject_AsVoidPtr PyCObject_AsVoidPtr; 32 pfPyCObject_GetDesc PyCObject_GetDesc; 33 pfPyCObject_Import PyCObject_Import; 34 35 35 } // extern(C) trunk/DerelictPY/derelict/python/compile.d
r48 r56 11 11 struct PyCodeObject 12 12 { 13 mixin PyObject_HEAD;14 int co_argcount;15 int co_nlocals;16 int co_stacksize;17 int co_flags;18 PyObject* co_code;19 PyObject* co_consts;20 PyObject* co_names;21 PyObject* co_varnames;22 PyObject* co_freevars;23 PyObject* co_cellvars;24 PyObject* co_filename;25 PyObject* co_name;26 int co_firstlineno;27 PyObject* co_lnotab;13 mixin PyObject_HEAD; 14 int co_argcount; 15 int co_nlocals; 16 int co_stacksize; 17 int co_flags; 18 PyObject* co_code; 19 PyObject* co_consts; 20 PyObject* co_names; 21 PyObject* co_varnames; 22 PyObject* co_freevars; 23 PyObject* co_cellvars; 24 PyObject* co_filename; 25 PyObject* co_name; 26 int co_firstlineno; 27 PyObject* co_lnotab; 28 28 } 29 29 30 const int CO_OPTIMIZED = 0x0001;31 const int CO_NEWLOCALS = 0x0002;32 const int CO_VARARGS = 0x0004;33 const int CO_VARKEYWORDS = 0x0008;34 const int CO_NESTED = 0x0010;35 const int CO_GENERATOR = 0x0020;36 const int CO_NOFREE = 0x0040;37 const int CO_GENERATOR_ALLOWED = 0x1000;38 const int CO_FUTURE_DIVISION = 0x2000;30 const int CO_OPTIMIZED = 0x0001; 31 const int CO_NEWLOCALS = 0x0002; 32 const int CO_VARARGS = 0x0004; 33 const int CO_VARKEYWORDS = 0x0008; 34 const int CO_NESTED = 0x0010; 35 const int CO_GENERATOR = 0x0020; 36 const int CO_NOFREE = 0x0040; 37 const int CO_GENERATOR_ALLOWED = 0x1000; 38 const int CO_FUTURE_DIVISION = 0x2000; 39 39 40 40 PyTypeObject* PyCode_Type; 41 41 42 const int CO_MAXBLOCKS = 20;42 const int CO_MAXBLOCKS = 20; 43 43 44 44 struct PyFutureFeatures 45 45 { 46 int ff_found_docstring;47 int ff_last_lineno;48 int ff_features;46 int ff_found_docstring; 47 int ff_last_lineno; 48 int ff_features; 49 49 } 50 50 51 const char[] FUTURE_NESTED_SCOPES = "nested_scopes";52 const char[] FUTURE_GENERATORS = "generators";53 const char[] FUTURE_DIVISION = "division";51 const char[] FUTURE_NESTED_SCOPES = "nested_scopes"; 52 const char[] FUTURE_GENERATORS = "generators"; 53 const char[] FUTURE_DIVISION = "division"; 54 54 55 55 //============================================================================== … … 58 58 bit PyCode_Check(PyObject* obj) 59 59 { 60 return (obj.ob_type is PyCode_Type);60 return (obj.ob_type is PyCode_Type); 61 61 } 62 62 63 63 int PyCode_GetNumFree(PyObject *obj) 64 64 { 65 PyCodeObject *co = cast(PyCodeObject*)obj;66 PyTupleObject* tuple = cast(PyTupleObject*)co.co_freevars;67 return tuple.ob_size;65 PyCodeObject *co = cast(PyCodeObject*)obj; 66 PyTupleObject* tuple = cast(PyTupleObject*)co.co_freevars; 67 return tuple.ob_size; 68 68 } 69 69 … … 78 78 typedef PyFutureFeatures* function(node*, char*) pfPyNode_Future; 79 79 typedef PyCodeObject* function(node*, char*, PyCompilerFlags*) pfPyNode_CompileFlags; 80 pfPyNode_Compile PyNode_Compile;81 pfPyCode_New PyCode_New;82 pfPyCode_Addr2Line PyCode_Addr2Line;83 pfPyNode_Future PyNode_Future;84 pfPyNode_CompileFlags PyNode_CompileFlags;80 pfPyNode_Compile PyNode_Compile; 81 pfPyCode_New PyCode_New; 82 pfPyCode_Addr2Line PyCode_Addr2Line; 83 pfPyNode_Future PyNode_Future; 84 pfPyNode_CompileFlags PyNode_CompileFlags; 85 85 } trunk/DerelictPY/derelict/python/complexobject.d
r48 r56 6 6 // TYPES 7 7 //============================================================================== 8 struct Py_complex 8 struct Py_complex 9 9 { 10 double _real;11 double _imag;10 double _real; 11 double _imag; 12 12 } 13 13 14 struct PyComplexObject 14 struct PyComplexObject 15 15 { 16 mixin PyObject_HEAD;17 Py_complex cval;16 mixin PyObject_HEAD; 17 Py_complex cval; 18 18 } 19 19 … … 25 25 bit PyComplex_Check(PyObject *obj) 26 26 { 27 return PyObject_TypeCheck(obj, PyComplex_Type);27 return PyObject_TypeCheck(obj, PyComplex_Type); 28 28 } 29 29 30 30 bit PyComplex_CheckExact(PyObject *obj) 31 31 { 32 return (obj.ob_type is PyComplex_Type);32 return (obj.ob_type is PyComplex_Type); 33 33 } 34 34 … … 38 38 extern(C) 39 39 { 40 40 41 41 typedef PyObject* function(Py_complex) pfPyComplex_FromCComplex; 42 42 typedef PyObject* function(double, double) pfPyComplex_FromDoubles; … … 44 44 typedef double function(PyObject*) pfPyComplex_ImagAsDouble; 45 45 typedef Py_complex function(PyObject*) pfPyComplex_AsCComplex; 46 pfPyComplex_FromCComplex PyComplex_FromCComplex;47 pfPyComplex_FromDoubles PyComplex_FromDoubles;48 pfPyComplex_RealAsDouble PyComplex_RealAsDouble;49 pfPyComplex_ImagAsDouble PyComplex_ImagAsDouble;50 pfPyComplex_AsCComplex PyComplex_AsCComplex;46 pfPyComplex_FromCComplex PyComplex_FromCComplex; 47 pfPyComplex_FromDoubles PyComplex_FromDoubles; 48 pfPyComplex_RealAsDouble PyComplex_RealAsDouble; 49 pfPyComplex_ImagAsDouble PyComplex_ImagAsDouble; 50 pfPyComplex_AsCComplex PyComplex_AsCComplex; 51 51 52 52 typedef Py_complex function(Py_complex, Py_complex) _Py_c_sum; … … 57 57 typedef Py_complex function(Py_complex, Py_complex) _Py_c_pow; 58 58 59 alias _Py_c_sum pfc_sum;60 alias _Py_c_diff pfc_diff;61 alias _Py_c_neg pfc_neg;62 alias _Py_c_prod pfc_prod;63 alias _Py_c_quot pfc_quot;64 alias _Py_c_pow pfc_pow;59 alias _Py_c_sum pfc_sum; 60 alias _Py_c_diff pfc_diff; 61 alias _Py_c_neg pfc_neg; 62 alias _Py_c_prod pfc_prod; 63 alias _Py_c_quot pfc_quot; 64 alias _Py_c_pow pfc_pow; 65 65 66 pfc_sum c_sum;67 pfc_diff c_diff;68 pfc_neg c_neg;69 pfc_prod c_prod;70 pfc_quot c_quot;71 pfc_pow c_pow;66 pfc_sum c_sum; 67 pfc_diff c_diff; 68 pfc_neg c_neg; 69 pfc_prod c_prod; 70 pfc_quot c_quot; 71 pfc_pow c_pow; 72 72 73 73 } // extern(C) trunk/DerelictPY/derelict/python/descrobject.d
r48 r56 19 19 struct wrapperbase 20 20 { 21 char* name;22 int offset;23 void* func;24 wrapperfunc wrapper;25 char* doc;26 int flags;&nb
