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) { |