An interface for reporting rule matcher events. More...
#include <mdl_distiller_rules.h>
Classes | |
| struct | Detailed_trace_event |
| A detailed trace event for reporting the operation of the distiller. More... | |
Public Types | |
| enum | Detailed_trace_event_kind { Rule_match , Call_pattern_match , Call_pattern_mismatch , Attribute_missing , Attribute_match , Attribute_mismatch , No_match } |
| Detailed trace events are tagged with this enumeration type. More... | |
Public Member Functions | |
| virtual void | path_check_event (char const *rule_set_name, char const *dag_path)=0 |
| A DAG path is checked against a rule set. More... | |
| virtual void | rule_match_event (char const *rule_set_name, unsigned rule_id, char const *rule_name, char const *file_name, unsigned line_number)=0 |
| A rule has matched. More... | |
| virtual void | postcondition_failed (char const *rule_set_name)=0 |
| A postcondition has failed. More... | |
| virtual void | postcondition_failed_path (char const *path)=0 |
| A postcondition has failed for a given path. More... | |
| virtual void | debug_print (IDistiller_plugin_api &plugin_api, char const *rule_set_name, unsigned rule_id, char const *rule_name, char const *file_name, unsigned line_number, char const *var_name, DAG_node const *value)=0 |
| A rule with an attached debug_print() statement has matched. More... | |
| virtual void | detailed_trace_event (char const *rule_set_name, unsigned rule_id, char const *rule_name, char const *file_name, unsigned line_number, Detailed_trace_event trace_event)=0 |
| A detailed trace event has occurred. More... | |
An interface for reporting rule matcher events.
Detailed trace events are tagged with this enumeration type.
|
pure virtual |
A rule with an attached debug_print() statement has matched.
This function receives the same arguments as rule_match_event() plus the name of the variable to be printed and the value of the variable after matching succeeded.
| plugin_api | reference to the distiller plugin API that issued this debug_print() event |
| rule_set_name | the name of the rule set |
| rule_id | the rule id |
| rule_name | the name of the rule that matched |
| file_name | if non-NULL, the file name where the rule was declared |
| line_number | if non-ZERO, the line number where the rule was declared |
| var_name | name of the variable whose value is printed |
| value | value to be printed |
|
pure virtual |
A detailed trace event has occurred.
The kind and message of the event are passed in via the trace_event parameter.
| rule_set_name | the name of the rule set |
| rule_id | the rule id |
| rule_name | the name of the rule that matched |
| file_name | if non-NULL, the file name where the rule was declared |
| line_number | if non-zero, the line number where the rule was declared |
| trace_event | the traced event |
|
pure virtual |
A DAG path is checked against a rule set.
| rule_set_name | the name of the rule set |
| dag_path | the DAG path to a node that is currently checked |
|
pure virtual |
A postcondition has failed.
| rule_set_name | the name of the rule set |
|
pure virtual |
A postcondition has failed for a given path.
| path | the path that failed |
|
pure virtual |
A rule has matched.
| rule_set_name | the name of the rule set |
| rule_id | the rule id |
| rule_name | the name of the rule that matched |
| file_name | if non-NULL, the file name where the rule was declared |
| line_number | if non-ZERO, the line number where the rule was declared |