Diff for /parser3/tests/360.html between versions 1.2 and 1.3

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.

Removed from v.1.2  
changed lines
  Added in v.1.3


E-mail: