| Index: pkg/compiler/lib/src/resolution/tree_elements.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/tree_elements.dart b/pkg/compiler/lib/src/resolution/tree_elements.dart
|
| index 993c3cc1ea78d268ca24d593eb33660fc7537d1a..a9e936694db5561781dd548c1689e6177c36e71d 100644
|
| --- a/pkg/compiler/lib/src/resolution/tree_elements.dart
|
| +++ b/pkg/compiler/lib/src/resolution/tree_elements.dart
|
| @@ -25,24 +25,18 @@ abstract class TreeElements {
|
| Selector getGetterSelectorInComplexSendSet(SendSet node);
|
| Selector getOperatorSelectorInComplexSendSet(SendSet node);
|
| DartType getType(Node node);
|
| - TypeMask getTypeMask(Node node);
|
| - TypeMask getGetterTypeMaskInComplexSendSet(SendSet node);
|
| - TypeMask getOperatorTypeMaskInComplexSendSet(SendSet node);
|
| - void setTypeMask(Node node, TypeMask mask);
|
| - void setGetterTypeMaskInComplexSendSet(SendSet node, TypeMask mask);
|
| - void setOperatorTypeMaskInComplexSendSet(SendSet node, TypeMask mask);
|
| + void setSelector(Node node, Selector selector);
|
| + void setGetterSelectorInComplexSendSet(SendSet node, Selector selector);
|
| + void setOperatorSelectorInComplexSendSet(SendSet node, Selector selector);
|
|
|
| /// Returns the for-in loop variable for [node].
|
| Element getForInVariable(ForIn node);
|
| Selector getIteratorSelector(ForIn node);
|
| Selector getMoveNextSelector(ForIn node);
|
| Selector getCurrentSelector(ForIn node);
|
| - TypeMask getIteratorTypeMask(ForIn node);
|
| - TypeMask getMoveNextTypeMask(ForIn node);
|
| - TypeMask getCurrentTypeMask(ForIn node);
|
| - void setIteratorTypeMask(ForIn node, TypeMask mask);
|
| - void setMoveNextTypeMask(ForIn node, TypeMask mask);
|
| - void setCurrentTypeMask(ForIn node, TypeMask mask);
|
| + void setIteratorSelector(ForIn node, Selector selector);
|
| + void setMoveNextSelector(ForIn node, Selector selector);
|
| + void setCurrentSelector(ForIn node, Selector selector);
|
| void setConstant(Node node, ConstantExpression constant);
|
| ConstantExpression getConstant(Node node);
|
| bool isAssert(Send send);
|
| @@ -95,10 +89,9 @@ abstract class TreeElements {
|
| LabelDefinition getTargetLabel(GotoStatement node);
|
| }
|
|
|
| -class TreeElementMapping extends TreeElements {
|
| +class TreeElementMapping implements TreeElements {
|
| final AnalyzableElement analyzedElement;
|
| Map<Spannable, Selector> _selectors;
|
| - Map<Spannable, TypeMask> _typeMasks;
|
| Map<Node, DartType> _types;
|
| Setlet<Node> _superUses;
|
| Setlet<Element> _otherDependencies;
|
| @@ -448,67 +441,6 @@ class TreeElementMapping extends TreeElements {
|
| assert(node.target != null);
|
| return _targetLabels != null ? _targetLabels[node] : null;
|
| }
|
| -
|
| - TypeMask _getTypeMask(Spannable node) {
|
| - return _typeMasks != null ? _typeMasks[node] : null;
|
| - }
|
| -
|
| - void _setTypeMask(Spannable node, TypeMask mask) {
|
| - if (_typeMasks == null) {
|
| - _typeMasks = new Maplet<Spannable, TypeMask>();
|
| - }
|
| - _typeMasks[node] = mask;
|
| - }
|
| -
|
| - void setTypeMask(Node node, TypeMask mask) {
|
| - _setTypeMask(node, mask);
|
| - }
|
| -
|
| - TypeMask getTypeMask(Node node) => _getTypeMask(node);
|
| -
|
| - void setGetterTypeMaskInComplexSendSet(SendSet node, TypeMask mask) {
|
| - _setTypeMask(node.selector, mask);
|
| - }
|
| -
|
| - TypeMask getGetterTypeMaskInComplexSendSet(SendSet node) {
|
| - return _getTypeMask(node.selector);
|
| - }
|
| -
|
| - void setOperatorTypeMaskInComplexSendSet(SendSet node, TypeMask mask) {
|
| - _setTypeMask(node.assignmentOperator, mask);
|
| - }
|
| -
|
| - TypeMask getOperatorTypeMaskInComplexSendSet(SendSet node) {
|
| - return _getTypeMask(node.assignmentOperator);
|
| - }
|
| -
|
| - // The following methods set selectors on the "for in" node. Since
|
| - // we're using three selectors, we need to use children of the node,
|
| - // and we arbitrarily choose which ones.
|
| -
|
| - void setIteratorTypeMask(ForIn node, TypeMask mask) {
|
| - _setTypeMask(node, mask);
|
| - }
|
| -
|
| - TypeMask getIteratorTypeMask(ForIn node) {
|
| - return _getTypeMask(node);
|
| - }
|
| -
|
| - void setMoveNextTypeMask(ForIn node, TypeMask mask) {
|
| - _setTypeMask(node.forToken, mask);
|
| - }
|
| -
|
| - TypeMask getMoveNextTypeMask(ForIn node) {
|
| - return _getTypeMask(node.forToken);
|
| - }
|
| -
|
| - void setCurrentTypeMask(ForIn node, TypeMask mask) {
|
| - _setTypeMask(node.inToken, mask);
|
| - }
|
| -
|
| - TypeMask getCurrentTypeMask(ForIn node) {
|
| - return _getTypeMask(node.inToken);
|
| - }
|
| }
|
|
|
| TreeElements _ensureTreeElements(AnalyzableElementX element) {
|
|
|