Chromium Code Reviews| Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
| diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
| index ca34d15f0107b02e2801c7f76694381a6ef593f1..480086b7b10b057602f0dfb83cc506d18394755b 100644 |
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart |
| @@ -2753,7 +2753,11 @@ class IrBuilder { |
| // `x is Null` is true if and only if x is null. |
| return _buildCheckNull(value); |
| } |
| - return addPrimitive(new ir.TypeTest(value, type, typeArguments)); |
| + if (type.isInterfaceType && type.isRaw) { |
|
sra1
2015/10/06 06:47:58
I think this could me moved to type_propagation.
sra1
2015/10/07 04:01:06
Done.
|
| + return addPrimitive(new ir.TypeTestRaw(value, type)); |
| + } else { |
| + return addPrimitive(new ir.TypeTest(value, type, typeArguments)); |
| + } |
| } else { |
| if (type.isObject || type.isDynamic) { |
| // `x as Object` and `x as dynamic` are the same as `x`. |