| Index: pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
| diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
| index 6cd53ec0796b00f0330b53b464dbde6749c76b60..6fdd0f2558aa3bc313e5f0f9efa714ed6bb7b5a7 100644
|
| --- a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
| +++ b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
| @@ -865,17 +865,22 @@ class ForeignCode extends Node {
|
| final types.TypeMask type;
|
| final List<Expression> arguments;
|
| final native.NativeBehavior nativeBehavior;
|
| + final List<bool> nullableArguments; // One 'bit' per argument.
|
| final Element dependency;
|
|
|
| ForeignCode(this.codeTemplate, this.type, this.arguments, this.nativeBehavior,
|
| - this.dependency);
|
| + this.nullableArguments, this.dependency) {
|
| + assert(arguments.length == nullableArguments.length);
|
| + }
|
| }
|
|
|
| class ForeignExpression extends ForeignCode implements Expression {
|
| - ForeignExpression(js.Template codeTemplate, types.TypeMask type,
|
| + ForeignExpression(
|
| + js.Template codeTemplate, types.TypeMask type,
|
| List<Expression> arguments, native.NativeBehavior nativeBehavior,
|
| + List<bool> nullableArguments,
|
| Element dependency)
|
| - : super(codeTemplate, type, arguments, nativeBehavior,
|
| + : super(codeTemplate, type, arguments, nativeBehavior, nullableArguments,
|
| dependency);
|
|
|
| accept(ExpressionVisitor visitor) {
|
| @@ -888,10 +893,12 @@ class ForeignExpression extends ForeignCode implements Expression {
|
| }
|
|
|
| class ForeignStatement extends ForeignCode implements Statement {
|
| - ForeignStatement(js.Template codeTemplate, types.TypeMask type,
|
| + ForeignStatement(
|
| + js.Template codeTemplate, types.TypeMask type,
|
| List<Expression> arguments, native.NativeBehavior nativeBehavior,
|
| + List<bool> nullableArguments,
|
| Element dependency)
|
| - : super(codeTemplate, type, arguments, nativeBehavior,
|
| + : super(codeTemplate, type, arguments, nativeBehavior, nullableArguments,
|
| dependency);
|
|
|
| accept(StatementVisitor visitor) {
|
|
|