[Python] Fix lack of generation of docstrings when -O is used.

Also, fix generation of docstrings containing a double quote
character.  Patch from Richard Boulton in bug#1700146.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9684 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Olly Betts 2007-04-20 01:16:31 +00:00
commit 898e5f7f3d
8 changed files with 66 additions and 2 deletions

View file

@ -0,0 +1,23 @@
TOP = ../..
SWIG = $(TOP)/../preinst-swig
CXXSRCS = example.cxx
TARGET = example
INTERFACE = example.i
LIBS = -lm
SWIGOPT = -O
all::
$(MAKE) -f $(TOP)/Makefile CXXSRCS='$(CXXSRCS)' SWIG='$(SWIG)' \
SWIGOPT='$(SWIGOPT)' \
TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' python_cpp
static::
$(MAKE) -f $(TOP)/Makefile CXXSRCS='$(CXXSRCS)' SWIG='$(SWIG)' \
SWIGOPT='$(SWIGOPT)' \
TARGET='mypython' INTERFACE='$(INTERFACE)' python_cpp_static
clean::
$(MAKE) -f $(TOP)/Makefile python_clean
rm -f $(TARGET).py
check: all

View file

@ -0,0 +1,4 @@
#include "example.h"
void Foo::bar() {}

View file

@ -0,0 +1,4 @@
class Foo {
public:
void bar();
};

View file

@ -0,0 +1,14 @@
/* File : example.i */
%module example
%{
#include "example.h"
%}
/* %feature("docstring") has to come before the declaration of the method to
* SWIG. */
%feature("docstring") Foo::bar "No comment"
/* Let's just grab the original header file here */
%include "example.h"

View file

@ -0,0 +1,6 @@
# file: runme.py
import example
print "example.Foo.bar.__doc__ =", repr(example.Foo.bar.__doc__), "(Should be 'No comment')"