From: Bryan Duxbury Date: Wed, 23 Mar 2011 17:57:21 +0000 (+0000) Subject: THRIFT-1105. ocaml: OCaml generator does not prefix methods of included structs with... X-Git-Tag: 0.7.0~140 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=f51a4ce89e947204bd401c1afd0885f2f38126cc;p=common%2Fthrift.git THRIFT-1105. ocaml: OCaml generator does not prefix methods of included structs with their type This patch fixes the ocaml generator to generate good code when the 'include' Thrift IDL directive is used. Patch: Joel Raymont git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1084654 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/compiler/cpp/src/generate/t_ocaml_generator.cc b/compiler/cpp/src/generate/t_ocaml_generator.cc index 46cb9fb2..0b9bfb71 100644 --- a/compiler/cpp/src/generate/t_ocaml_generator.cc +++ b/compiler/cpp/src/generate/t_ocaml_generator.cc @@ -1470,8 +1470,13 @@ void t_ocaml_generator::generate_deserialize_type(ofstream &out, */ void t_ocaml_generator::generate_deserialize_struct(ofstream &out, t_struct* tstruct) { + string prefix = ""; + t_program* program = tstruct->get_program(); + if (program != NULL && program != program_) { + prefix = capitalize(program->get_name()) + "_types."; + } string name = decapitalize(tstruct->get_name()); - out << "(read_" << name << " iprot)"; + out << "(" << prefix << "read_" << name << " iprot)"; }