|
ROSE
0.9.6a
|
Analysis rule annotation. More...
#include <rule.h>


Public Member Functions | |
| ruleAnn (exprAnn *condition, exprann_list *effects, int line) | |
| Create a new rule. More... | |
| bool | has_condition () const |
| Return true if has condition. More... | |
| exprAnn * | condition () const |
| Return the condition. More... | |
| bool | is_condition_true () const |
| Test the condition. More... | |
| void | lookup (propertyAnn *default_property, procedureAnn *procedure, Annotations *annotations) |
| Compute the next state. More... | |
Public Member Functions inherited from Ann | |
| Ann (int line) | |
| int | line () const |
Private Attributes | |
| exprAnn * | _condition |
| Rule condition. More... | |
| bool | _is_condition_true |
| Condition state. More... | |
| exprann_list | _effects |
| Rule effects. More... | |
| ruleAnn::ruleAnn | ( | exprAnn * | condition, |
| exprann_list * | effects, | ||
| int | line | ||
| ) |
Create a new rule.
|
inline |
|
inline |
|
inline |
Test the condition.
Test each condition. Special case: a rule without a condition is automatically true. Return the result of the test
Definition at line 65 of file rule.h.
References _is_condition_true.
| void ruleAnn::lookup | ( | propertyAnn * | default_property, |
| procedureAnn * | procedure, | ||
| Annotations * | annotations | ||
| ) |
Compute the next state.
When the condition is true, go through the effects and compute the next state for each. Apply next state
Use the states computed by compute_next() to update the variables. Return true if any of them result in changes, meaning that the analysis problem has not converged. Look up
|
private |
Rule condition.
The rule condition will be null, for an unconditional rule.
Definition at line 22 of file rule.h.
Referenced by condition(), and has_condition().
|
private |
Condition state.
True if the condition is true
Definition at line 28 of file rule.h.
Referenced by is_condition_true().
|
private |