Beispiel #1
0
void InstructionBuilder::visit(Query& query) {
  printf("analyze query: %s\n", query.to_s().c_str());

  resource_ = manifest_->findResourceByName(query.model());
  if (!resource_)
    throw std::runtime_error("No resource found with name '" + query.model() + "'.");

  query.functionName();

  for (auto& param: query.params()) {
    param->accept(*this);
  }

  for (auto& field: query.fields()) {
    analyze(field.get());
  }
}