update NOTICE and LICENSE
[nit.git] / tests / base_label_closure.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 !bar
21 do
22 bar !break do 'X'.output
23 end
24
25 fun maybe: Bool do return true
26
27 1.output
28 foo !bar do
29 2.output
30 foo !bar do
31 3.output
32 foo !bar do end label l3
33 if maybe then
34 #alt1#break label l2
35 #alt2#break label l3
36 #alt3#break label l4
37 #alt4#break
38 #alt5#continue label l1
39 end
40 if maybe then break label l1
41 4.output
42 end label l2#!alt6#
43 #alt6#end label l1
44 5.output
45 end label l1
46 6.output
47
48 #alt7#foo !bar do end label l1