| Index: pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| index 8bb26fd773bd3439b8db3e8c9a99466e54209db6..9efbc4b6eb1953beeda5332784bfbbd5c2cde02d 100644
|
| --- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| @@ -945,6 +945,24 @@ class CodeGenerator extends tree_ir.StatementVisitor
|
| }
|
|
|
| @override
|
| + void visitNullCheck(tree_ir.NullCheck node) {
|
| + js.Expression value = visitExpression(node.value);
|
| + js.Expression access = node.selector != null
|
| + ? js.js('#.#', [value, glue.invocationName(node.selector)])
|
| + : js.js('#.toString', [value]);
|
| + if (node.condition != null) {
|
| + js.Expression condition = visitExpression(node.condition);
|
| + js.Statement body = isNullReturn(node.next)
|
| + ? new js.ExpressionStatement(access)
|
| + : new js.Return(access);
|
| + accumulator.add(new js.If.noElse(condition, body));
|
| + } else {
|
| + accumulator.add(new js.ExpressionStatement(access));
|
| + }
|
| + visitStatement(node.next);
|
| + }
|
| +
|
| + @override
|
| js.Expression visitApplyBuiltinOperator(tree_ir.ApplyBuiltinOperator node) {
|
| List<js.Expression> args = visitExpressionList(node.arguments);
|
| switch (node.operator) {
|
|
|