| 15057 | } |
| 15058 | |
| 15059 | function expensiveChecksInterceptor(fn) { |
| 15060 | if (!fn) return fn; |
| 15061 | expensiveCheckFn.$$watchDelegate = fn.$$watchDelegate; |
| 15062 | expensiveCheckFn.assign = expensiveChecksInterceptor(fn.assign); |
| 15063 | expensiveCheckFn.constant = fn.constant; |
| 15064 | expensiveCheckFn.literal = fn.literal; |
| 15065 | for (var i = 0; fn.inputs && i < fn.inputs.length; ++i) { |
| 15066 | fn.inputs[i] = expensiveChecksInterceptor(fn.inputs[i]); |
| 15067 | } |
| 15068 | expensiveCheckFn.inputs = fn.inputs; |
| 15069 | |
| 15070 | return expensiveCheckFn; |
| 15071 | |
| 15072 | function expensiveCheckFn(scope, locals, assign, inputs) { |
| 15073 | var expensiveCheckOldValue = runningChecksEnabled; |
| 15074 | runningChecksEnabled = true; |
| 15075 | try { |
| 15076 | return fn(scope, locals, assign, inputs); |
| 15077 | } finally { |
| 15078 | runningChecksEnabled = expensiveCheckOldValue; |
| 15079 | } |
| 15080 | } |
| 15081 | } |
| 15082 | |
| 15083 | function expressionInputDirtyCheck(newValue, oldValueOfValue) { |
| 15084 | |