| Index: pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
|
| index 72f4d3a74685e61049a9a61460842236e87e4f2e..27187af06b73900f7c0b33983d0c1d1242cee308 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
|
| @@ -805,10 +805,11 @@ class ProgramBuilder {
|
| // We must evaluate these classes eagerly so that the prototype is
|
| // accessible.
|
| void _markEagerInterceptorClasses() {
|
| - Map<js.Name, Set<ClassElement>> specializedGetInterceptors =
|
| - backend.interceptorData.specializedGetInterceptors;
|
| - for (Set<ClassElement> classes in specializedGetInterceptors.values) {
|
| - for (ClassElement element in classes) {
|
| + Iterable<js.Name> names =
|
| + backend.oneShotInterceptorData.specializedGetInterceptorNames;
|
| + for (js.Name name in names) {
|
| + for (ClassElement element in backend.oneShotInterceptorData
|
| + .getSpecializedGetInterceptorsFor(name)) {
|
| Class cls = _classes[element];
|
| if (cls != null) cls.isEager = true;
|
| }
|
| @@ -825,11 +826,11 @@ class ProgramBuilder {
|
| // generating the interceptor methods.
|
| Holder holder = _registry.registerHolder(holderName);
|
|
|
| - Map<js.Name, Set<ClassElement>> specializedGetInterceptors =
|
| - backend.interceptorData.specializedGetInterceptors;
|
| - List<js.Name> names = specializedGetInterceptors.keys.toList()..sort();
|
| + Iterable<js.Name> names =
|
| + backend.oneShotInterceptorData.specializedGetInterceptorNames;
|
| return names.map((js.Name name) {
|
| - Set<ClassElement> classes = specializedGetInterceptors[name];
|
| + Set<ClassElement> classes =
|
| + backend.oneShotInterceptorData.getSpecializedGetInterceptorsFor(name);
|
| js.Expression code = stubGenerator.generateGetInterceptorMethod(classes);
|
| return new StaticStubMethod(name, holder, code);
|
| });
|
| @@ -893,7 +894,7 @@ class ProgramBuilder {
|
| Holder holder = _registry.registerHolder(holderName);
|
|
|
| List<js.Name> names =
|
| - backend.interceptorData.oneShotInterceptors.keys.toList()..sort();
|
| + backend.oneShotInterceptorData.oneShotInterceptorNames;
|
| return names.map((js.Name name) {
|
| js.Expression code = stubGenerator.generateOneShotInterceptor(name);
|
| return new StaticStubMethod(name, holder, code);
|
|
|