The problem is the following: before director support, the return class type of a function was hardwired. That was bad, as factory functions wanted to instantiate abstract classes, so we switched to detecting the class type based on the PHP resource type. That was good, but broke the case when for example %template(make_Interface_BP) make<Interface_<BinaryPolarization> >; was used, as the cheap parser had no idea how to turn 'Interface_T_oss__BinaryPolarization_t' to 'make_Interface_BP'. This patch still uses the resource type detection, but in case that would result in a non-existing class, we just use the hardwired name. NOTE: This still does not fix the case when abstract classes are used with templates. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11593 626c5289-ae23-0410-ae9c-e8d60b6d4f22 |
||
|---|---|---|
| .. | ||
| CParse | ||
| DOH | ||
| 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.
Historic directories which may be in CVS, but have been removed:
Source/Modules1.1 - Old SWIG-1.1 modules. Empty.
Source/LParse - Experimental parser. Officially dead
as CParse is more capable.
Source/SWIG1.1 - Old SWIG1.1 core. Completely empty now.