# $Header: /home/fergal/my/cvs/Code-Perl/lib/Code/Perl/Expr/CallMethod.pm,v 1.4 2003/06/17 18:11:41 fergal Exp $
use strict;
package Code::Perl::Expr::CallMethod;
use base 'Code::Perl::Expr::Base';
use Class::MethodMaker (
get_set => [qw( -java Object MethodName Args )]
);
sub eval
{
my $self = shift;
my $object = $self->getObject;
my $methodname = $self->getMethodName->eval;
my $args = $self->getArgs;
return $object->eval->$methodname($args->eval);
}
sub perl
{
my $self = shift;
my $object = $self->getObject->perl;
my $methodname = $self->getMethodName->perl;
my $args = $self->getArgs->perl;
return "($object)->$methodname($args)";
}
1;