Repository: thrift Updated Branches: refs/heads/master 9019b280e -> d1482fe3e
THRIFT-4079 add missing use clauses for included thrift sources in generated perl modules Client: perl This closes #1181 Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/d1482fe3 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/d1482fe3 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/d1482fe3 Branch: refs/heads/master Commit: d1482fe3e202be8ca6e428048e0512dc37b127ab Parents: 9019b28 Author: James E. King, III <[email protected]> Authored: Thu Feb 9 07:53:44 2017 -0500 Committer: James E. King, III <[email protected]> Committed: Thu Feb 9 07:53:44 2017 -0500 ---------------------------------------------------------------------- compiler/cpp/src/thrift/generate/t_perl_generator.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/d1482fe3/compiler/cpp/src/thrift/generate/t_perl_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/thrift/generate/t_perl_generator.cc b/compiler/cpp/src/thrift/generate/t_perl_generator.cc index bfe08f9..fd11b2a 100644 --- a/compiler/cpp/src/thrift/generate/t_perl_generator.cc +++ b/compiler/cpp/src/thrift/generate/t_perl_generator.cc @@ -642,7 +642,15 @@ void t_perl_generator::generate_service(t_service* tservice) { /// "package "<<service_name_<<";"<<endl<< autogen_comment() << perl_includes(); - f_service_ << "use " << perl_namespace(tservice->get_program()) << "Types;" << endl; + t_program* current = tservice->get_program(); + std::vector<t_program*>& currInc = current->get_includes(); + std::vector<t_program*>::size_type numInc = currInc.size(); + f_service_ << "use " << perl_namespace(current) << "Types;" << endl; + for (std::vector<t_program*>::size_type i = 0; i < numInc; ++i) + { + t_program* incProgram = currInc.at(i); + f_service_ << "use " << perl_namespace(incProgram) << "Types;" << std::endl; + } t_service* extends_s = tservice->get_extends(); if (extends_s != NULL) {
