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