Skip to content

Commit b393e12

Browse files
author
John Messerly
committed
fixes #197, don't generate casts that always pass
[email protected] Review URL: https://codereview.chromium.org/1261783005 .
1 parent 8422d7a commit b393e12

File tree

5 files changed

+257
-254
lines changed

5 files changed

+257
-254
lines changed

pkg/dev_compiler/lib/src/codegen/js_codegen.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,9 @@ class JSCodegenVisitor extends GeneralizingAstVisitor {
253253
var from = getStaticType(node.expression);
254254
var to = node.type.type;
255255

256+
// Skip the cast if it's not needed.
257+
if (rules.isSubTypeOf(from, to)) return _visit(node.expression);
258+
256259
// All Dart number types map to a JS double.
257260
if (rules.isNumType(from) &&
258261
(rules.isIntType(to) || rules.isDoubleType(to))) {

0 commit comments

Comments
 (0)