Annotation of parser3/tests/376.html, revision 1.1
1.1 ! moko 1: @main[]
! 2: 1. break in method string param
! 3: ^while(1){=^test1[]=}
! 4: 2. break in method code param
! 5: ^while(1){=^test2[]=}
! 6: 3. break in variable in code
! 7: ^while(1){=^test3[]=}
! 8: 4. stack usage is not visible, but exists
! 9: ^test4[]
! 10: 5. break can be called from getter
! 11: ^while(1){ ^test5[] } "$o.v"
! 12: 6. break can be called from setter
! 13: 6.0 ^while(1){ ^test6[] } "$o.v"
! 14: 6.1 ^while(1){ ^test6-1[] } "$o.v"
! 15: 7. break can be called from constructor
! 16: ^while(1){ ^test7[] } "$z.CLASS_NAME"
! 17: 8. break in method name (unusial, but still possible)
! 18: ^while(1){ ^test8[] }
! 19: 9. break in expression or parser method expression param is allowed
! 20: 9.0 ^while(1){ ^test9[] }
! 21: 9.1 ^while(1){ ^test9-1[] }
! 22: 10. break in native methods expression params is not allowed
! 23: 10.0 ^while(1){ ^test10[] }
! 24: 10.1 ^while(1){ ^test10-1[] }
! 25:
! 26: @test1[]
! 27: ^method1[%^break[]%;gpf]
! 28:
! 29: @method1[arg1;arg2]
! 30: should not be called
! 31:
! 32: @test2[]
! 33: ^method2{%^break[]%;gpf}
! 34:
! 35: @method2[arg1;arg2]
! 36: arg: [$arg1] [$arg2]
! 37:
! 38: @test3[]
! 39: $code{%^break[]%}
! 40: |$code|
! 41:
! 42: @test4[]
! 43: # each iteration uses leaves 6 unwiped values on stack,
! 44: # but they are cleaned upon exit from ^for without side effects
! 45: $v[^for[i](1;10){- $l1[$l2[$l3[$l4[$l5[$l6[^continue[]?]]]]]] + }]
! 46: [$v]
! 47:
! 48: @test5[]
! 49: $o[^O::create[]]
! 50: =$o.property=
! 51:
! 52: @test6[]
! 53: $o[^O::create[]]
! 54: =$o.property[value]=
! 55:
! 56: @test6-1[]
! 57: $o[^O::create[]]
! 58: =$o.property(1+1)=
! 59:
! 60: @test7[]
! 61: =$z[^O::create-with-break[]]=
! 62:
! 63: @test8[]
! 64: $code{%^break[]%}
! 65: =^code[]=
! 66:
! 67: @test9[]
! 68: %$x(1+^break[])%
! 69:
! 70: @test9-1[]
! 71: =^method9(^break[])=
! 72:
! 73: @method9[cond]
! 74: %$x($cond)%
! 75:
! 76: @test10[]
! 77: $c{1 ^continue[]}
! 78: ^try-catch{
! 79: =^if($c){yes}{no}=
! 80: }
! 81: %^break[]%
! 82:
! 83: @test10-1[]
! 84: ^try-catch{
! 85: =^method10(^break[]){yes}{no}=
! 86: }
! 87: %^break[]%
! 88:
! 89: @method10[cond;yes;no]
! 90: %^if($cond){$yes}{$no}%
! 91:
! 92: @CLASS
! 93: O
! 94:
! 95: @create[]
! 96: $v[]
! 97:
! 98: @create-with-break[]
! 99: %^break[]%
! 100:
! 101: @GET_property[]
! 102: $v[before] %^break[]% $v[after]
! 103:
! 104: @SET_property[value]
! 105: $v[before] %^break[]% $v[after]
E-mail: