diff options
author | Olly Betts <olly@survex.com> | 2021-04-14 10:59:12 +1200 |
---|---|---|
committer | Olly Betts <olly@survex.com> | 2021-04-14 10:59:12 +1200 |
commit | 50f92dca08d3cb38b437c60b5ee699ec2d8c29ab (patch) | |
tree | 8a6e74e18c93779bf7795c83abc68abaf1091e19 /Source | |
parent | 40906ae85689ec807fdd00bb91d11e0ecd0591af (diff) | |
download | swig-50f92dca08d3cb38b437c60b5ee699ec2d8c29ab.tar.gz |
Mark wrapped abstract classes
This allows restoring reflection checks in testcase director_abstract.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Modules/php.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Modules/php.cxx b/Source/Modules/php.cxx index c4e746a8b..c187fbaab 100644 --- a/Source/Modules/php.cxx +++ b/Source/Modules/php.cxx @@ -1783,6 +1783,10 @@ public: Printf(s_oinit, " SWIGTYPE_%s_ce = zend_register_internal_class(&SWIGTYPE_%s_internal_ce);\n", class_name, class_name); } + if (Getattr(n, "abstracts") && !GetFlag(n, "feature:notabstract")) { + Printf(s_oinit, " SWIGTYPE_%s_ce->ce_flags |= ZEND_ACC_EXPLICIT_ABSTRACT_CLASS;\n", class_name); + } + { Node *node = NewHash(); Setattr(node, "type", Getattr(n, "name")); |