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

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

Issue 2000223002: Revert "Adjusts dart2js backend to handle method type arguments." (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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 part of js_backend; 5 part of js_backend;
6 6
7 const VERBOSE_OPTIMIZER_HINTS = false; 7 const VERBOSE_OPTIMIZER_HINTS = false;
8 8
9 class JavaScriptItemCompilationContext extends ItemCompilationContext { 9 class JavaScriptItemCompilationContext extends ItemCompilationContext {
10 final Set<HInstruction> boundsChecked = new Set<HInstruction>(); 10 final Set<HInstruction> boundsChecked = new Set<HInstruction>();
(...skipping 2685 matching lines...) Expand 10 before | Expand all | Expand 10 after
2696 } 2696 }
2697 break; 2697 break;
2698 case TypeUseKind.CATCH_TYPE: 2698 case TypeUseKind.CATCH_TYPE:
2699 onIsCheck(type, transformed); 2699 onIsCheck(type, transformed);
2700 break; 2700 break;
2701 case TypeUseKind.TYPE_LITERAL: 2701 case TypeUseKind.TYPE_LITERAL:
2702 backend.customElementsAnalysis.registerTypeLiteral(type); 2702 backend.customElementsAnalysis.registerTypeLiteral(type);
2703 if (type.isTypedef) { 2703 if (type.isTypedef) {
2704 backend.compiler.world.allTypedefs.add(type.element); 2704 backend.compiler.world.allTypedefs.add(type.element);
2705 } 2705 }
2706 if (type.isTypeVariable && type is! MethodTypeVariableType) { 2706 if (type.isTypeVariable) {
2707 // GENERIC_METHODS: The `is!` test above filters away method type
2708 // variables, because they have the value `dynamic` with the
2709 // incomplete support for generic methods offered with
2710 // '--generic-method-syntax'. This must be revised in order to
2711 // support generic methods fully.
2712 ClassElement cls = type.element.enclosingClass; 2707 ClassElement cls = type.element.enclosingClass;
2713 backend.rti.registerClassUsingTypeVariableExpression(cls); 2708 backend.rti.registerClassUsingTypeVariableExpression(cls);
2714 registerBackendImpact(transformed, impacts.typeVariableExpression); 2709 registerBackendImpact(transformed, impacts.typeVariableExpression);
2715 } 2710 }
2716 hasTypeLiteral = true; 2711 hasTypeLiteral = true;
2717 break; 2712 break;
2718 } 2713 }
2719 } 2714 }
2720 2715
2721 if (hasAsCast) { 2716 if (hasAsCast) {
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
3025 3020
3026 @override 3021 @override
3027 void onImpactUsed(ImpactUseCase impactUse) { 3022 void onImpactUsed(ImpactUseCase impactUse) {
3028 if (impactUse == DeferredLoadTask.IMPACT_USE && !supportSerialization) { 3023 if (impactUse == DeferredLoadTask.IMPACT_USE && !supportSerialization) {
3029 // TODO(johnniwinther): Allow emptying when serialization has been 3024 // TODO(johnniwinther): Allow emptying when serialization has been
3030 // performed. 3025 // performed.
3031 resolution.emptyCache(); 3026 resolution.emptyCache();
3032 } 3027 }
3033 } 3028 }
3034 } 3029 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/diagnostics/messages.dart ('k') | pkg/compiler/lib/src/js_backend/runtime_types.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698