Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Side by Side Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 2307883002: Fix type masks for js-interop types. (Closed)
Patch Set: Update status Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library js_backend.backend; 5 library js_backend.backend;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; 9 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
10 10
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 628
629 CoreTypes get coreTypes => compiler.coreTypes; 629 CoreTypes get coreTypes => compiler.coreTypes;
630 630
631 Resolution get resolution => compiler.resolution; 631 Resolution get resolution => compiler.resolution;
632 632
633 /// Returns constant environment for the JavaScript interpretation of the 633 /// Returns constant environment for the JavaScript interpretation of the
634 /// constants. 634 /// constants.
635 JavaScriptConstantCompiler get constants { 635 JavaScriptConstantCompiler get constants {
636 return constantCompilerTask.jsConstantCompiler; 636 return constantCompilerTask.jsConstantCompiler;
637 } 637 }
638
639 @override
640 bool isDefaultNoSuchMethod(MethodElement element) {
641 return noSuchMethodRegistry.isDefaultNoSuchMethodImplementation(element);
642 }
638 643
639 MethodElement resolveExternalFunction(MethodElement element) { 644 MethodElement resolveExternalFunction(MethodElement element) {
640 if (isForeign(element)) { 645 if (isForeign(element)) {
641 return element; 646 return element;
642 } 647 }
643 if (isJsInterop(element)) { 648 if (isJsInterop(element)) {
644 if (element.memberName == const PublicName('[]') || 649 if (element.memberName == const PublicName('[]') ||
645 element.memberName == const PublicName('[]=')) { 650 element.memberName == const PublicName('[]=')) {
646 reporter.reportErrorMessage( 651 reporter.reportErrorMessage(
647 element, MessageKind.JS_INTEROP_INDEX_NOT_SUPPORTED); 652 element, MessageKind.JS_INTEROP_INDEX_NOT_SUPPORTED);
(...skipping 2547 matching lines...) Expand 10 before | Expand all | Expand 10 after
3195 3200
3196 @override 3201 @override
3197 void onImpactUsed(ImpactUseCase impactUse) { 3202 void onImpactUsed(ImpactUseCase impactUse) {
3198 if (impactUse == DeferredLoadTask.IMPACT_USE && !supportSerialization) { 3203 if (impactUse == DeferredLoadTask.IMPACT_USE && !supportSerialization) {
3199 // TODO(johnniwinther): Allow emptying when serialization has been 3204 // TODO(johnniwinther): Allow emptying when serialization has been
3200 // performed. 3205 // performed.
3201 resolution.emptyCache(); 3206 resolution.emptyCache();
3202 } 3207 }
3203 } 3208 }
3204 } 3209 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/common/resolution.dart ('k') | pkg/compiler/lib/src/js_backend/no_such_method_registry.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698