This required slightly changing the approach used for resolving types in emit_member_function(), as we can't resolve the type and the casts to/from it independently any more, but need to do both at once, as this is required when it's done indirectly due to $typemap() expansion, and we can't make "return" part of the returned wrapper as we could end with multiple "returns". So replace expr_wrapper with type_desc containing both the wrappers and the type itself and add "return" in emit_member_function() itself for non-void functions. Also use IIFE so that we can always just prepend this "return" in the beginning. Also connect things up so that C++-specific type resolution function is used while C++ wrappers are being generated. |
||
|---|---|---|
| .. | ||
| allocate.cxx | ||
| browser.cxx | ||
| c.cxx | ||
| cffi.cxx | ||
| contract.cxx | ||
| csharp.cxx | ||
| d.cxx | ||
| directors.cxx | ||
| emit.cxx | ||
| go.cxx | ||
| guile.cxx | ||
| interface.cxx | ||
| java.cxx | ||
| javascript.cxx | ||
| lang.cxx | ||
| lua.cxx | ||
| main.cxx | ||
| mzscheme.cxx | ||
| nested.cxx | ||
| ocaml.cxx | ||
| octave.cxx | ||
| overload.cxx | ||
| perl5.cxx | ||
| php.cxx | ||
| python.cxx | ||
| r.cxx | ||
| README | ||
| ruby.cxx | ||
| scilab.cxx | ||
| swigmain.cxx | ||
| swigmod.h | ||
| tcl8.cxx | ||
| typepass.cxx | ||
| utils.cxx | ||
| xml.cxx | ||
06/25/2002 This directory contains all of the SWIG language modules. Many of these modules contain code that dates back to SWIG1.0. The module API has changed a lot in the development releases so this is fairly messy. We're working on cleaning it up, but you'll have to bear with us until it's done. -- Dave