view Lib/IMPL/Code/MethodCache.pm @ 170:b88b7fe60aa3

refactoring
author sourcer
date Tue, 24 May 2011 01:11:16 +0400
parents c2aa10fbb396
children
line wrap: on
line source

package IMPL::Code::MethodCache;
use strict;
use IMPL qw(Debug);

my %cachedMethods;

sub dbgBuildCachedMethod {
	my ($class,$method,$prefix,$mappers)= @_;
	
	no strict 'refs';
	
	$prefix ||= 'call';
	
	my $proxyMethod = "$prefix$method";
	
	die new IMPL::Exception("A proxy method already exists") if *{"${class}::$proxyMethod"}{CODE};
	
	my @methodCache = cacheMethod($class,$method,$mappers);
	
	*{"${class}::$proxyMethod"} = sub {
		$_->(@_) foreach @methodCache;
	}
}

sub cacheMethod {
	my ($class,$method,$mappers) = @_;
}

1;