| /* |
| Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved. |
| Available via Academic Free License >= 2.1 OR the modified BSD license. |
| see: http://dojotoolkit.org/license for details |
| */ |
| |
| |
| if(!dojo._hasResource["dojox.lang.aspect.memoizer"]){ |
| dojo._hasResource["dojox.lang.aspect.memoizer"]=true; |
| dojo.provide("dojox.lang.aspect.memoizer"); |
| (function(){ |
| var _1=dojox.lang.aspect; |
| var _2={around:function(_3){ |
| var _4=_1.getContext(),_5=_4.joinPoint,_6=_4.instance,t,u,_7; |
| if((t=_6.__memoizerCache)&&(t=t[_5.targetName])&&(_3 in t)){ |
| return t[_3]; |
| } |
| var _7=_1.proceed.apply(null,arguments); |
| if(!(t=_6.__memoizerCache)){ |
| t=_6.__memoizerCache={}; |
| } |
| if(!(u=t[_5.targetName])){ |
| u=t[_5.targetName]={}; |
| } |
| return u[_3]=_7; |
| }}; |
| var _8=function(_9){ |
| return {around:function(){ |
| var _a=_1.getContext(),_b=_a.joinPoint,_c=_a.instance,t,u,_d,_e=_9.apply(_c,arguments); |
| if((t=_c.__memoizerCache)&&(t=t[_b.targetName])&&(_e in t)){ |
| return t[_e]; |
| } |
| var _d=_1.proceed.apply(null,arguments); |
| if(!(t=_c.__memoizerCache)){ |
| t=_c.__memoizerCache={}; |
| } |
| if(!(u=t[_b.targetName])){ |
| u=t[_b.targetName]={}; |
| } |
| return u[_e]=_d; |
| }}; |
| }; |
| _1.memoizer=function(_f){ |
| return arguments.length==0?_2:_8(_f); |
| }; |
| })(); |
| } |