SwigType * handling corrections
Further corrections to pass SwigType * to methods expecting types instead of passing readable type strings. Required reworking code that adds a fake inheritance for smart pointers using the smartptr feature. Swig_smartptr_upcast() added as a support function for this.
This commit is contained in:
parent
ea3f043920
commit
2acdfd77e9
7 changed files with 98 additions and 59 deletions
|
|
@ -69,6 +69,8 @@ static Hash *typemaps;
|
|||
* resolving the template parameters.
|
||||
*
|
||||
* This is a copy and modification of feature_identifier_fix in parser.y.
|
||||
* Also, Swig_smartptr_upcast() could be removed if SwigType_typedef_resolve_all
|
||||
* is fixed to resolve all template parameters like below.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
static SwigType *typemap_identifier_fix(const SwigType *s) {
|
||||
|
|
@ -102,6 +104,7 @@ static Hash *get_typemap(const SwigType *type) {
|
|||
dtype = Swig_symbol_type_qualify(ty, 0);
|
||||
type = dtype;
|
||||
Delete(ty);
|
||||
Delete(rty);
|
||||
}
|
||||
|
||||
/* remove unary scope operator (::) prefix indicating global scope for looking up in the hashmap */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue