summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorOlly Betts <olly@survex.com>2021-04-14 10:59:12 +1200
committerOlly Betts <olly@survex.com>2021-04-14 10:59:12 +1200
commit50f92dca08d3cb38b437c60b5ee699ec2d8c29ab (patch)
tree8a6e74e18c93779bf7795c83abc68abaf1091e19 /Source
parent40906ae85689ec807fdd00bb91d11e0ecd0591af (diff)
downloadswig-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.cxx4
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"));