From: Colin P. A. <col...@us...> - 2004-09-27 13:41:55
|
Update of /cvsroot/gobo-eiffel/gobo/library/xml/xslt/tracing In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6062/library/xml/xslt/tracing Added Files: xm_xslt_shared_empty_properties.e xm_xslt_trace_details.e xm_xslt_trace_listener.e Log Message: Added stylesheet trace facility. --- NEW FILE: xm_xslt_trace_details.e --- indexing description: "Objects that detail trace events" library: "Gobo Eiffel XSLT Library" copyright: "Copyright (c) 2004, Colin Adams and others" license: "Eiffel Forum License v2 (see forum.txt)" date: "$Date: 2004/09/27 13:41:43 $" revision: "$Revision: 1.1 $" class XM_XSLT_TRACE_DETAILS creation make feature {NONE} -- Initalization make (an_instruction_name, a_system_id: STRING; a_line_number: INTEGER; some_properties: DS_HASH_TABLE [STRING, STRING]) is -- Establish invariant. require instruction_name: an_instruction_name /= Void and then an_instruction_name.count > 0 system_id: a_system_id /= Void line_number: a_line_number >= -1 properties_not_void: some_properties /= Void do instruction_name := an_instruction_name system_id := a_system_id line_number := a_line_number properties := some_properties ensure instruction_name_set: instruction_name = an_instruction_name system_id_set: system_id = a_system_id line_numer_set: line_number = a_line_number properties_set: properties = some_properties end feature -- Access instruction_name: STRING -- Name of instruction system_id: STRING -- SYSTEM id of stylesheet module in which instruction occurs; line_number: INTEGER -- Line number of instruction properties: DS_HASH_TABLE [STRING, STRING] -- Additional trace properties invariant instruction_name: instruction_name /= Void and then instruction_name.count > 0 system_id: system_id /= Void line_number: line_number >= -1 properties_not_void: properties /= Void end --- NEW FILE: xm_xslt_shared_empty_properties.e --- indexing description: "Objects that detail trace events" library: "Gobo Eiffel XSLT Library" copyright: "Copyright (c) 2004, Colin Adams and others" license: "Eiffel Forum License v2 (see forum.txt)" date: "$Date: 2004/09/27 13:41:43 $" revision: "$Revision: 1.1 $" class XM_XSLT_SHARED_EMPTY_PROPERTIES inherit UC_SHARED_STRING_EQUALITY_TESTER feature -- Access empty_property_set: DS_HASH_TABLE [STRING, STRING] is -- Empty trace properties once create Result.make_with_equality_testers (0, string_equality_tester, string_equality_tester) end end --- NEW FILE: xm_xslt_trace_listener.e --- indexing description: "Objects that receive notification of trace events" library: "Gobo Eiffel XSLT Library" copyright: "Copyright (c) 2004, Colin Adams and others" license: "Eiffel Forum License v2 (see forum.txt)" date: "$Date: 2004/09/27 13:41:43 $" revision: "$Revision: 1.1 $" deferred class XM_XSLT_TRACE_LISTENER feature -- Status report is_tracing: BOOLEAN is -- Is tracing active? deferred end feature -- Events start_tracing is -- Start tracing. require not_tracing: not is_tracing deferred ensure tracing_active: is_tracing end stop_tracing is -- Stop tracing. require tracing_active: is_tracing deferred ensure not_tracing: not is_tracing end trace_instruction_entry (some_trace_details: XM_XSLT_TRACE_DETAILS) is -- Trace start of instruction execution. require tracing_active: is_tracing trace_details_not_void: some_trace_details /= Void deferred end trace_instruction_exit (some_trace_details: XM_XSLT_TRACE_DETAILS) is -- Trace end of instruction execution. require tracing_active: is_tracing trace_details_not_void: some_trace_details /= Void deferred end trace_current_item_start (a_current_item: XM_XPATH_ITEM) is -- Trace making new item current. require tracing_active: is_tracing current_item_not_void: a_current_item /= Void deferred end trace_current_item_finish (a_current_item: XM_XPATH_ITEM) is -- Trace leaving current item. require tracing_active: is_tracing current_item_not_void: a_current_item /= Void deferred end end |