Merge: doc: fixed some typos and other misc. corrections
[nit.git] / tests / base_covar_gen.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 kernel
16
17 class G[E]
18 var e: E
19 fun sete(e: E) do self.e = e
20 redef fun output
21 do
22 'G'.output
23 var e = self.e
24 if e isa G[Object] then
25 e.output
26 else if e isa Int then
27 0.output
28 else
29 '\n'.output
30 end
31 end
32 end
33
34 var a = new G[Object](1)
35 var x = new G[Int](10) #1alt1# var x = new G[G[Object]](a)
36 var b: G[Object] = x
37 #alt1# b.sete 100
38 #alt2# b.e = 100
39 #alt3# b.sete a
40 #alt4# b.e = a
41 x.output