zend_delayed_compile_var(&var_node, var_ast, BP_VAR_W, 0);
zend_compile_expr(&expr_node, expr_ast);
zend_delayed_compile_end(offset);
+ CG(zend_lineno) = zend_ast_get_lineno(var_ast);
zend_emit_op_tmp(result, ZEND_ASSIGN, &var_node, &expr_node);
return;
case ZEND_AST_STATIC_PROP:
--- /dev/null
+--TEST--
+Test match default breakpoint with variable assignment
+--INI--
+opcache.enable_cli=0
+--PHPDBG--
+b 5
+b 10
+r
+q
+--EXPECTF--
+[Successful compilation of %s.php]
+prompt> [Breakpoint #0 added at %s.php:5]
+prompt> [Breakpoint #1 added at %s.php:10]
+prompt> [Breakpoint #1 at %s.php:10, hits: 1]
+>00010: default => 'bar', // breakpoint #1
+ 00011: };
+ 00012:
+prompt>
+--FILE--
+<?php
+
+$foo = match (0) {
+ 0 => 'foo',
+ default => 'bar', // breakpoint #0
+};
+
+$foo = match (1) {
+ 0 => 'foo',
+ default => 'bar', // breakpoint #1
+};
--- /dev/null
+--TEST--
+Test match default breakpoint with property assignment
+--INI--
+opcache.enable_cli=0
+--PHPDBG--
+b 7
+b 12
+r
+q
+--EXPECTF--
+[Successful compilation of %s.php]
+prompt> [Breakpoint #0 added at %s.php:7]
+prompt> [Breakpoint #1 added at %s.php:12]
+prompt> [Breakpoint #1 at %s.php:12, hits: 1]
+>00012: default => 'bar', // breakpoint #1
+ 00013: };
+ 00014:
+prompt>
+--FILE--
+<?php
+
+$foo = new stdClass();
+
+$foo->bar = match (0) {
+ 0 => 'foo',
+ default => 'bar', // breakpoint #0
+};
+
+$foo->bar = match (1) {
+ 0 => 'foo',
+ default => 'bar', // breakpoint #1
+};
--- /dev/null
+--TEST--
+Test match default breakpoint with dim assignment
+--INI--
+opcache.enable_cli=0
+--PHPDBG--
+b 7
+b 12
+r
+q
+--EXPECTF--
+[Successful compilation of %s.php]
+prompt> [Breakpoint #0 added at %s.php:7]
+prompt> [Breakpoint #1 added at %s.php:12]
+prompt> [Breakpoint #1 at %s.php:12, hits: 1]
+>00012: default => 'bar', // breakpoint #1
+ 00013: };
+ 00014:
+prompt>
+--FILE--
+<?php
+
+$foo = [];
+
+$foo['foo'] = match (0) {
+ 0 => 'foo',
+ default => 'bar', // breakpoint #0
+};
+
+$foo->bar = match (1) {
+ 0 => 'foo',
+ default => 'bar', // breakpoint #1
+};
--- /dev/null
+--TEST--
+Test match default breakpoint with static variable assignment
+--INI--
+opcache.enable_cli=0
+--PHPDBG--
+b 9
+b 14
+r
+q
+--EXPECTF--
+[Successful compilation of %s.php]
+prompt> [Breakpoint #0 added at %s.php:9]
+prompt> [Breakpoint #1 added at %s.php:14]
+prompt> [Breakpoint #1 at %s.php:14, hits: 1]
+>00014: default => 'bar', // breakpoint #1
+ 00015: };
+ 00016:
+prompt>
+--FILE--
+<?php
+
+class Foo {
+ public static $bar;
+}
+
+Foo::$bar = match (0) {
+ 0 => 'foo',
+ default => 'bar', // breakpoint #0
+};
+
+Foo::$bar = match (1) {
+ 0 => 'foo',
+ default => 'bar', // breakpoint #1
+};