Update for 1.3.17 release
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4127 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
a3255749ac
commit
5fcae5eb66
2 changed files with 27 additions and 22 deletions
2
README
2
README
|
|
@ -1,6 +1,6 @@
|
|||
SWIG (Simplified Wrapper and Interface Generator)
|
||||
|
||||
Version: 1.3.16 (October 14, 2002)
|
||||
Version: 1.3.17 (November 22, 2002)
|
||||
|
||||
$Header$
|
||||
|
||||
|
|
|
|||
47
TODO
47
TODO
|
|
@ -1,11 +1,11 @@
|
|||
SWIG TO-DO
|
||||
SWIG TO-DO
|
||||
|
||||
Release: SWIG-1.3.16 (Late September, 2002)
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
**** = High Priority
|
||||
*** = Implement if possible.
|
||||
** = Will implement if time.
|
||||
** = Will implement if time.
|
||||
* = Implement if bored (or deemed necessary).
|
||||
|
||||
defer = Implement in 1.3.17
|
||||
|
|
@ -25,7 +25,7 @@ defer ready to go. The primary obstacle lies in the target language
|
|||
};
|
||||
|
||||
This is one of the last remaining "hard" problems in the SWIG
|
||||
core, but it is important that we solve it.
|
||||
core, but it is important that we solve it.
|
||||
|
||||
**** Typemap environments. Stay tuned.
|
||||
|
||||
|
|
@ -62,12 +62,19 @@ defer ready to go. The primary obstacle lies in the target language
|
|||
|
||||
*** Add attributes to the %feature directive. Something like:
|
||||
|
||||
%feature("except", throws="OutOfMemoryException")
|
||||
%feature("except", throws="OutOfMemoryException")
|
||||
|
||||
*** Implement $fail special variable substitution in wrappers. Used
|
||||
to properly transfer control out of a wrapper function while
|
||||
reclaiming resources.
|
||||
|
||||
*** Better targeting of output typemaps. For example:
|
||||
It is not possible to target an output typemap for function
|
||||
Foo::func() and not Bar::func(). Output typemaps need to support
|
||||
syntax something along the lines of:
|
||||
|
||||
%typemap(out) int *Foo::func { ... }
|
||||
|
||||
*** Rewrite declaration annotation to better unify %rename and related
|
||||
directives. Add a selector mechanism that allows specific parse tree
|
||||
nodes to be identified. For example:
|
||||
|
|
@ -77,8 +84,8 @@ defer ready to go. The primary obstacle lies in the target language
|
|||
Also desirable for the Java module to specify the classes to go in the
|
||||
throw clause:
|
||||
|
||||
%feature("except", throws="OutOfMemoryException") Foo {
|
||||
... code which throws the OutOfMemoryException ...
|
||||
%feature("except", throws="OutOfMemoryException") Foo {
|
||||
... code which throws the OutOfMemoryException ...
|
||||
};
|
||||
|
||||
Consider use of wildcards. Namespace/nested scope support in
|
||||
|
|
@ -89,7 +96,7 @@ defer ready to go. The primary obstacle lies in the target language
|
|||
*** Bring Aquinas' contract/assertion checking code online.
|
||||
|
||||
*** Add more intelligent information related to object ownership.
|
||||
SWIG should be able to automatically strip ownership from
|
||||
SWIG should be able to automatically strip ownership from
|
||||
objects when they are assigned to pointer variables and structure
|
||||
members as well as stored in a container (i.e., an array of pointers).
|
||||
|
||||
|
|
@ -104,7 +111,7 @@ defer ready to go. The primary obstacle lies in the target language
|
|||
public:
|
||||
Blah *operator->();
|
||||
};
|
||||
|
||||
|
||||
class Bar : public Foo {
|
||||
}
|
||||
|
||||
|
|
@ -132,7 +139,7 @@ defer ready to go. The primary obstacle lies in the target language
|
|||
** Unification of symbol tables and type system scopes. In a sense
|
||||
they capture the same information so it is not necessary to have
|
||||
both. The existence of two symbol management systems is mostly
|
||||
historical.
|
||||
historical.
|
||||
|
||||
** Add a warning for uninstantiated templates. For example, if a function
|
||||
using a template type, but that type hasn't been instantiated using
|
||||
|
|
@ -146,9 +153,6 @@ defer ready to go. The primary obstacle lies in the target language
|
|||
Build
|
||||
-----
|
||||
|
||||
**** Upgrade libtool to a more recent version. Might fix linking on OS-X
|
||||
but should definitely help on Cygwin.
|
||||
|
||||
**** Make sure there are tests for *ALL* library files in the test-suite.
|
||||
A number of files appear to be broken in SWIG-1.3.13.
|
||||
|
||||
|
|
@ -157,7 +161,7 @@ Build
|
|||
|
||||
* Upgrade autoconf? This will definitely help for Windows. The later the
|
||||
version the better.
|
||||
|
||||
|
||||
Library
|
||||
-------
|
||||
|
||||
|
|
@ -218,10 +222,10 @@ Ruby
|
|||
from Base2 would still work as they currently are, unless other derived
|
||||
classes also use MI. The exception and extra wrapper generation would
|
||||
only kick in with the use of multiple inheritance where the base class
|
||||
information is available to SWIG.
|
||||
information is available to SWIG.
|
||||
|
||||
The feature could be turned on and off, and doesn't have to be default
|
||||
if necessary.
|
||||
if necessary.
|
||||
|
||||
I was under the impression that the Tcl module, until a few releases ago,
|
||||
did all inheritance this way (generating wrappers for superclass methods
|
||||
|
|
@ -235,12 +239,12 @@ Ruby
|
|||
support for MI at all unless you want to get fancy with mixins. I'm not
|
||||
sure how good of an idea that is or even if it is workable.
|
||||
"""
|
||||
|
||||
|
||||
Another problem (which we can't really get around anyways) is that
|
||||
basic inheritance relationships wouldn't be true at the Ruby level,
|
||||
e.g. Derived#is_a?(Base1) would return true but Derived#is_a?(Base2)
|
||||
would return false.
|
||||
|
||||
|
||||
** A related suggestion from Brett Williams (and perhaps an alternative
|
||||
to the previously described workaround for MI) is to provide a
|
||||
variant of the %extend directive that allows you to pretend that these
|
||||
|
|
@ -258,7 +262,7 @@ Ruby
|
|||
As written, SWIG would expect you to have provided functions with
|
||||
names classname_AddArtProperty(), etc. somewhere else in the wrapper
|
||||
code. We'd prefer that it somehow knew to call the function directly.
|
||||
|
||||
|
||||
* Consider adding a switch to define everything in the global (Kernel)
|
||||
module instead of nested in a user-defined module, but only if
|
||||
it comes up.
|
||||
|
|
@ -266,8 +270,7 @@ Ruby
|
|||
Java
|
||||
----
|
||||
|
||||
* Consider using typemaps for proxy class code generation. [partially
|
||||
implemented]
|
||||
[DONE] Consider using typemaps for proxy class code generation.
|
||||
|
||||
PHP
|
||||
---
|
||||
|
|
@ -315,7 +318,7 @@ Guile
|
|||
code that puts the functions into our type table. No
|
||||
additional functions are generated.
|
||||
|
||||
-- The default for all pointer types would be:
|
||||
-- The default for all pointer types would be:
|
||||
%typemap(destructor) SWIGPOINTER * "free";
|
||||
(or "delete" for C++)
|
||||
|
||||
|
|
@ -336,6 +339,8 @@ Guile
|
|||
** Maybe communicate the type system between object modules via Scheme
|
||||
variables, rather than a shared object.
|
||||
|
||||
** Provide a clean way to construct type predicates.
|
||||
|
||||
Mzscheme
|
||||
--------
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue