syntax: handle labels for for, while and closures
[nit.git] / tests / base_label_closure3.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Copyright 2009 Jean Privat <jean@pryen.org>
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 import kernel
18
19 fun foo
20 with bar do end
21 with baz do end
22 do
23 bar
24 baz
25 end
26
27 1.output
28 foo with do
29 2.output
30 foo with do
31 3.output
32 foo with do end label l3
33 #alt1#break label l2
34 #alt2#break label l3
35 #alt3#break label l4
36 #alt4#break
37 #alt5#continue label l1
38 break label l1
39 4.output
40 with do
41 40.output
42 end label l2#!alt6#
43 #alt6#end label l1
44 5.output
45 with do
46 50.output
47 end label l1
48 6.output
49
50 #alt7#foo with do end label l1