85 #include "ast_controller.h"
88 #include "auto_focus.h"
93 PASTController::PASTController(AutoFocusController *auto_focus, View *target) : ASTController<PASTController>(auto_focus, target) {
97 PASTController::~PASTController() {
100 void PASTController::reduce(View *v, _Fact *input) {
102 switch (input->is_timeless_evidence(target_)) {
103 case MATCH_SUCCESS_POSITIVE:
105 target_->invalidate();
107 case MATCH_SUCCESS_NEGATIVE:
110 #if 0 // Set 0 to not invalidate. Temporary solution to https://github.com/IIIM-IS/replicode/issues/162
111 target_->invalidate();
115 tpx_->store_input(v);
122 HASTController::HASTController(AutoFocusController *auto_focus, View *target, _Fact *source) : ASTController<HASTController>(auto_focus, target), source_(source) {
126 HASTController::~HASTController() {
129 void HASTController::reduce(View *v, _Fact *input) {
131 switch (input->is_timeless_evidence(target_)) {
132 case MATCH_SUCCESS_POSITIVE:
135 case MATCH_SUCCESS_NEGATIVE:
138 target_->invalidate();
139 source_->invalidate();
142 tpx_->store_input(v);