The approach of the parent commit almost worked, but broke down if the main module itself redefined typemaps for SWIGTYPE, as this broke generation of SWIG_CException wrappers when we finally did it at the end. This probably could be salvaged by explicitly defining the typemaps for SWIG_CException itself and also "int" and "char*", used for its functions, but this just seems too fragile so switch to a different approach instead: examine the parse tree immediately when starting generation to check if it contains any %imports, and decide whether we need to generate exceptions support in this module based on this. New version seems more robust and easier to understand, and is probably not noticeably slower. Still keep the one in the previous commit just in case we need/want to return to it later -- but keep in min the typemap redefinition problem described above if we do it. |
||
|---|---|---|
| .. | ||
| CParse | ||
| DOH | ||
| Doxygen | ||
| Include | ||
| Modules | ||
| Preprocessor | ||
| Swig | ||
| Makefile.am | ||
| README | ||
SWIG Source directory
Source/DOH - A core set of basic datatypes including
strings, lists, hashes, and files. Used
extensively by the rest of SWIG.
Source/Swig - Swig core. Type-system, utility functions.
Source/Preprocessor - SWIG C Preprocessor
Source/CParse - SWIG C Parser (still messy)
Source/Modules - Language modules.
Source/Include - Include files.