| Index: pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| index 8f3819f465407ec06aa6dc9a2cfcb502cb0dbc70..f9e7bb5b0a2c5688a8090b894002be6111dc737b 100644
|
| --- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| @@ -863,8 +863,13 @@ class CodeGenerator extends tree_ir.StatementVisitor
|
| @override
|
| js.Expression visitInterceptor(tree_ir.Interceptor node) {
|
| registry.registerUseInterceptor();
|
| - registry.registerSpecializedGetInterceptor(node.interceptedClasses);
|
| - js.Name helperName = glue.getInterceptorName(node.interceptedClasses);
|
| + // Default to all intercepted classes if they have not been computed.
|
| + // This is to ensure we can run codegen without prior optimization passes.
|
| + Set<ClassElement> interceptedClasses = node.interceptedClasses.isEmpty
|
| + ? glue.interceptedClasses
|
| + : node.interceptedClasses;
|
| + registry.registerSpecializedGetInterceptor(interceptedClasses);
|
| + js.Name helperName = glue.getInterceptorName(interceptedClasses);
|
| js.Expression globalHolder = glue.getInterceptorLibrary();
|
| return js.js('#.#(#)',
|
| [globalHolder, helperName, visitExpression(node.input)])
|
|
|