@@ -210,6 +210,7 @@ void shutdown_scanner(void)
210
210
zend_ptr_stack_destroy (&SCNG (heredoc_label_stack));
211
211
SCNG (heredoc_scan_ahead) = 0 ;
212
212
SCNG (on_event) = NULL ;
213
+ SCNG (on_event_context) = NULL ;
213
214
}
214
215
215
216
ZEND_API void zend_save_lexical_state (zend_lex_state *lex_state)
@@ -581,6 +582,8 @@ ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
581
582
zend_set_compiled_filename (compiled_filename);
582
583
zend_string_release_ex (compiled_filename, 0 );
583
584
585
+ SCNG (on_event) = NULL ;
586
+ SCNG (on_event_context) = NULL ;
584
587
RESET_DOC_COMMENT ();
585
588
CG (zend_lineno) = 1 ;
586
589
CG (increment_lineno) = 0 ;
@@ -766,6 +769,8 @@ ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
766
769
zend_set_compiled_filename (filename);
767
770
CG (zend_lineno) = 1 ;
768
771
CG (increment_lineno) = 0 ;
772
+ SCNG (on_event) = NULL ;
773
+ SCNG (on_event_context) = NULL ;
769
774
RESET_DOC_COMMENT ();
770
775
}
771
776
@@ -1636,6 +1641,9 @@ OPTIONAL_WHITESPACE_OR_COMMENTS ({WHITESPACE}|{MULTI_LINE_COMMENT}|{SINGLE_LINE_
1636
1641
<ST_IN_SCRIPTING>" (" {TABS_AND_SPACES}(" integer" ){TABS_AND_SPACES}" )" {
1637
1642
if (PARSER_MODE ()) {
1638
1643
zend_error (E_DEPRECATED, " Non-canonical cast (integer) is deprecated, use the (int) cast instead" );
1644
+ if (PARSER_MODE () && EG (exception)) {
1645
+ RETURN_TOKEN (T_ERROR);
1646
+ }
1639
1647
}
1640
1648
RETURN_TOKEN (T_INT_CAST);
1641
1649
}
@@ -1647,6 +1655,9 @@ OPTIONAL_WHITESPACE_OR_COMMENTS ({WHITESPACE}|{MULTI_LINE_COMMENT}|{SINGLE_LINE_
1647
1655
<ST_IN_SCRIPTING>" (" {TABS_AND_SPACES}(" double" ){TABS_AND_SPACES}" )" {
1648
1656
if (PARSER_MODE ()) {
1649
1657
zend_error (E_DEPRECATED, " Non-canonical cast (double) is deprecated, use the (float) cast instead" );
1658
+ if (PARSER_MODE () && EG (exception)) {
1659
+ RETURN_TOKEN (T_ERROR);
1660
+ }
1650
1661
}
1651
1662
RETURN_TOKEN (T_DOUBLE_CAST);
1652
1663
}
@@ -1666,6 +1677,9 @@ OPTIONAL_WHITESPACE_OR_COMMENTS ({WHITESPACE}|{MULTI_LINE_COMMENT}|{SINGLE_LINE_
1666
1677
<ST_IN_SCRIPTING>" (" {TABS_AND_SPACES}(" binary" ){TABS_AND_SPACES}" )" {
1667
1678
if (PARSER_MODE ()) {
1668
1679
zend_error (E_DEPRECATED, " Non-canonical cast (binary) is deprecated, use the (string) cast instead" );
1680
+ if (PARSER_MODE () && EG (exception)) {
1681
+ RETURN_TOKEN (T_ERROR);
1682
+ }
1669
1683
}
1670
1684
RETURN_TOKEN (T_STRING_CAST);
1671
1685
}
@@ -1685,6 +1699,9 @@ OPTIONAL_WHITESPACE_OR_COMMENTS ({WHITESPACE}|{MULTI_LINE_COMMENT}|{SINGLE_LINE_
1685
1699
<ST_IN_SCRIPTING>" (" {TABS_AND_SPACES}(" boolean" ){TABS_AND_SPACES}" )" {
1686
1700
if (PARSER_MODE ()) {
1687
1701
zend_error (E_DEPRECATED, " Non-canonical cast (boolean) is deprecated, use the (bool) cast instead" );
1702
+ if (PARSER_MODE () && EG (exception)) {
1703
+ RETURN_TOKEN (T_ERROR);
1704
+ }
1688
1705
}
1689
1706
RETURN_TOKEN (T_BOOL_CAST);
1690
1707
}
0 commit comments