| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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.impact_transformer; | 5 library js_backend.backend.impact_transformer; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../common_elements.dart'; | 8 import '../common_elements.dart'; |
| 9 import '../common/backend_api.dart' show ImpactTransformer; | 9 import '../common/backend_api.dart' show ImpactTransformer; |
| 10 import '../common/codegen.dart' show CodegenImpact; | 10 import '../common/codegen.dart' show CodegenImpact; |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 this._backendUsage, | 356 this._backendUsage, |
| 357 this._rtiNeed, | 357 this._rtiNeed, |
| 358 this._nativeCodegenEnqueuer, | 358 this._nativeCodegenEnqueuer, |
| 359 this._namer, | 359 this._namer, |
| 360 this._oneShotInterceptorData, | 360 this._oneShotInterceptorData, |
| 361 this._lookupMapAnalysis, | 361 this._lookupMapAnalysis, |
| 362 this._rtiChecksBuilder); | 362 this._rtiChecksBuilder); |
| 363 | 363 |
| 364 void onIsCheckForCodegen(DartType type, TransformedWorldImpact transformed) { | 364 void onIsCheckForCodegen(DartType type, TransformedWorldImpact transformed) { |
| 365 if (type.isDynamic) return; | 365 if (type.isDynamic) return; |
| 366 if (type.isVoid) return; | |
| 367 type = type.unaliased; | 366 type = type.unaliased; |
| 368 _impacts.typeCheck.registerImpact(transformed, _elementEnvironment); | 367 _impacts.typeCheck.registerImpact(transformed, _elementEnvironment); |
| 369 | 368 |
| 370 bool inCheckedMode = _options.enableTypeAssertions; | 369 bool inCheckedMode = _options.enableTypeAssertions; |
| 371 // [registerIsCheck] is also called for checked mode checks, so we | 370 // [registerIsCheck] is also called for checked mode checks, so we |
| 372 // need to register checked mode helpers. | 371 // need to register checked mode helpers. |
| 373 if (inCheckedMode) { | 372 if (inCheckedMode) { |
| 374 // All helpers are added to resolution queue in enqueueHelpers. These | 373 // All helpers are added to resolution queue in enqueueHelpers. These |
| 375 // calls to [enqueue] with the resolution enqueuer serve as assertions | 374 // calls to [enqueue] with the resolution enqueuer serve as assertions |
| 376 // that the helper was in fact added. | 375 // that the helper was in fact added. |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 _impacts.asyncStarBody | 466 _impacts.asyncStarBody |
| 468 .registerImpact(transformed, _elementEnvironment); | 467 .registerImpact(transformed, _elementEnvironment); |
| 469 break; | 468 break; |
| 470 } | 469 } |
| 471 } | 470 } |
| 472 | 471 |
| 473 // TODO(johnniwinther): Remove eager registration. | 472 // TODO(johnniwinther): Remove eager registration. |
| 474 return transformed; | 473 return transformed; |
| 475 } | 474 } |
| 476 } | 475 } |
| OLD | NEW |