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