Skip to content

[PHP7] Removed ZEND_ACC_FINAL_CLASS which is unnecessary. #911

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

guilhermeblanco
Copy link

This also fixed some currently defined classes as final which were just not being considered as such before, such as COM, PDO Statement, DOM XML and MySQLi.
Motivation is initially optimize compilation flags usage for further expansion of class modifiers.

@guilhermeblanco guilhermeblanco changed the title Removed ZEND_ACC_FINAL_CLASS which is unnecessary. [PHP7] Removed ZEND_ACC_FINAL_CLASS which is unnecessary. Nov 22, 2014
@@ -655,7 +655,7 @@ PHP_MINIT_FUNCTION(mysqli)

REGISTER_MYSQLI_CLASS_ENTRY("mysqli_warning", mysqli_warning_class_entry, mysqli_warning_methods);
ce = mysqli_warning_class_entry;
ce->ce_flags |= ZEND_ACC_FINAL_CLASS | ZEND_ACC_PROTECTED;
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This configuration was somehow broken... we do not support protected classes (yet).

@datibbaw
Copy link
Contributor

datibbaw commented Dec 4, 2014

The documentation doesn't mention that PDOStatement is meant to be final and I wouldn't be surprised that it gets extended in the wild.

@guilhermeblanco
Copy link
Author

@datibbaw In reality, it is acually PDORow that is final, not PDOStatement... sorry for the misconception.

@guilhermeblanco guilhermeblanco force-pushed the no-zend-acc-final-class branch from b3a4c6a to 6e8abfa Compare December 5, 2014 04:15
Guilherme Blanco added 2 commits December 6, 2014 04:50
…me currently defined classes as final which were just not being considered as such before.
@guilhermeblanco guilhermeblanco force-pushed the no-zend-acc-final-class branch from 6e8abfa to db522c4 Compare December 6, 2014 04:51
@jpauli jpauli added the PHP7 label Dec 12, 2014
@jpauli
Copy link
Member

jpauli commented Dec 12, 2014

Merged

@jpauli jpauli closed this Dec 12, 2014
jpauli pushed a commit that referenced this pull request Dec 12, 2014
@guilhermeblanco guilhermeblanco deleted the no-zend-acc-final-class branch December 12, 2014 17:06
php-pulls pushed a commit that referenced this pull request Dec 13, 2014
* origin/master: (37 commits)
  NEWS
  NEWS
  Fix bug #68601 buffer read overflow in gd_gif_in.c
  Fixed compilation warnings
  Removed unnecessary checks
  pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary
  Merged PR #911.
  Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before.
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Fix bug #68532: convert.base64-encode omits padding bytes
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor)
  Updated NEWS
  Updated NEWS
  Fix MySQLi tests
  Fixed gd test
  ...
dstogov added a commit to zendtech/php-src that referenced this pull request Feb 27, 2015
* master:
  Fixed compilation warnings
  Removed unnecessary checks
  pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary
  Merged PR php#911.
  Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before.
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Fix bug #68532: convert.base64-encode omits padding bytes
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor)
  Updated NEWS
  Updated NEWS
  updated NEWS
  PowerPC64 support for add and sub with overflow check
  PowerPC64 support for operators with overflow check
  Fixed bug #68583 Crash in timeout thread
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants