This is an automated email from the git hooks/post-receive script.

js pushed a commit to tag 0.55
in repository libinline-java-perl.

commit 8500a6a1ca19049adf1abcce4c61b49481ace6be
Author: Patrick LeBoutillier <p...@cpan.org>
Date:   Fri Jun 1 13:56:38 2001 +0000

    Adapted 0.40
    Fixed AUTOSTUDY for arrays
---
 Java/Protocol.pm | 44 +++++++++++++++++++++++++++++++-------------
 1 file changed, 31 insertions(+), 13 deletions(-)

diff --git a/Java/Protocol.pm b/Java/Protocol.pm
index 12aa9d9..335f56f 100644
--- a/Java/Protocol.pm
+++ b/Java/Protocol.pm
@@ -3,7 +3,7 @@ package Inline::Java::Protocol ;
 
 use strict ;
 
-$Inline::Java::Protocol::VERSION = '0.21' ;
+$Inline::Java::Protocol::VERSION = '0.22' ;
 
 use Inline::Java::Object ;
 use Inline::Java::Array ;
@@ -17,7 +17,7 @@ sub new {
 
        my $this = {} ;
        $this->{obj_priv} = $obj || {} ;
-       $this->{module} = $inline->{modfname} ;
+       $this->{module} = $inline->get_api('modfname') ;
 
        bless($this, $class) ;
        return $this ;
@@ -274,27 +274,45 @@ sub Send {
                }
                else{
                        my $inline = Inline::Java::get_INLINE($this->{module}) ;
-                       my $perl_class = 
Inline::Java::java2perl($inline->{pkg}, $class) ;
-                       if (! Inline::Java::known_to_perl($inline->{pkg}, 
$class)){
-                               if ($inline->{Java}->{AUTOSTUDY}){
-                                       $inline->_study([$class]) ;
-                               }
-                               else{
-                                       $perl_class = "Inline::Java::Object" ;
-                               }
-                       }
+                       my $pkg = $inline->get_api('pkg') ;
 
-                       my $obj = $perl_class->__new($class, $inline, $id) ;
+                       my $obj = undef ;
+                       my $elem_class = $class ;
 
                        Inline::Java::debug("checking if stub is array...") ;
                        if (Inline::Java::Class::ClassIsArray($class)){
+                               my @d = 
Inline::Java::Class::ValidateClassSplit($class) ;
+                               $elem_class = $d[2] ;
+                       }
+
+                       my $perl_class = Inline::Java::java2perl($pkg, 
$elem_class) ;
+                       if (Inline::Java::Class::ClassIsReference($elem_class)){
+                               if (! Inline::Java::known_to_perl($pkg, 
$elem_class)){
+                                       if 
($inline->get_java_config('AUTOSTUDY')){
+                                               $inline->_study([$elem_class]) ;
+                                       }
+                                       else{
+                                               $perl_class = 
"Inline::Java::Object" ;
+                                       }
+                               }
+                       }
+                       else{
+                               # We should only get here if an array of 
primitives types
+                               # was returned, and there is nothing to do since
+                               # the block below will handle it.
+                       }
+
+                       if (Inline::Java::Class::ClassIsArray($class)){
                                Inline::Java::debug("creating array object...") 
;
+                               $obj = Inline::Java::Object->__new($class, 
$inline, $id) ;
                                $obj = new Inline::Java::Array($obj) ;
                                Inline::Java::debug("array object created...") ;
                        }
+                       else{
+                               $obj = $perl_class->__new($class, $inline, $id) 
;
+                       }
 
                        Inline::Java::debug("returning stub...") ;
-
                        return $obj ;
                }
        }

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/libinline-java-perl.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to