Author: jake
Date: Fri Jul 17 01:34:50 2009
New Revision: 794938

URL: http://svn.apache.org/viewvc?rev=794938&view=rev
Log:
THRIFT-542: Perl compiler uses invalid method 'method_exists' and subsequent 
test

Modified:
    incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc
    incubator/thrift/trunk/lib/perl/lib/Thrift/BinaryProtocol.pm
    incubator/thrift/trunk/lib/perl/test/Makefile.am

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc?rev=794938&r1=794937&r2=794938&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc Fri 
Jul 17 01:34:50 2009
@@ -781,7 +781,7 @@
   // HOT: check for method implementation
   f_service_ <<
     indent() << "my $methodname = 'process_'.$fname;" << endl <<
-    indent() << "if (!method_exists($self, $methodname)) {" << endl;
+    indent() << "if (!$self->can($methodname)) {" << endl;
 
   f_service_ <<
     indent() << "  $input->skip(TType::STRUCT);" << endl <<
@@ -824,7 +824,7 @@
 
   f_service_ <<
     indent() << "my $self = shift;"<<endl<<
-    indent() << "my ($seqid, $input, $output); " << endl;
+    indent() << "my ($seqid, $input, $output) = @_;" << endl;
 
   string argsname = perl_namespace(tservice->get_program()) + service_name_ + 
"_" + tfunction->get_name() + "_args";
   string resultname = perl_namespace(tservice->get_program()) + service_name_ 
+ "_" + tfunction->get_name() + "_result";

Modified: incubator/thrift/trunk/lib/perl/lib/Thrift/BinaryProtocol.pm
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/perl/lib/Thrift/BinaryProtocol.pm?rev=794938&r1=794937&r2=794938&view=diff
==============================================================================
--- incubator/thrift/trunk/lib/perl/lib/Thrift/BinaryProtocol.pm (original)
+++ incubator/thrift/trunk/lib/perl/lib/Thrift/BinaryProtocol.pm Fri Jul 17 
01:34:50 2009
@@ -477,7 +477,7 @@
 #
 # Binary Protocol Factory
 #
-package TBinaryProtocolFactory;
+package Thrift::BinaryProtocolFactory;
 use base('TProtocolFactory');
 
 sub new
@@ -492,7 +492,7 @@
     my $self  = shift;
     my $trans = shift;
 
-    return new TBinaryProtocol($trans);
+    return new Thrift::BinaryProtocol($trans);
 }
 
 1;

Modified: incubator/thrift/trunk/lib/perl/test/Makefile.am
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/perl/test/Makefile.am?rev=794938&r1=794937&r2=794938&view=diff
==============================================================================
--- incubator/thrift/trunk/lib/perl/test/Makefile.am (original)
+++ incubator/thrift/trunk/lib/perl/test/Makefile.am Fri Jul 17 01:34:50 2009
@@ -28,4 +28,4 @@
 clean-local:
        rm -rf gen-perl
 
-EXTRA_DIST = memory_buffer.t
+EXTRA_DIST = memory_buffer.t processor.t


Reply via email to