syntax: 'meth' -> 'fun', 'attr' -> 'var'
[nit.git] / tests / rterror_nilcall_poly.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Copyright 2005-2008 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 redef class Object
20 fun foo
21 do
22 0.output
23 end
24 end
25
26 redef class Int
27 redef fun foo
28 do
29 output
30 end
31 end
32
33 redef class Char
34 redef fun foo
35 do
36 ascii.foo
37 end
38 end
39
40 class Foo
41 redef fun foo
42 do
43 5.output
44 end
45
46 init do end
47 end
48
49 class Bar
50 redef fun foo
51 do
52 6.output
53 end
54
55 init do end
56 end
57
58 var a: Object
59 a = new Foo
60 a = new Bar
61 a.foo
62 a = null
63 a.foo