forked from LibertyEiffel/Liberty
/
liberty_require.e
47 lines (41 loc) · 1.18 KB
/
liberty_require.e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-- This file is part of Liberty Eiffel.
--
-- Liberty Eiffel is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, version 3 of the License.
--
-- Liberty Eiffel is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Liberty Eiffel. If not, see <http://www.gnu.org/licenses/>.
--
class LIBERTY_REQUIRE
inherit
LIBERTY_WRITTEN_ASSERTIONS
create {LIBERTY_TYPE_BUILDER_TOOLS, LIBERTY_REQUIRE}
make
feature {}
make (a_assertions: like assertions_list) is
require
a_assertions /= Void
do
assertions_list := a_assertions
ensure
assertions_list = a_assertions
end
specialized (a_assertions: like assertions_list): like Current is
do
create Result.make(a_assertions)
end
feature {ANY}
accept (v: VISITOR) is
local
v0: LIBERTY_REQUIRE_VISITOR
do
v0 ::= v
v0.visit_liberty_require(Current)
end
end