THRIFT-4079 add missing use clauses for included thrift sources in generated perl modules
Client: perl
This closes #1181
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 @@
/// "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) {