note description: "TODO" library: "Eiffel Wrapper Generator Library" copyright: "Copyright (c) 1999, Andreas Leitner and others" license: "Eiffel Forum License v2 (see forum.txt)" date: "$Date$" revision: "$Revision$" deferred class EWG_ABSTRACT_GENERATOR inherit EWG_EIFFEL_COMPILER_SPECIFIC_PRINTER rename make as make_printer end feature make (a_error_handler: like error_handler; a_directory_structure: like directory_structure) require a_error_handler_not_void: a_error_handler /= Void a_directory_structure_not_void: a_directory_structure /= Void do error_handler := a_error_handler create {KL_NULL_TEXT_OUTPUT_STREAM} output_stream.make ("") directory_structure := a_directory_structure make_printer (output_stream) ensure error_handler_set: error_handler = a_error_handler directory_structure_set: directory_structure = a_directory_structure end feature error_handler: EWG_ERROR_HANDLER -- Error handler directory_structure: EWG_DIRECTORY_STRUCTURE -- Directory structure feature -- Generation generate (a_eiffel_wrapper_set: EWG_EIFFEL_WRAPPER_SET) require a_eiffel_wrapper_set_not_void: a_eiffel_wrapper_set /= Void deferred end generate_for_all_compilers (a_eiffel_wrapper_set: EWG_EIFFEL_WRAPPER_SET) require a_eiffel_wrapper_set_not_void: a_eiffel_wrapper_set /= Void do eiffel_compiler_mode.set_ise_mode generate (a_eiffel_wrapper_set) end feature {NONE} -- Constants Generated_file_warning_eiffel_comment: STRING = "{ note description: "This file has been generated by WrapC. Do not edit. Changes will be lost!" generator: "Eiffel Wrapper Generator" }" Generated_file_warning_c_comment: STRING = "// This file has been generated by WrapC. Do not edit. Changes will be lost!" invariant error_handler_not_void: error_handler /= Void directory_structure_not_void: directory_structure /= Void end