Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart |
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart |
index 6b78f6fffcf8e96d6d51e3e1766e41951f0ef459..c6033373ed6de7655de0ad1f4bcd30fbfa25b834 100644 |
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart |
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart |
@@ -877,21 +877,17 @@ abstract class IrBuilderVisitor extends ast.Visitor<ir.Primitive> |
ast.Node expression, |
DartType type, |
_) { |
- ir.Primitive receiver = visit(expression); |
- return irBuilder.buildTypeOperator( |
- receiver, type, |
- isTypeTest: true, |
- isNotCheck: false); |
+ ir.Primitive value = visit(expression); |
+ return irBuilder.buildTypeOperator(value, type, isTypeTest: true); |
} |
@override |
ir.Primitive visitIsNot(ast.Send node, |
ast.Node expression, DartType type, _) { |
- ir.Primitive receiver = visit(expression); |
- return irBuilder.buildTypeOperator( |
- receiver, type, |
- isTypeTest: true, |
- isNotCheck: true); |
+ ir.Primitive value = visit(expression); |
+ ir.Primitive check = irBuilder.buildTypeOperator( |
+ value, type, isTypeTest: true); |
+ return irBuilder.buildNegation(check); |
} |
ir.Primitive translateBinary(ast.Node left, |
@@ -2307,7 +2303,7 @@ class GlobalProgramInformation { |
return cls.typeVariables.isNotEmpty && _backend.classNeedsRti(cls); |
} |
- Set<ClassElement> get interceptedClasses => _backend.interceptedClasses; |
+ ClassElement get nullClass => _compiler.nullClass; |
} |
/// IR builder specific to the JavaScript backend, coupled to the [JsIrBuilder]. |