update NOTICE and LICENSE
[nit.git] / tests / base_attr3.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 import base_attr2
16
17 class B
18 super A
19 fun foo_b(a: A)
20 do
21 a1.output
22 #alt1#a1 = a
23 a2.output
24 #alt1#a2 = a
25 #alt1#a3.output
26 #alt1#a3 = a
27 a4.output
28 a4 = a
29 a5.output
30 a5 = a
31 #alt1#a6.output
32 a6 = a
33 a7.output
34 a7 = a
35 a8.output
36 a8 = a
37 #alt1#a9.output
38 a9 = a
39 a10.output
40 #alt1#a10 = a
41 a11.output
42 #alt1#a11 = a
43 #alt1#a12.output
44 #alt1#a12 = a
45
46 '\n'.output
47
48 a.a1.output
49 #alt2#a.a1 = a
50 #alt2#a.a2.output
51 #alt2#a.a2 = a
52 #alt2#a.a3.output
53 #alt2#a.a3 = a
54 a.a4.output
55 a.a4 = a
56 #alt2#a.a5.output
57 a.a5 = a
58 #alt2#a.a6.output
59 a.a6 = a
60 a.a7.output
61 #alt2#a.a7 = a
62 #alt2#a.a8.output
63 #alt2#a.a8 = a
64 #alt2#a.a9.output
65 #alt2#a.a9 = a
66 a.a10.output
67 #alt2#a.a10 = a
68 #alt2#a.a11.output
69 #alt2#a.a11 = a
70 #alt2#a.a12.output
71 #alt2#a.a12 = a
72
73 '\n'.output
74 end
75 end
76
77 fun foo2(a: A)
78 do
79 a.a1.output
80 #alt3#a.a1 = a
81 #alt3#a.a2.output
82 #alt3#a.a2 = a
83 #alt3#a.a3.output
84 #alt3#a.a3 = a
85 a.a4.output
86 a.a4 = a
87 #alt3#a.a5.output
88 a.a5 = a
89 #alt3#a.a6.output
90 a.a6 = a
91 a.a7.output
92 #alt3#a.a7 = a
93 #alt3#a.a8.output
94 #alt3#a.a8 = a
95 #alt3#a.a9.output
96 #alt3#a.a9 = a
97 a.a10.output
98 #alt3#a.a10 = a
99 #alt3#a.a11.output
100 #alt3#a.a11 = a
101 #alt3#a.a12.output
102 #alt3#a.a12 = a
103
104 '\n'.output
105 end
106
107 fun foo3(a: B)
108 do
109 a.a1.output
110 #alt4#a.a1 = a
111 #alt4#a.a2.output
112 #alt4#a.a2 = a
113 #alt4#a.a3.output
114 #alt4#a.a3 = a
115 a.a4.output
116 a.a4 = a
117 #alt4#a.a5.output
118 a.a5 = a
119 #alt4#a.a6.output
120 a.a6 = a
121 a.a7.output
122 #alt4#a.a7 = a
123 #alt4#a.a8.output
124 #alt4#a.a8 = a
125 #alt4#a.a9.output
126 #alt4#a.a9 = a
127 a.a10.output
128 #alt4#a.a10 = a
129 #alt4#a.a11.output
130 #alt4#a.a11 = a
131 #alt4#a.a12.output
132 #alt4#a.a12 = a
133
134 '\n'.output
135 end
136
137 var b = new B
138 b.foo_b(b)
139 foo2(b)
140 foo3(b)