indexing description: "Information on an operation of the system for XMI export" date: "$Date$" revision: "$Revision$" class XMI_OPERATION inherit XMI_FEATURE create make_op feature -- Initialization make_op (id: INTEGER; id_r: INTEGER; n: STRING; t: XMI_TYPE) is -- Initialization of `Current'. do xmi_id := id id_return := id_r type := t name := n create arguments.make end feature -- Access arguments: LINKED_LIST [XMI_ARGUMENT] -- Formal arguments of `Current'. id_return: INTEGER -- XMI Id of `Current' Result. feature -- Element change add_argument (a: XMI_ARGUMENT) is -- Adds `a' to `arguments'. require new_argument_not_void: a /= Void do arguments.extend (a) ensure new_argument_added: arguments.has (a) end feature -- Actions code: STRING is -- XMI representation of the attribute. local xmi_class: XMI_CLASS do Result := "%N% % ") Result.append (name) Result.append ("%N% % %N% % %N% % %N% % %N% % %N% % %N% % %N") from arguments.start until arguments.after loop Result.append (arguments.item.code) arguments.forth end if type.xmi_id /= 0 then Result.append ("%N% % ") Result.append (name) Result.append (".Return%N% % %N% % %N% % %N% % %N% % %N% % %N% % %N% % %N% % %N") xmi_class ?= type if xmi_class /= Void then Result.append (" %N") else Result.append (" %N") end Result.append (" %N% % %N") end Result.append ("%N% % %N") end end -- class XMI_OPERATION