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: