| 14616 | } |
| 14617 | |
| 14618 | function expensiveChecksInterceptor(fn) { |
| 14619 | if (!fn) return fn; |
| 14620 | expensiveCheckFn.$$watchDelegate = fn.$$watchDelegate; |
| 14621 | expensiveCheckFn.assign = expensiveChecksInterceptor(fn.assign); |
| 14622 | expensiveCheckFn.constant = fn.constant; |
| 14623 | expensiveCheckFn.literal = fn.literal; |
| 14624 | for (var i = 0; fn.inputs && i < fn.inputs.length; ++i) { |
| 14625 | fn.inputs[i] = expensiveChecksInterceptor(fn.inputs[i]); |
| 14626 | } |
| 14627 | expensiveCheckFn.inputs = fn.inputs; |
| 14628 | |
| 14629 | return expensiveCheckFn; |
| 14630 | |
| 14631 | function expensiveCheckFn(scope, locals, assign, inputs) { |
| 14632 | var expensiveCheckOldValue = runningChecksEnabled; |
| 14633 | runningChecksEnabled = true; |
| 14634 | try { |
| 14635 | return fn(scope, locals, assign, inputs); |
| 14636 | } finally { |
| 14637 | runningChecksEnabled = expensiveCheckOldValue; |
| 14638 | } |
| 14639 | } |
| 14640 | } |
| 14641 | |
| 14642 | function expressionInputDirtyCheck(newValue, oldValueOfValue) { |
| 14643 | |