/src/tools/semantics/code/liberty_entity.e
Specman e | 54 lines | 26 code | 7 blank | 21 comment | 0 complexity | 9dfb25655b9f5441ef5bdd47683bfbfb MD5 | raw file
1-- This file is part of Liberty Eiffel. 2-- 3-- Liberty Eiffel is free software: you can redistribute it and/or modify 4-- it under the terms of the GNU General Public License as published by 5-- the Free Software Foundation, version 3 of the License. 6-- 7-- Liberty Eiffel is distributed in the hope that it will be useful, 8-- but WITHOUT ANY WARRANTY; without even the implied warranty of 9-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10-- GNU General Public License for more details. 11-- 12-- You should have received a copy of the GNU General Public License 13-- along with Liberty Eiffel. If not, see <http://www.gnu.org/licenses/>. 14-- 15deferred class LIBERTY_ENTITY 16-- 17-- Anything with a name and a result type. 18-- Most entities have a non-Void result type, except procedures. 19-- 20-- See also LIBERTY_WRITABLE 21-- 22 23inherit 24 VISITABLE 25 LIBERTY_POSITIONABLE 26 undefine out_in_tagged_out_memory 27 end 28 29insert 30 LIBERTY_REACHABLE 31 32feature {ANY} 33 name: FIXED_STRING is 34 deferred 35 end 36 37 result_type: LIBERTY_TYPE is 38 deferred 39 ensure 40 -- Result may be Void in the particular case of procedures 41 end 42 43 specialized_in (a_type: LIBERTY_ACTUAL_TYPE): like Current is 44 require 45 a_type /= Void 46 deferred 47 ensure 48 Result /= Void 49 end 50 51invariant 52 name /= Void 53 54end