@@ -13,7 +13,6 @@ import '../dart2jslib.dart';
13
13
import '../elements/elements.dart' ;
14
14
import '../io/source_information.dart' ;
15
15
import '../tree/tree.dart' as ast;
16
- import '../types/types.dart' show TypeMask;
17
16
import '../closure.dart' hide ClosureScope;
18
17
import '../universe/universe.dart' show SelectorKind;
19
18
import 'cps_ir_nodes.dart' as ir;
@@ -654,22 +653,20 @@ abstract class IrBuilder {
654
653
655
654
ir.Primitive _buildInvokeDynamic (ir.Primitive receiver,
656
655
Selector selector,
657
- TypeMask mask,
658
656
List <ir.Primitive > arguments,
659
657
{SourceInformation sourceInformation}) {
660
658
assert (isOpen);
661
659
return _continueWithExpression (
662
- (k) => new ir.InvokeMethod (receiver, selector, mask, arguments, k,
660
+ (k) => new ir.InvokeMethod (receiver, selector, arguments, k,
663
661
sourceInformation: sourceInformation));
664
662
}
665
663
666
664
ir.Primitive _buildInvokeCall (ir.Primitive target,
667
665
CallStructure callStructure,
668
- TypeMask mask,
669
666
List <ir.Definition > arguments,
670
667
{SourceInformation sourceInformation}) {
671
668
Selector selector = callStructure.callSelector;
672
- return _buildInvokeDynamic (target, selector, mask, arguments,
669
+ return _buildInvokeDynamic (target, selector, arguments,
673
670
sourceInformation: sourceInformation);
674
671
}
675
672
@@ -924,9 +921,8 @@ abstract class IrBuilder {
924
921
/// defined by [arguments] .
925
922
ir.Primitive buildDynamicInvocation (ir.Primitive receiver,
926
923
Selector selector,
927
- TypeMask mask,
928
924
List <ir.Primitive > arguments) {
929
- return _buildInvokeDynamic (receiver, selector, mask, arguments);
925
+ return _buildInvokeDynamic (receiver, selector, arguments);
930
926
}
931
927
932
928
/// Create an if-null expression. This is equivalent to a conditional
@@ -944,33 +940,28 @@ abstract class IrBuilder {
944
940
945
941
/// Create a dynamic getter invocation on [receiver] where the getter name is
946
942
/// defined by [selector] .
947
- ir.Primitive buildDynamicGet (ir.Primitive receiver,
948
- Selector selector,
949
- TypeMask mask) {
943
+ ir.Primitive buildDynamicGet (ir.Primitive receiver, Selector selector) {
950
944
assert (selector.isGetter);
951
- return _buildInvokeDynamic (
952
- receiver, selector, mask, const < ir.Primitive > []);
945
+ return _buildInvokeDynamic (receiver, selector, const < ir.Primitive > []);
953
946
}
954
947
955
948
/// Create a dynamic setter invocation on [receiver] where the setter name and
956
949
/// argument are defined by [selector] and [value] , respectively.
957
950
ir.Primitive buildDynamicSet (ir.Primitive receiver,
958
951
Selector selector,
959
- TypeMask mask,
960
952
ir.Primitive value) {
961
953
assert (selector.isSetter);
962
- _buildInvokeDynamic (receiver, selector, mask, < ir.Primitive > [value]);
954
+ _buildInvokeDynamic (receiver, selector, < ir.Primitive > [value]);
963
955
return value;
964
956
}
965
957
966
958
/// Create a dynamic index set invocation on [receiver] with the provided
967
959
/// [index] and [value] .
968
960
ir.Primitive buildDynamicIndexSet (ir.Primitive receiver,
969
- TypeMask mask,
970
961
ir.Primitive index,
971
962
ir.Primitive value) {
972
963
_buildInvokeDynamic (
973
- receiver, new Selector .indexSet (), mask, < ir.Primitive > [index, value]);
964
+ receiver, new Selector .indexSet (), < ir.Primitive > [index, value]);
974
965
return value;
975
966
}
976
967
@@ -1104,13 +1095,12 @@ abstract class IrBuilder {
1104
1095
1105
1096
/// Create an invocation of the `call` method of [functionExpression] , where
1106
1097
/// the structure of arguments are given by [callStructure] .
1107
- // TODO(johnniwinther): This should take a [TypeMask].
1108
1098
ir.Primitive buildCallInvocation (
1109
1099
ir.Primitive functionExpression,
1110
1100
CallStructure callStructure,
1111
1101
List <ir.Definition > arguments,
1112
1102
{SourceInformation sourceInformation}) {
1113
- return _buildInvokeCall (functionExpression, callStructure, null , arguments,
1103
+ return _buildInvokeCall (functionExpression, callStructure, arguments,
1114
1104
sourceInformation: sourceInformation);
1115
1105
}
1116
1106
@@ -1361,10 +1351,6 @@ abstract class IrBuilder {
1361
1351
SubbuildFunction buildVariableDeclaration,
1362
1352
Element variableElement,
1363
1353
Selector variableSelector,
1364
- TypeMask variableMask,
1365
- TypeMask currentMask,
1366
- TypeMask iteratorMask,
1367
- TypeMask moveNextMask,
1368
1354
SubbuildFunction buildBody,
1369
1355
JumpTarget target,
1370
1356
ClosureScope closureScope}) {
@@ -1392,7 +1378,6 @@ abstract class IrBuilder {
1392
1378
add (new ir.LetCont (iteratorInvoked,
1393
1379
new ir.InvokeMethod (expressionReceiver,
1394
1380
new Selector .getter ("iterator" , null ),
1395
- iteratorMask,
1396
1381
emptyArguments,
1397
1382
iteratorInvoked)));
1398
1383
@@ -1409,7 +1394,6 @@ abstract class IrBuilder {
1409
1394
add (new ir.LetCont (moveNextInvoked,
1410
1395
new ir.InvokeMethod (iterator,
1411
1396
new Selector .call ("moveNext" , null , 0 ),
1412
- moveNextMask,
1413
1397
emptyArguments,
1414
1398
moveNextInvoked)));
1415
1399
@@ -1429,10 +1413,7 @@ abstract class IrBuilder {
1429
1413
ir.Parameter currentValue = new ir.Parameter (null );
1430
1414
ir.Continuation currentInvoked = new ir.Continuation ([currentValue]);
1431
1415
bodyBuilder.add (new ir.LetCont (currentInvoked,
1432
- new ir.InvokeMethod (
1433
- iterator,
1434
- new Selector .getter ("current" , null ),
1435
- currentMask,
1416
+ new ir.InvokeMethod (iterator, new Selector .getter ("current" , null ),
1436
1417
emptyArguments, currentInvoked)));
1437
1418
// TODO(sra): Does this cover all cases? The general setter case include
1438
1419
// super.
@@ -1452,8 +1433,7 @@ abstract class IrBuilder {
1452
1433
} else {
1453
1434
ir.Primitive receiver = bodyBuilder.buildThis ();
1454
1435
assert (receiver != null );
1455
- bodyBuilder.buildDynamicSet (
1456
- receiver, variableSelector, variableMask, currentValue);
1436
+ bodyBuilder.buildDynamicSet (receiver, variableSelector, currentValue);
1457
1437
}
1458
1438
1459
1439
// Translate the body in the hole in the delimited term above, and add
0 commit comments