| 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 summary_resynthesizer; | 5 library summary_resynthesizer; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 import 'package:analyzer/dart/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
| 10 import 'package:analyzer/dart/ast/token.dart'; | 10 import 'package:analyzer/dart/ast/token.dart'; |
| (...skipping 2154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2165 UnitExplicitTopLevelVariables buildUnitExplicitTopLevelVariables() { | 2165 UnitExplicitTopLevelVariables buildUnitExplicitTopLevelVariables() { |
| 2166 List<UnlinkedVariable> unlinkedVariables = unlinkedUnit.variables; | 2166 List<UnlinkedVariable> unlinkedVariables = unlinkedUnit.variables; |
| 2167 int numberOfVariables = unlinkedVariables.length; | 2167 int numberOfVariables = unlinkedVariables.length; |
| 2168 UnitExplicitTopLevelVariables variablesData = | 2168 UnitExplicitTopLevelVariables variablesData = |
| 2169 new UnitExplicitTopLevelVariables(numberOfVariables); | 2169 new UnitExplicitTopLevelVariables(numberOfVariables); |
| 2170 for (int i = 0; i < numberOfVariables; i++) { | 2170 for (int i = 0; i < numberOfVariables; i++) { |
| 2171 UnlinkedVariable unlinkedVariable = unlinkedVariables[i]; | 2171 UnlinkedVariable unlinkedVariable = unlinkedVariables[i]; |
| 2172 TopLevelVariableElementImpl element; | 2172 TopLevelVariableElementImpl element; |
| 2173 if (unlinkedVariable.initializer?.bodyExpr != null && | 2173 if (unlinkedVariable.initializer?.bodyExpr != null && |
| 2174 unlinkedVariable.isConst) { | 2174 unlinkedVariable.isConst) { |
| 2175 ConstTopLevelVariableElementImpl constElement = | 2175 element = new ConstTopLevelVariableElementImpl.forSerialized( |
| 2176 new ConstTopLevelVariableElementImpl.forSerialized( | 2176 unlinkedVariable, unit); |
| 2177 unlinkedVariable, unit); | |
| 2178 element = constElement; | |
| 2179 constElement.constantInitializer = | |
| 2180 _buildConstExpression(null, unlinkedVariable.initializer.bodyExpr); | |
| 2181 } else { | 2177 } else { |
| 2182 element = new TopLevelVariableElementImpl.forSerialized( | 2178 element = new TopLevelVariableElementImpl.forSerialized( |
| 2183 unlinkedVariable, unit); | 2179 unlinkedVariable, unit); |
| 2184 } | 2180 } |
| 2185 variablesData.variables[i] = element; | 2181 variablesData.variables[i] = element; |
| 2186 // implicit accessors | 2182 // implicit accessors |
| 2187 variablesData.implicitAccessors.add(buildImplicitGetter(element)); | 2183 variablesData.implicitAccessors.add(buildImplicitGetter(element)); |
| 2188 if (!(element.isConst || element.isFinal)) { | 2184 if (!(element.isConst || element.isFinal)) { |
| 2189 variablesData.implicitAccessors.add(buildImplicitSetter(element)); | 2185 variablesData.implicitAccessors.add(buildImplicitSetter(element)); |
| 2190 } | 2186 } |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2400 static String _getElementIdentifier(String name, ReferenceKind kind) { | 2396 static String _getElementIdentifier(String name, ReferenceKind kind) { |
| 2401 if (kind == ReferenceKind.topLevelPropertyAccessor || | 2397 if (kind == ReferenceKind.topLevelPropertyAccessor || |
| 2402 kind == ReferenceKind.propertyAccessor) { | 2398 kind == ReferenceKind.propertyAccessor) { |
| 2403 if (!name.endsWith('=')) { | 2399 if (!name.endsWith('=')) { |
| 2404 return name + '?'; | 2400 return name + '?'; |
| 2405 } | 2401 } |
| 2406 } | 2402 } |
| 2407 return name; | 2403 return name; |
| 2408 } | 2404 } |
| 2409 } | 2405 } |
| OLD | NEW |