tests: Add test_astbuilder to the skip list of nitcg niti nitvm
[nit.git] / benchmarks / languages / benches / bench_meth.nit
1 #!/usr/bin/env nit
2 # This file is part of NIT ( http://www.nitlanguage.org ).
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 import bench_base
17
18 class TypeTestDepthGenerator
19 super Generator
20
21 redef fun initnit(res)
22 do
23 for c in classes do
24 res.add "new {c}[Root]"
25 end
26 end
27
28 redef fun testnit
29 do
30 return "a.id >= {middle}"
31 end
32
33 redef fun initjava(res, interfaces)
34 do
35
36 var tagc = ""
37 if interfaces then tagc = "X"
38 for c in classes do
39 res.add "new {tagc}{c}<Root>()"
40 end
41 end
42
43 redef fun testjava(interfaces)
44 do
45 return "a.id() >= {middle}"
46 end
47
48 redef fun initcsharp(res, interfaces)
49 do
50 var tagc = ""
51 if interfaces then tagc = "X"
52 for c in classes do
53 res.add "new {tagc}{c}<Root>()"
54 end
55 end
56
57 redef fun testcsharp(interfaces)
58 do
59 return "a.Id() >= {middle}"
60 end
61
62 redef fun initscala(res, interfaces)
63 do
64 var tagc = ""
65 if interfaces then tagc = "X"
66 for c in classes do
67 res.add "new {tagc}{c}[Root]()"
68 end
69 end
70
71 redef fun testscala(interfaces)
72 do
73 return "a.id >= {middle}"
74 end
75
76 redef fun initcpp(res)
77 do
78 for c in classes do
79 res.add "new {c}<Root>()"
80 end
81 end
82
83 redef fun testcpp
84 do
85 return "a->id() >= {middle}"
86 end
87
88 redef fun inite(res, se)
89 do
90 for c in classes do
91 res.add "create \{{c}[ROOT]\}"
92 end
93 end
94
95 redef fun teste(se)
96 do
97 return "a.id >= {middle}"
98 end
99
100 redef fun initpython(res)
101 do
102 for c in classes do
103 res.add "{c}()"
104 end
105 end
106
107 redef fun testpython
108 do
109 return "a.id() >= {middle}"
110 end
111 end
112
113 var g = new TypeTestDepthGenerator
114 g.genall