Jack Jansen
c49250264d
One more mod for support of C++ classes.
2006-02-10 22:15:09 +00:00
Jack Jansen
03904bf20b
For overriding C++ methods we also need to know whether a parameter
...
is an output parameter or not. Added support for that.
2006-02-10 16:17:24 +00:00
Jack Jansen
35f82d7051
Fixed an oversight and a misunderstanding of PEP253:
...
- Call tp_dealloc on the static baseclass, not dynamic (which leads to
infinite loops with more than one baseclass)
- Call tp_new and tp_init on baseclasses (overridable)
-This line, and those below, will be ignored--
M bgen/bgenObjectDefinition.py
2006-02-07 22:28:09 +00:00
Tim Peters
536cf99536
Whitespace normalization.
2005-12-25 23:18:31 +00:00
Jack Jansen
09eef173b2
Enable optional "const" argument to _New routines.
2005-11-21 13:24:25 +00:00
Jack Jansen
2190f8c47e
Added a class MallocHeapOutputBufferType for types that are passed
...
as &buffer, &size and allocated by the called function.
2005-09-20 21:11:19 +00:00
Jack Jansen
b53355ad77
Added support for (optionally) bracketing calls with
...
Py_{BEGIN,END}_ALLOW_THREADS.
2005-09-20 15:13:53 +00:00
Tim Peters
f5f32b4712
Whitespace normalization.
2005-07-17 23:16:17 +00:00
Jack Jansen
149787e7c5
Added an option to the scanner to generated marked-up HTML from the input
...
file. This should make it a lot easier (I hope) to get the regular
expressions right.
2005-07-17 00:15:46 +00:00
Tim Peters
7d66b00f29
Whitespace normalization.
2005-07-10 20:37:51 +00:00
Jack Jansen
6d394d9b68
Handle argref so it can be overridden more easily in a subclass.
2005-07-08 15:03:37 +00:00
Jack Jansen
0257424a2a
Allow for (optional) const declaration.
2005-07-05 10:00:57 +00:00
Jack Jansen
a6af76cbe4
Factored out the code that creates argument lists and formats for PyArg_Parse
...
and Py_BuildValue.
2005-07-03 20:58:08 +00:00
Jack Jansen
7b8f0a1843
Sigh, changed the argument names in the tp_init function: to make them be
...
more in line with other methods "self" and "args" had to be renamed "_self"
and "_args". Did "_kwds" too, for consistency.
2005-07-03 20:57:26 +00:00
Jack Jansen
a660caf351
Added methods mkvaluePreCheck and getargsPreCheck, which are called (for
...
each variable) before calling Py_BuildValue and PyArg_Parse.
2005-07-01 20:23:27 +00:00
Jack Jansen
62cc1233f9
More factorization: added a method getrvforcallit(). This allows a C++
...
bridge to combine declaration and assignment to the return value
temporary, allowing us to handle functions returning const values.
2005-06-30 15:00:13 +00:00
Jack Jansen
d4128f397d
Added optional suppport for storage modifiers (virtual/static/inline/etc)
...
and conditional generation of objects and methods.
2005-06-29 14:17:05 +00:00
Jack Jansen
b6216dd2e7
More factorization to help C++ support.
2005-06-28 15:14:35 +00:00
Tim Peters
527c46996f
Normalize whitespace to avoid offending Bug Day volunteers.
2005-06-24 19:46:53 +00:00
Jack Jansen
c700110735
Added a missing newline Output().
2005-06-23 22:32:59 +00:00
Jack Jansen
ab16c35f46
Revamped type declaration so the basic routines return a list of strings.
...
This allows variables to be declared as formal arguments. The bgenType.declare
method now simply outputs all declarations on separate lines ending
in semicolons.
2005-06-22 20:35:23 +00:00
Jack Jansen
8ceeaba012
Added support for optional modifiers to functions/methods (such as C++ const,
...
static for methods, inline, etc).
2005-06-21 20:54:51 +00:00
Jack Jansen
2ab0ae6a54
More factorization.
2005-06-16 21:26:24 +00:00
Jack Jansen
d6d2c0d08b
More tweaks for C++ support. Still doesn't seem to break anything:-)
2005-06-14 21:32:51 +00:00
Jack Jansen
bf7255fffb
Minor tweaks, to allow some (out-of-tree, until successful) tinkering
...
with C++.
2005-06-10 10:46:40 +00:00
Tim Peters
182b5aca27
Whitespace normalization, via reindent.py.
2004-07-18 06:16:08 +00:00
Jack Jansen
c572e42fb4
Call the correct tp_dealloc.
2004-07-15 21:24:07 +00:00
Walter Dörwald
70a6b49821
Replace backticks with repr() or "%r"
...
From SF patch #852334 .
2004-02-12 17:35:32 +00:00
Jack Jansen
7107c1aff3
Got rid of macglue.h, replacing it by pymactoolbox.h where relevant.
...
Cleaned up various things in the toolbox modules.
2003-11-20 13:31:00 +00:00
Walter Dörwald
f0dfc7ac5c
Fix a bunch of typos in documentation, docstrings and comments.
...
(From SF patch #810751 )
2003-10-20 14:01:56 +00:00
Jack Jansen
c9713874ba
Updated the doc strings to refer to PyArg_Parse and Py_BuildValue in stead
...
of getargs() and mkvalue().
2003-01-24 09:23:13 +00:00
Jack Jansen
2cf08ab4c2
Sigh, due to sloppiness on my part bgen has become pretty mixed up wrt. tabs
...
and spaces. Detabbed the lot.
2003-01-19 21:53:57 +00:00
Jack Jansen
15721c5c45
Oops, old-style types don't have a tp_free slot. Call PyObject_Free
...
directly in that case.
2002-12-23 22:33:49 +00:00
Jack Jansen
77e8ad4684
Always use self->ob_type->tp_free when freeing an object.
2002-12-19 23:34:40 +00:00
Jack Jansen
5bb2f6497f
Always output an inheritance-aware version of the xxxx_Check() macro. Also
...
fixed that macro to actually work:-)
2002-12-19 20:37:32 +00:00
Jack Jansen
ff38505f1a
Added an optional longname argument to Module, which gives the full,
...
externally visible name of the module. This is so that type names can be
shown as "Carbon.File.FSSpec" even though the real name of the module is
"_File".
2002-12-17 22:08:48 +00:00
Jack Jansen
dd888a6cff
Fixed typo.
2002-12-05 23:20:12 +00:00
Jack Jansen
99899b92b8
Added PEP253 support.
2002-12-03 23:35:22 +00:00
Jack Jansen
27a4450239
Fixed two silly bugs in the PEP252 support code, added an assert
...
that basechain isn't set, and made the output a bit prettier.
2002-11-28 23:23:14 +00:00
Jack Jansen
3d654d6dff
Added a class PEP252Mixin. By adding this to your ObjectDefinition you
...
get PEP-252 style objects in stead of old-fashioned objects.
In stead of defining a GetattrHook you declare a class variable getsetlist,
which contains tuples (name, getcode, setcode, docstring).
Only lightly tested: the code still works if you don't inherit PEP252Mixin
and the code works if you inherit it but don't define any getters
or setters. Also, this will not work together with the "poor mans inheritance"
offered by method chains, so the CF module will remain with old-style
objects until PEP253 is supported too.
2002-11-25 16:36:49 +00:00
Walter Dörwald
aaab30e00c
Apply diff2.txt from SF patch http://www.python.org/sf/572113
...
(with one small bugfix in bgen/bgen/scantools.py)
This replaces string module functions with string methods
for the stuff in the Tools directory. Several uses of
string.letters etc. are still remaining.
2002-09-11 20:36:02 +00:00
Jack Jansen
f34a8bced2
Moved CoreFoundation type support to bgen/macsupport.
2002-08-22 23:30:49 +00:00
Jack Jansen
44b99e0a1f
iUse PyDoc_STR() around docstrings.
2002-08-16 09:07:42 +00:00
Jack Jansen
11845e00b2
Be a lot less verbose by default.
2002-08-05 21:15:22 +00:00
Jack Jansen
ac7cb05415
Fixed to run better in unix-Python, and to cater for bgenlocations
...
possibly being missing.
2002-08-05 15:32:30 +00:00
Jack Jansen
6573f31874
Moved bgenlocations to the Mac/Lib directory. Not perfect, but better than
...
where it was: it is really a configuration file, not a normal module.
By moving it into Mac/Lib we can now also store the location of bgen
itself in there, which is needed because bgen isn't installed.
2002-08-05 14:56:04 +00:00
Jack Jansen
7ea8143fe5
Specify pathnames in a way that works on both OS9 and OSX.
...
You'll still have to manually edit it, though...
2002-08-04 21:56:12 +00:00
Jack Jansen
bae7734eef
Use universal newline input when scanning header files.
2002-08-04 21:55:25 +00:00
Jeremy Hylton
938ace69a0
staticforward bites the dust.
...
The staticforward define was needed to support certain broken C
compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the
static keyword when it was used with a forward declaration of a static
initialized structure. Standard C allows the forward declaration with
static, and we've decided to stop catering to broken C compilers. (In
fact, we expect that the compilers are all fixed eight years later.)
I'm leaving staticforward and statichere defined in object.h as
static. This is only for backwards compatibility with C extensions
that might still use it.
XXX I haven't updated the documentation.
2002-07-17 16:30:39 +00:00
Just van Rossum
ec5d6b908c
escape 8-bit chars when generating .py files. fixes bug #566302
2002-06-09 09:08:53 +00:00