]> granicus.if.org Git - php/commitdiff
- Fix problem when crashing on illegal tokens in class name during class
authorAndi Gutmans <andi@php.net>
Tue, 1 Oct 2002 20:00:45 +0000 (20:00 +0000)
committerAndi Gutmans <andi@php.net>
Tue, 1 Oct 2002 20:00:45 +0000 (20:00 +0000)
- definition.

Zend/zend_language_parser.y

index 9fceaadbd57732607e5ac25f33e72732cc86b681..d63736438d91914d9069229dca559052fe733b18 100644 (file)
@@ -281,7 +281,7 @@ unticked_function_declaration_statement:
 ;
 
 unticked_class_declaration_statement:
-               T_CLASS declaration_class_name extends_from { zend_do_begin_class_declaration(&$1, &$2, &$3 TSRMLS_CC); } '{' class_statement_list '}' { zend_do_end_class_declaration(&$1 TSRMLS_CC); }
+               T_CLASS declaration_class_name extends_from '{' { zend_do_begin_class_declaration(&$1, &$2, &$3 TSRMLS_CC); } class_statement_list '}' { zend_do_end_class_declaration(&$1 TSRMLS_CC); }
 ;
 
 extends_from:
@@ -445,7 +445,7 @@ class_statement:
                        parameter_list ')' '{' inner_statement_list '}' { zend_do_end_function_declaration(&$1 TSRMLS_CC); }
        |       T_OLD_FUNCTION { $1.u.opline_num = CG(zend_lineno); } is_reference T_STRING { zend_do_begin_function_declaration(&$1, &$4, 1, $3.op_type TSRMLS_CC); }
                        parameter_list '(' inner_statement_list ')' ';' { zend_do_end_function_declaration(&$1 TSRMLS_CC); }
-       |       T_CLASS T_STRING extends_from { zend_do_begin_class_declaration(&$1, &$2, &$3 TSRMLS_CC); } '{' class_statement_list '}' { zend_do_end_class_declaration(&$1 TSRMLS_CC); }
+       |       T_CLASS T_STRING extends_from '{' { zend_do_begin_class_declaration(&$1, &$2, &$3 TSRMLS_CC); } class_statement_list '}' { zend_do_end_class_declaration(&$1 TSRMLS_CC); }
 ;
 
 is_reference: