Beispiel #1
0
void PSIVisitor::visit_comp_pkg_body(const std::vector<IBaseItem *> &items) {
	std::vector<IBaseItem *>::const_iterator it=items.begin();

	for (; it!=items.end(); it++) {
		switch ((*it)->getType()) {
			case IBaseItem::TypeAction:
				visit_action(static_cast<IAction *>(*it));
				break;

			case IBaseItem::TypeStruct:
				visit_struct(static_cast<IStruct *>(*it));
				break;
		}
	}
}
Beispiel #2
0
void PSIVisitor::visit_comp_pkg_body(const std::vector<IBaseItem *> &items) {
	std::vector<IBaseItem *>::const_iterator it=items.begin();

	for (; it!=items.end(); it++) {
		fprintf(stdout, " -- item %p %d\n", *it, (*it)->getType());
		fflush(stdout);

		push_scope(*it);
		switch ((*it)->getType()) {
			case IBaseItem::TypeAction:
				fprintf(stdout, "---> visit_action\n");
				fflush(stdout);
				visit_action(dynamic_cast<IAction *>(*it));
				fprintf(stdout, "<--- visit_action\n");
				fflush(stdout);
				break;

			case IBaseItem::TypeStruct:
				visit_struct(dynamic_cast<IStruct *>(*it));
				break;
		}
		pop_scope();
	}
}