Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(711)

Unified Diff: pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart

Issue 1161793002: Revert "dart2js cps: 'is' checks on types with type arguments." (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart ('k') | pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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].
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart ('k') | pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698