X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=codegen%2Fmain.cpp;h=c7f5b2cbb064bee57a6fce25fa357a504e1822cb;hp=fe400b2f0c7537fdae6466da3a8fffb2f9953d7b;hb=9c627fabb9df8ed74cdfa83f83cb7bd996ee1004;hpb=3b7c93a8beb79498d2116969ff9c873fbe56d157 diff --git a/codegen/main.cpp b/codegen/main.cpp index fe400b2..c7f5b2c 100644 --- a/codegen/main.cpp +++ b/codegen/main.cpp @@ -305,7 +305,7 @@ protected: } } } - std::cerr << get_file_and_line_as_string(root, element) << ": found procedure: " << f << std::endl; + std::cerr << get_file_and_line_as_string(root, element) << ":\texport procedure: " << f << std::endl; m_procedures.push_back(f); } @@ -486,19 +486,25 @@ void output_server_cpp(std::ostream &o, const std::string &group, const std::lis for (std::list::const_iterator it=procs.begin();it!=procs.end();++it) { o << *it << ";\n"; o << "libt2n::result* " << it->cmd_classname() << "::operator()() { "; - if (it->hasReturn()) { - o << "return new " << it->ret_classname() << "(" << it->name << "("; - for (t2n_procedure::Args::const_iterator ait=it->args.begin();ait!=it->args.end();++ait) { - if (ait!=it->args.begin()) o << ", "; - // get pointer - if (ait->second.name.find_first_of('*')!=std::string::npos) - o << '&'; - o << ait->first; - } - o << "));"; - }else{ - o << it->name << "(); return new " << it->ret_classname() << "();"; + + if (it->hasReturn()) + o << "return new " << it->ret_classname() << "("; + + // output function name and args + o << it->name << "("; + for (t2n_procedure::Args::const_iterator ait=it->args.begin();ait!=it->args.end();++ait) { + if (ait!=it->args.begin()) o << ", "; + // get pointer + if (ait->second.name.find_first_of('*')!=std::string::npos) + o << '&'; + o << ait->first; } + + if (it->hasReturn()) + o << "));"; + else + o << "); return new " << it->ret_classname() << "();"; + o << " }\n"; } o << "#include \"" << common_cpp << "\"\n"; @@ -555,7 +561,7 @@ main(int argc, char* argv[]) std::copy(p.begin(), p.end(), std::back_inserter(procedures)); } - std::cerr << "Procedures:" << std::endl; + std::cerr << "All procedures:" << std::endl; for (std::list::const_iterator it=procedures.begin();it!=procedures.end();++it) std::cerr << *it << ";" << std::endl;