OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library dart2js.resolution.tree_elements; | 5 library dart2js.resolution.tree_elements; |
6 | 6 |
7 import '../common.dart'; | 7 import '../common.dart'; |
8 import '../constants/expressions.dart'; | 8 import '../constants/expressions.dart'; |
9 import '../dart_types.dart'; | 9 import '../dart_types.dart'; |
10 import '../elements/elements.dart'; | 10 import '../elements/elements.dart'; |
(...skipping 27 matching lines...) Expand all Loading... |
38 DartType getType(Node node); | 38 DartType getType(Node node); |
39 TypeMask getTypeMask(Node node); | 39 TypeMask getTypeMask(Node node); |
40 TypeMask getGetterTypeMaskInComplexSendSet(SendSet node); | 40 TypeMask getGetterTypeMaskInComplexSendSet(SendSet node); |
41 TypeMask getOperatorTypeMaskInComplexSendSet(SendSet node); | 41 TypeMask getOperatorTypeMaskInComplexSendSet(SendSet node); |
42 void setTypeMask(Node node, TypeMask mask); | 42 void setTypeMask(Node node, TypeMask mask); |
43 void setGetterTypeMaskInComplexSendSet(SendSet node, TypeMask mask); | 43 void setGetterTypeMaskInComplexSendSet(SendSet node, TypeMask mask); |
44 void setOperatorTypeMaskInComplexSendSet(SendSet node, TypeMask mask); | 44 void setOperatorTypeMaskInComplexSendSet(SendSet node, TypeMask mask); |
45 | 45 |
46 /// Returns the for-in loop variable for [node]. | 46 /// Returns the for-in loop variable for [node]. |
47 Element getForInVariable(ForIn node); | 47 Element getForInVariable(ForIn node); |
48 Selector getIteratorSelector(ForIn node); | |
49 Selector getMoveNextSelector(ForIn node); | |
50 Selector getCurrentSelector(ForIn node); | |
51 TypeMask getIteratorTypeMask(ForIn node); | 48 TypeMask getIteratorTypeMask(ForIn node); |
52 TypeMask getMoveNextTypeMask(ForIn node); | 49 TypeMask getMoveNextTypeMask(ForIn node); |
53 TypeMask getCurrentTypeMask(ForIn node); | 50 TypeMask getCurrentTypeMask(ForIn node); |
54 void setIteratorTypeMask(ForIn node, TypeMask mask); | 51 void setIteratorTypeMask(ForIn node, TypeMask mask); |
55 void setMoveNextTypeMask(ForIn node, TypeMask mask); | 52 void setMoveNextTypeMask(ForIn node, TypeMask mask); |
56 void setCurrentTypeMask(ForIn node, TypeMask mask); | 53 void setCurrentTypeMask(ForIn node, TypeMask mask); |
57 void setConstant(Node node, ConstantExpression constant); | 54 void setConstant(Node node, ConstantExpression constant); |
58 ConstantExpression getConstant(Node node); | 55 ConstantExpression getConstant(Node node); |
59 | 56 |
60 /// Returns the [FunctionElement] defined by [node]. | 57 /// Returns the [FunctionElement] defined by [node]. |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 } | 213 } |
217 | 214 |
218 void setOperatorSelectorInComplexSendSet(SendSet node, Selector selector) { | 215 void setOperatorSelectorInComplexSendSet(SendSet node, Selector selector) { |
219 _setSelector(node.assignmentOperator, selector); | 216 _setSelector(node.assignmentOperator, selector); |
220 } | 217 } |
221 | 218 |
222 Selector getOperatorSelectorInComplexSendSet(SendSet node) { | 219 Selector getOperatorSelectorInComplexSendSet(SendSet node) { |
223 return _getSelector(node.assignmentOperator); | 220 return _getSelector(node.assignmentOperator); |
224 } | 221 } |
225 | 222 |
226 // The following methods set selectors on the "for in" node. Since | |
227 // we're using three selectors, we need to use children of the node, | |
228 // and we arbitrarily choose which ones. | |
229 | |
230 void setIteratorSelector(ForIn node, Selector selector) { | |
231 _setSelector(node, selector); | |
232 } | |
233 | |
234 Selector getIteratorSelector(ForIn node) { | |
235 return _getSelector(node); | |
236 } | |
237 | |
238 void setMoveNextSelector(ForIn node, Selector selector) { | |
239 _setSelector(node.forToken, selector); | |
240 } | |
241 | |
242 Selector getMoveNextSelector(ForIn node) { | |
243 return _getSelector(node.forToken); | |
244 } | |
245 | |
246 void setCurrentSelector(ForIn node, Selector selector) { | |
247 _setSelector(node.inToken, selector); | |
248 } | |
249 | |
250 Selector getCurrentSelector(ForIn node) { | |
251 return _getSelector(node.inToken); | |
252 } | |
253 | |
254 Element getForInVariable(ForIn node) { | 223 Element getForInVariable(ForIn node) { |
255 return this[node]; | 224 return this[node]; |
256 } | 225 } |
257 | 226 |
258 void setConstant(Node node, ConstantExpression constant) { | 227 void setConstant(Node node, ConstantExpression constant) { |
259 if (_constants == null) { | 228 if (_constants == null) { |
260 _constants = new Maplet<Node, ConstantExpression>(); | 229 _constants = new Maplet<Node, ConstantExpression>(); |
261 } | 230 } |
262 _constants[node] = constant; | 231 _constants[node] = constant; |
263 } | 232 } |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 } | 449 } |
481 | 450 |
482 void setCurrentTypeMask(ForIn node, TypeMask mask) { | 451 void setCurrentTypeMask(ForIn node, TypeMask mask) { |
483 _setTypeMask(node.inToken, mask); | 452 _setTypeMask(node.inToken, mask); |
484 } | 453 } |
485 | 454 |
486 TypeMask getCurrentTypeMask(ForIn node) { | 455 TypeMask getCurrentTypeMask(ForIn node) { |
487 return _getTypeMask(node.inToken); | 456 return _getTypeMask(node.inToken); |
488 } | 457 } |
489 } | 458 } |
OLD | NEW |