| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 analyzer.src.dart.element.builder; | 5 library analyzer.src.dart.element.builder; |
| 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 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 555 Expression defaultValue = node.defaultValue; | 555 Expression defaultValue = node.defaultValue; |
| 556 if (defaultValue != null) { | 556 if (defaultValue != null) { |
| 557 _visit(holder, defaultValue); | 557 _visit(holder, defaultValue); |
| 558 FunctionElementImpl initializer = | 558 FunctionElementImpl initializer = |
| 559 new FunctionElementImpl.forOffset(defaultValue.beginToken.offset); | 559 new FunctionElementImpl.forOffset(defaultValue.beginToken.offset); |
| 560 initializer.functions = holder.functions; | 560 initializer.functions = holder.functions; |
| 561 initializer.labels = holder.labels; | 561 initializer.labels = holder.labels; |
| 562 initializer.localVariables = holder.localVariables; | 562 initializer.localVariables = holder.localVariables; |
| 563 initializer.parameters = holder.parameters; | 563 initializer.parameters = holder.parameters; |
| 564 initializer.synthetic = true; | 564 initializer.synthetic = true; |
| 565 initializer.type = new FunctionTypeImpl(initializer); |
| 565 parameter.initializer = initializer; | 566 parameter.initializer = initializer; |
| 566 parameter.defaultValueCode = defaultValue.toSource(); | 567 parameter.defaultValueCode = defaultValue.toSource(); |
| 567 } | 568 } |
| 568 // visible range | 569 // visible range |
| 569 _setParameterVisibleRange(node, parameter); | 570 _setParameterVisibleRange(node, parameter); |
| 570 if (normalParameter is SimpleFormalParameter && | 571 if (normalParameter is SimpleFormalParameter && |
| 571 normalParameter.type == null) { | 572 normalParameter.type == null) { |
| 572 parameter.hasImplicitType = true; | 573 parameter.hasImplicitType = true; |
| 573 } | 574 } |
| 574 _currentHolder.addParameter(parameter); | 575 _currentHolder.addParameter(parameter); |
| (...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1154 element.final2 = isFinal; | 1155 element.final2 = isFinal; |
| 1155 if (hasInitializer) { | 1156 if (hasInitializer) { |
| 1156 ElementHolder holder = new ElementHolder(); | 1157 ElementHolder holder = new ElementHolder(); |
| 1157 _visit(holder, node.initializer); | 1158 _visit(holder, node.initializer); |
| 1158 FunctionElementImpl initializer = | 1159 FunctionElementImpl initializer = |
| 1159 new FunctionElementImpl.forOffset(node.initializer.beginToken.offset); | 1160 new FunctionElementImpl.forOffset(node.initializer.beginToken.offset); |
| 1160 initializer.functions = holder.functions; | 1161 initializer.functions = holder.functions; |
| 1161 initializer.labels = holder.labels; | 1162 initializer.labels = holder.labels; |
| 1162 initializer.localVariables = holder.localVariables; | 1163 initializer.localVariables = holder.localVariables; |
| 1163 initializer.synthetic = true; | 1164 initializer.synthetic = true; |
| 1165 initializer.type = new FunctionTypeImpl(initializer); |
| 1164 element.initializer = initializer; | 1166 element.initializer = initializer; |
| 1165 holder.validate(); | 1167 holder.validate(); |
| 1166 } | 1168 } |
| 1167 if (element is PropertyInducingElementImpl) { | 1169 if (element is PropertyInducingElementImpl) { |
| 1168 PropertyAccessorElementImpl getter = | 1170 PropertyAccessorElementImpl getter = |
| 1169 new PropertyAccessorElementImpl.forVariable(element); | 1171 new PropertyAccessorElementImpl.forVariable(element); |
| 1170 getter.getter = true; | 1172 getter.getter = true; |
| 1171 if (element.hasImplicitType) { | 1173 if (element.hasImplicitType) { |
| 1172 getter.hasImplicitReturnType = true; | 1174 getter.hasImplicitReturnType = true; |
| 1173 } | 1175 } |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1395 return null; | 1397 return null; |
| 1396 } | 1398 } |
| 1397 | 1399 |
| 1398 /** | 1400 /** |
| 1399 * Return the lexical identifiers associated with the given [identifiers]. | 1401 * Return the lexical identifiers associated with the given [identifiers]. |
| 1400 */ | 1402 */ |
| 1401 static List<String> _getIdentifiers(NodeList<SimpleIdentifier> identifiers) { | 1403 static List<String> _getIdentifiers(NodeList<SimpleIdentifier> identifiers) { |
| 1402 return identifiers.map((identifier) => identifier.name).toList(); | 1404 return identifiers.map((identifier) => identifier.name).toList(); |
| 1403 } | 1405 } |
| 1404 } | 1406 } |
| OLD | NEW |