Example #1
0
void PSIVisitor::visit_constraint_stmt(IConstraint *c) {
	switch (c->getConstraintType()) {
	case IConstraint::ConstraintType_Block: {

		visit_constraint_block(dynamic_cast<IConstraintBlock *>(c));
	} break;

	case IConstraint::ConstraintType_Expr:
		visit_constraint_expr_stmt(dynamic_cast<IConstraintExpr *>(c));
		break;

	case IConstraint::ConstraintType_If:
		visit_constraint_if_stmt(dynamic_cast<IConstraintIf *>(c));
		break;
	}
}
Example #2
0
void PSIVisitor::visit_constraint_stmt(IConstraint *c) {
	switch (c->getConstraintType()) {
	case IConstraint::ConstraintType_Block: {

		visit_constraint_block(static_cast<IConstraintBlock *>(c));
	} break;

	case IConstraint::ConstraintType_Expr:
		visit_constraint_expr_stmt(static_cast<IConstraintExpr *>(c));
		break;

	case IConstraint::ConstraintType_If: {
		IConstraintIf *c_if = static_cast<IConstraintIf *>(c);

		visit_expr(c_if->getCond());

		visit_constraint_stmt(c_if->getTrue());

		if (c_if->getFalse()) {
			visit_constraint_stmt(c_if->getFalse());
		}
		} break;
	}
}