Chromium Code Reviews| 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 '../diagnostics/source_span.dart'; | 10 import '../diagnostics/source_span.dart'; |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 104 | 104 |
| 105 /// `true` if the [analyzedElement]'s source code contains a [TryStatement]. | 105 /// `true` if the [analyzedElement]'s source code contains a [TryStatement]. |
| 106 bool get containsTryStatement; | 106 bool get containsTryStatement; |
| 107 } | 107 } |
| 108 | 108 |
| 109 class TreeElementMapping extends TreeElements { | 109 class TreeElementMapping extends TreeElements { |
| 110 final AnalyzableElement analyzedElement; | 110 final AnalyzableElement analyzedElement; |
| 111 Map<Spannable, Selector> _selectors; | 111 Map<Spannable, Selector> _selectors; |
| 112 Map<Spannable, TypeMask> _typeMasks; | 112 Map<Spannable, TypeMask> _typeMasks; |
| 113 Map<Node, DartType> _types; | 113 Map<Node, DartType> _types; |
| 114 Map<Node, DartType> typesCache = <Node, DartType>{}; | 114 |
| 115 Map<Node, DartType> _typesCache; | |
| 116 Map<Node, DartType> get typesCache => | |
| 117 _typesCache ?? _typesCache = <Node, DartType>{}; | |
|
Siggi Cherem (dart-lang)
2016/03/09 19:15:03
replace with `_typesCache ??= <Node, DartType>{}`?
| |
| 118 | |
| 115 Setlet<SourceSpan> _superUses; | 119 Setlet<SourceSpan> _superUses; |
| 116 Map<Node, ConstantExpression> _constants; | 120 Map<Node, ConstantExpression> _constants; |
| 117 Map<VariableElement, List<Node>> _potentiallyMutated; | 121 Map<VariableElement, List<Node>> _potentiallyMutated; |
| 118 Map<Node, Map<VariableElement, List<Node>>> _potentiallyMutatedIn; | 122 Map<Node, Map<VariableElement, List<Node>>> _potentiallyMutatedIn; |
| 119 Map<VariableElement, List<Node>> _potentiallyMutatedInClosure; | 123 Map<VariableElement, List<Node>> _potentiallyMutatedInClosure; |
| 120 Map<Node, Map<VariableElement, List<Node>>> _accessedByClosureIn; | 124 Map<Node, Map<VariableElement, List<Node>>> _accessedByClosureIn; |
| 121 Maplet<Send, SendStructure> _sendStructureMap; | 125 Maplet<Send, SendStructure> _sendStructureMap; |
| 122 Maplet<NewExpression, NewStructure> _newStructureMap; | 126 Maplet<NewExpression, NewStructure> _newStructureMap; |
| 123 bool containsTryStatement = false; | 127 bool containsTryStatement = false; |
| 124 | 128 |
| (...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 467 } | 471 } |
| 468 | 472 |
| 469 void setCurrentTypeMask(ForIn node, TypeMask mask) { | 473 void setCurrentTypeMask(ForIn node, TypeMask mask) { |
| 470 _setTypeMask(node.inToken, mask); | 474 _setTypeMask(node.inToken, mask); |
| 471 } | 475 } |
| 472 | 476 |
| 473 TypeMask getCurrentTypeMask(ForIn node) { | 477 TypeMask getCurrentTypeMask(ForIn node) { |
| 474 return _getTypeMask(node.inToken); | 478 return _getTypeMask(node.inToken); |
| 475 } | 479 } |
| 476 } | 480 } |
| OLD | NEW |