|
|
| version 1.2, 2016/10/11 23:35:13 | version 1.3, 2021/02/11 22:07:15 |
|---|---|
| Line 5 code junctions ignore in expression flag | Line 5 code junctions ignore in expression flag |
| $x(^if(2){^n.int[]^n.int[]}) | $x(^if(2){^n.int[]^n.int[]}) |
| $x | $x |
| this code will work if OPTIMIZE_CALL is undefined after OP_PREPARE_TO_EXPRESSION removed (#1104): | this code works after #1211: |
| ^try-catch{ $y(^test[]) } | ^try-catch{ $y(^test[]) } |
| $y | $y |
| Line 13 this code does not work in 3.4.4: | Line 13 this code does not work in 3.4.4: |
| ^try-catch{ $z(^test-wrapper[]) } | ^try-catch{ $z(^test-wrapper[]) } |
| $z | $z |
| string and value: $s(^test-string[]) $s $s.CLASS_NAME | ^try-catch{ string and number: $s(^test-string[]) $s $s.CLASS_NAME} |
| string and object: $s[^test-object[]] $s.CLASS_NAME | string and object[]: $s[^test-object[]] $s.CLASS_NAME |
| string and object(): $n(^test-object[]) $n.CLASS_NAME | |
| #test is in expression + CO_WITHOUT_WCONTEXT is on by default, thus exception | #since 3.4.7 numbers are converted to strings in expression context |
| @test[] | @test[] |
| ^n.int[]^n.int[] | ^n.int[]^n.int[] |
| #wrapper hides in expression flag, thus no more exception after OP_PREPARE_TO_EXPRESSION removed | #in 3.4.5-3.4.6 wrapper hided "in expression" flag, thus no exception |
| @test-wrapper[] | @test-wrapper[] |
| ^test[] | ^test[] |
| @test-string[] | @test-string[] |
| string value (even non-whitespace!) is ignored if value (^n.int[]) is returned. | -^n.int[] |
| @test-object[] | @test-object[] |
| same thing in string context if object (^hash::create[]) is returned. | string value (even non-whitespace!) is ignored if object (^hash::create[]) is returned. |