| OLD | NEW |
| 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 2799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2810 case TypeUseKind.CHECKED_MODE_CHECK: | 2810 case TypeUseKind.CHECKED_MODE_CHECK: |
| 2811 if (backend.compiler.options.enableTypeAssertions) { | 2811 if (backend.compiler.options.enableTypeAssertions) { |
| 2812 onIsCheck(type, transformed); | 2812 onIsCheck(type, transformed); |
| 2813 } | 2813 } |
| 2814 break; | 2814 break; |
| 2815 case TypeUseKind.CATCH_TYPE: | 2815 case TypeUseKind.CATCH_TYPE: |
| 2816 onIsCheck(type, transformed); | 2816 onIsCheck(type, transformed); |
| 2817 break; | 2817 break; |
| 2818 case TypeUseKind.TYPE_LITERAL: | 2818 case TypeUseKind.TYPE_LITERAL: |
| 2819 backend.customElementsAnalysis.registerTypeLiteral(type); | 2819 backend.customElementsAnalysis.registerTypeLiteral(type); |
| 2820 if (type.isTypedef) { | |
| 2821 backend.compiler.openWorld.registerTypedef(type.element); | |
| 2822 } | |
| 2823 if (type.isTypeVariable && type is! MethodTypeVariableType) { | 2820 if (type.isTypeVariable && type is! MethodTypeVariableType) { |
| 2824 // GENERIC_METHODS: The `is!` test above filters away method type | 2821 // GENERIC_METHODS: The `is!` test above filters away method type |
| 2825 // variables, because they have the value `dynamic` with the | 2822 // variables, because they have the value `dynamic` with the |
| 2826 // incomplete support for generic methods offered with | 2823 // incomplete support for generic methods offered with |
| 2827 // '--generic-method-syntax'. This must be revised in order to | 2824 // '--generic-method-syntax'. This must be revised in order to |
| 2828 // support generic methods fully. | 2825 // support generic methods fully. |
| 2829 ClassElement cls = type.element.enclosingClass; | 2826 ClassElement cls = type.element.enclosingClass; |
| 2830 backend.rti.registerClassUsingTypeVariableExpression(cls); | 2827 backend.rti.registerClassUsingTypeVariableExpression(cls); |
| 2831 registerBackendImpact(transformed, impacts.typeVariableExpression); | 2828 registerBackendImpact(transformed, impacts.typeVariableExpression); |
| 2832 } | 2829 } |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3230 ClassElement get mapImplementation => helpers.mapLiteralClass; | 3227 ClassElement get mapImplementation => helpers.mapLiteralClass; |
| 3231 ClassElement get constMapImplementation => helpers.constMapLiteralClass; | 3228 ClassElement get constMapImplementation => helpers.constMapLiteralClass; |
| 3232 ClassElement get typeImplementation => helpers.typeLiteralClass; | 3229 ClassElement get typeImplementation => helpers.typeLiteralClass; |
| 3233 ClassElement get boolImplementation => helpers.jsBoolClass; | 3230 ClassElement get boolImplementation => helpers.jsBoolClass; |
| 3234 ClassElement get nullImplementation => helpers.jsNullClass; | 3231 ClassElement get nullImplementation => helpers.jsNullClass; |
| 3235 ClassElement get syncStarIterableImplementation => helpers.syncStarIterable; | 3232 ClassElement get syncStarIterableImplementation => helpers.syncStarIterable; |
| 3236 ClassElement get asyncFutureImplementation => helpers.futureImplementation; | 3233 ClassElement get asyncFutureImplementation => helpers.futureImplementation; |
| 3237 ClassElement get asyncStarStreamImplementation => helpers.controllerStream; | 3234 ClassElement get asyncStarStreamImplementation => helpers.controllerStream; |
| 3238 ClassElement get functionImplementation => helpers.coreClasses.functionClass; | 3235 ClassElement get functionImplementation => helpers.coreClasses.functionClass; |
| 3239 } | 3236 } |
| OLD | NEW |