Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:79406 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 95189 invoked from network); 4 Dec 2014 00:47:05 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Dec 2014 00:47:05 -0000 Authentication-Results: pb1.pair.com smtp.mail=guilhermeblanco@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=guilhermeblanco@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.223.170 as permitted sender) X-PHP-List-Original-Sender: guilhermeblanco@gmail.com X-Host-Fingerprint: 209.85.223.170 mail-ie0-f170.google.com Received: from [209.85.223.170] ([209.85.223.170:55781] helo=mail-ie0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4D/C9-15597-80FAF745 for ; Wed, 03 Dec 2014 19:47:04 -0500 Received: by mail-ie0-f170.google.com with SMTP id rd18so14836693iec.29 for ; Wed, 03 Dec 2014 16:47:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=tScyE7mHl/ZnSigjRgIr1D/W7g75v2Ms9r/a1wUpo3M=; b=GGVwgMeCl7q2iZ5F+i6ZUJIKfBjL3CaHiwZTFm77FgvGSoaAKW3MOj1dworhJ04IIR VpuvNIZXgDeHjb7WkITirhDuYDLsLMDfq8xHQbf/wsIffz4c/Lkqn4Q7kp4oPqE6F0V4 Q6Y34hSOhBHmLURpZxLZeix0jeVk2r/eHVdQloilRYNbpBc39ykGuf0rZVBOFDQOJn3V LBnuqPzh/TdSpvo8TXXdgJ0p2ewHViM52Bw5pW3S9E1XDHdy03i6JnPT/GSeLjCVfg3a ePX4rwhlTvlTqjJpnt6CKWG8EknTIDw7h7b+/aHNBoa2TtZXmmw2gRnoClL74aVrPPL+ Yl9g== X-Received: by 10.42.103.7 with SMTP id k7mr9386018ico.33.1417654021454; Wed, 03 Dec 2014 16:47:01 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.238.75 with HTTP; Wed, 3 Dec 2014 16:46:41 -0800 (PST) Date: Wed, 3 Dec 2014 19:46:41 -0500 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary=20cf303ea0365d040c0509594ce9 Subject: Zend language parser improvements From: guilhermeblanco@gmail.com ("guilhermeblanco@gmail.com") --20cf303ea0365d040c0509594ce9 Content-Type: text/plain; charset=UTF-8 Hi, I made some improvements that would like to get merged into PHP, but I require someone with Zend karma to review and merge. The patches are all related and included in each other as a progressive effort. As a quick explanation, the removal of ZEND_ACC_FINAL_CLASS addresses some classes that were not properly assigned as final. They're now final. Examples are COM, PDO Statement, DOM XML and MySQLi. They also reduce the amount of checks of bison when parsing a php file, it provides a nicer fatal error around multiple final and multiple abstract mix between abstract and final instead of a generic parser error. Finally, ZEND_ACC_TRAIT got updated to a saner value. It was pretty complex to comprehend why it was 0x120. It was done because a trait was considered internally as abstract because of instantiation and inheritance checking. This all got addressed too. Here they are: - ZEND_ACC_TRAIT value update: https://github.com/php/php-src/pull/931 (includes the next one) - Zend language parser class decoupling: https://github.com/php/php-src/pull/928 (includes the next one) - ZEND_ACC_FINAL_CLASS removal: https://github.com/php/php-src/pull/911 Theoretically, merging the first one would mean merging all, but I left them separate for proper case by case evaluation. Regards, -- Guilherme Blanco MSN: guilhermeblanco@hotmail.com GTalk: guilhermeblanco Toronto - ON/Canada --20cf303ea0365d040c0509594ce9--