AutoloadGenerator: Account for PHP 5.5 syntax like "self::static"

Bug: T128625
Change-Id: I905b549a738b76c07c56ec92f500553c1d48f558
This commit is contained in:
Timo Tijhof 2016-03-02 19:17:42 +00:00
parent 315b516cf1
commit d1b4d97a3e

View file

@ -311,6 +311,7 @@ class ClassCollector {
case T_CLASS:
case T_INTERFACE:
case T_TRAIT:
case T_DOUBLE_COLON:
$this->startToken = $token;
}
}
@ -322,6 +323,11 @@ class ClassCollector {
*/
protected function tryEndExpect( $token ) {
switch ( $this->startToken[0] ) {
case T_DOUBLE_COLON:
// Skip over T_CLASS after T_DOUBLE_COLON because this is something like
// "self::static" which accesses the class name. It doens't define a new class.
$this->startToken = null;
break;
case T_NAMESPACE:
if ( $token === ';' || $token === '{' ) {
$this->namespace = $this->implodeTokens() . '\\';