| Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
| diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
| index 155831b43420f501edc578f5d8746e372e781438..c92471617d0b4cb2bf3e551e5baa3f1d08a71e5e 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
|
| @@ -13,7 +13,6 @@ import '../dart2jslib.dart';
|
| import '../elements/elements.dart';
|
| import '../io/source_information.dart';
|
| import '../tree/tree.dart' as ast;
|
| -import '../types/types.dart' show TypeMask;
|
| import '../closure.dart' hide ClosureScope;
|
| import '../universe/universe.dart' show SelectorKind;
|
| import 'cps_ir_nodes.dart' as ir;
|
| @@ -654,22 +653,20 @@ abstract class IrBuilder {
|
|
|
| ir.Primitive _buildInvokeDynamic(ir.Primitive receiver,
|
| Selector selector,
|
| - TypeMask mask,
|
| List<ir.Primitive> arguments,
|
| {SourceInformation sourceInformation}) {
|
| assert(isOpen);
|
| return _continueWithExpression(
|
| - (k) => new ir.InvokeMethod(receiver, selector, mask, arguments, k,
|
| + (k) => new ir.InvokeMethod(receiver, selector, arguments, k,
|
| sourceInformation: sourceInformation));
|
| }
|
|
|
| ir.Primitive _buildInvokeCall(ir.Primitive target,
|
| CallStructure callStructure,
|
| - TypeMask mask,
|
| List<ir.Definition> arguments,
|
| {SourceInformation sourceInformation}) {
|
| Selector selector = callStructure.callSelector;
|
| - return _buildInvokeDynamic(target, selector, mask, arguments,
|
| + return _buildInvokeDynamic(target, selector, arguments,
|
| sourceInformation: sourceInformation);
|
| }
|
|
|
| @@ -924,9 +921,8 @@ abstract class IrBuilder {
|
| /// defined by [arguments].
|
| ir.Primitive buildDynamicInvocation(ir.Primitive receiver,
|
| Selector selector,
|
| - TypeMask mask,
|
| List<ir.Primitive> arguments) {
|
| - return _buildInvokeDynamic(receiver, selector, mask, arguments);
|
| + return _buildInvokeDynamic(receiver, selector, arguments);
|
| }
|
|
|
| /// Create an if-null expression. This is equivalent to a conditional
|
| @@ -944,33 +940,28 @@ abstract class IrBuilder {
|
|
|
| /// Create a dynamic getter invocation on [receiver] where the getter name is
|
| /// defined by [selector].
|
| - ir.Primitive buildDynamicGet(ir.Primitive receiver,
|
| - Selector selector,
|
| - TypeMask mask) {
|
| + ir.Primitive buildDynamicGet(ir.Primitive receiver, Selector selector) {
|
| assert(selector.isGetter);
|
| - return _buildInvokeDynamic(
|
| - receiver, selector, mask, const <ir.Primitive>[]);
|
| + return _buildInvokeDynamic(receiver, selector, const <ir.Primitive>[]);
|
| }
|
|
|
| /// Create a dynamic setter invocation on [receiver] where the setter name and
|
| /// argument are defined by [selector] and [value], respectively.
|
| ir.Primitive buildDynamicSet(ir.Primitive receiver,
|
| Selector selector,
|
| - TypeMask mask,
|
| ir.Primitive value) {
|
| assert(selector.isSetter);
|
| - _buildInvokeDynamic(receiver, selector, mask, <ir.Primitive>[value]);
|
| + _buildInvokeDynamic(receiver, selector, <ir.Primitive>[value]);
|
| return value;
|
| }
|
|
|
| /// Create a dynamic index set invocation on [receiver] with the provided
|
| /// [index] and [value].
|
| ir.Primitive buildDynamicIndexSet(ir.Primitive receiver,
|
| - TypeMask mask,
|
| ir.Primitive index,
|
| ir.Primitive value) {
|
| _buildInvokeDynamic(
|
| - receiver, new Selector.indexSet(), mask, <ir.Primitive>[index, value]);
|
| + receiver, new Selector.indexSet(), <ir.Primitive>[index, value]);
|
| return value;
|
| }
|
|
|
| @@ -1104,13 +1095,12 @@ abstract class IrBuilder {
|
|
|
| /// Create an invocation of the `call` method of [functionExpression], where
|
| /// the structure of arguments are given by [callStructure].
|
| - // TODO(johnniwinther): This should take a [TypeMask].
|
| ir.Primitive buildCallInvocation(
|
| ir.Primitive functionExpression,
|
| CallStructure callStructure,
|
| List<ir.Definition> arguments,
|
| {SourceInformation sourceInformation}) {
|
| - return _buildInvokeCall(functionExpression, callStructure, null, arguments,
|
| + return _buildInvokeCall(functionExpression, callStructure, arguments,
|
| sourceInformation: sourceInformation);
|
| }
|
|
|
| @@ -1361,10 +1351,6 @@ abstract class IrBuilder {
|
| SubbuildFunction buildVariableDeclaration,
|
| Element variableElement,
|
| Selector variableSelector,
|
| - TypeMask variableMask,
|
| - TypeMask currentMask,
|
| - TypeMask iteratorMask,
|
| - TypeMask moveNextMask,
|
| SubbuildFunction buildBody,
|
| JumpTarget target,
|
| ClosureScope closureScope}) {
|
| @@ -1392,7 +1378,6 @@ abstract class IrBuilder {
|
| add(new ir.LetCont(iteratorInvoked,
|
| new ir.InvokeMethod(expressionReceiver,
|
| new Selector.getter("iterator", null),
|
| - iteratorMask,
|
| emptyArguments,
|
| iteratorInvoked)));
|
|
|
| @@ -1409,7 +1394,6 @@ abstract class IrBuilder {
|
| add(new ir.LetCont(moveNextInvoked,
|
| new ir.InvokeMethod(iterator,
|
| new Selector.call("moveNext", null, 0),
|
| - moveNextMask,
|
| emptyArguments,
|
| moveNextInvoked)));
|
|
|
| @@ -1429,10 +1413,7 @@ abstract class IrBuilder {
|
| ir.Parameter currentValue = new ir.Parameter(null);
|
| ir.Continuation currentInvoked = new ir.Continuation([currentValue]);
|
| bodyBuilder.add(new ir.LetCont(currentInvoked,
|
| - new ir.InvokeMethod(
|
| - iterator,
|
| - new Selector.getter("current", null),
|
| - currentMask,
|
| + new ir.InvokeMethod(iterator, new Selector.getter("current", null),
|
| emptyArguments, currentInvoked)));
|
| // TODO(sra): Does this cover all cases? The general setter case include
|
| // super.
|
| @@ -1452,8 +1433,7 @@ abstract class IrBuilder {
|
| } else {
|
| ir.Primitive receiver = bodyBuilder.buildThis();
|
| assert(receiver != null);
|
| - bodyBuilder.buildDynamicSet(
|
| - receiver, variableSelector, variableMask, currentValue);
|
| + bodyBuilder.buildDynamicSet(receiver, variableSelector, currentValue);
|
| }
|
|
|
| // Translate the body in the hole in the delimited term above, and add
|
|
|