(fn)
| 483 | var values = clause_values[clause_type]; |
| 484 | |
| 485 | function opt(fn) { |
| 486 | if (optimize) %PrepareFunctionForOptimization(fn); |
| 487 | if (feedback === 'all') { |
| 488 | values.forEach(fn); |
| 489 | } else if (Array.isArray(feedback)) { |
| 490 | // Non-target |
| 491 | values.filter(function(v) { |
| 492 | return feedback.indexOf(v) === -1; |
| 493 | }).forEach(fn); |
| 494 | } else if (feedback !== undefined) { |
| 495 | // Target |
| 496 | fn(feedback); |
| 497 | } else { |
| 498 | // None |
| 499 | } |
| 500 | |
| 501 | if (optimize) %OptimizeFunctionOnNextCall(fn); |
| 502 | |
| 503 | return fn; |
| 504 | }; |
| 505 | |
| 506 | return opt(new Function( |
| 507 | 'tag', |
no test coverage detected