| 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/visitor.dart'; | 10 import 'package:analyzer/dart/ast/visitor.dart'; |
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 543 return super.visitDeclaredIdentifier(node); | 543 return super.visitDeclaredIdentifier(node); |
| 544 } | 544 } |
| 545 | 545 |
| 546 @override | 546 @override |
| 547 Object visitDefaultFormalParameter(DefaultFormalParameter node) { | 547 Object visitDefaultFormalParameter(DefaultFormalParameter node) { |
| 548 ElementHolder holder = new ElementHolder(); | 548 ElementHolder holder = new ElementHolder(); |
| 549 NormalFormalParameter normalParameter = node.parameter; | 549 NormalFormalParameter normalParameter = node.parameter; |
| 550 SimpleIdentifier parameterName = normalParameter.identifier; | 550 SimpleIdentifier parameterName = normalParameter.identifier; |
| 551 ParameterElementImpl parameter; | 551 ParameterElementImpl parameter; |
| 552 if (normalParameter is FieldFormalParameter) { | 552 if (normalParameter is FieldFormalParameter) { |
| 553 parameter = new DefaultFieldFormalParameterElementImpl(parameterName); | 553 parameter = |
| 554 new DefaultFieldFormalParameterElementImpl.forNode(parameterName); |
| 554 FieldElement field = | 555 FieldElement field = |
| 555 _fieldMap == null ? null : _fieldMap[parameterName.name]; | 556 _fieldMap == null ? null : _fieldMap[parameterName.name]; |
| 556 if (field != null) { | 557 if (field != null) { |
| 557 (parameter as DefaultFieldFormalParameterElementImpl).field = field; | 558 (parameter as DefaultFieldFormalParameterElementImpl).field = field; |
| 558 } | 559 } |
| 559 } else { | 560 } else { |
| 560 parameter = new DefaultParameterElementImpl(parameterName); | 561 parameter = new DefaultParameterElementImpl.forNode(parameterName); |
| 561 } | 562 } |
| 562 parameter.const3 = node.isConst; | 563 parameter.const3 = node.isConst; |
| 563 parameter.final2 = node.isFinal; | 564 parameter.final2 = node.isFinal; |
| 564 parameter.parameterKind = node.kind; | 565 parameter.parameterKind = node.kind; |
| 565 // set initializer, default value range | 566 // set initializer, default value range |
| 566 Expression defaultValue = node.defaultValue; | 567 Expression defaultValue = node.defaultValue; |
| 567 if (defaultValue != null) { | 568 if (defaultValue != null) { |
| 568 _visit(holder, defaultValue); | 569 _visit(holder, defaultValue); |
| 569 FunctionElementImpl initializer = | 570 FunctionElementImpl initializer = |
| 570 new FunctionElementImpl.forOffset(defaultValue.beginToken.offset); | 571 new FunctionElementImpl.forOffset(defaultValue.beginToken.offset); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 return null; | 627 return null; |
| 627 } | 628 } |
| 628 | 629 |
| 629 @override | 630 @override |
| 630 Object visitFieldFormalParameter(FieldFormalParameter node) { | 631 Object visitFieldFormalParameter(FieldFormalParameter node) { |
| 631 if (node.parent is! DefaultFormalParameter) { | 632 if (node.parent is! DefaultFormalParameter) { |
| 632 SimpleIdentifier parameterName = node.identifier; | 633 SimpleIdentifier parameterName = node.identifier; |
| 633 FieldElement field = | 634 FieldElement field = |
| 634 _fieldMap == null ? null : _fieldMap[parameterName.name]; | 635 _fieldMap == null ? null : _fieldMap[parameterName.name]; |
| 635 FieldFormalParameterElementImpl parameter = | 636 FieldFormalParameterElementImpl parameter = |
| 636 new FieldFormalParameterElementImpl(parameterName); | 637 new FieldFormalParameterElementImpl.forNode(parameterName); |
| 637 parameter.const3 = node.isConst; | 638 parameter.const3 = node.isConst; |
| 638 parameter.final2 = node.isFinal; | 639 parameter.final2 = node.isFinal; |
| 639 parameter.parameterKind = node.kind; | 640 parameter.parameterKind = node.kind; |
| 640 if (field != null) { | 641 if (field != null) { |
| 641 parameter.field = field; | 642 parameter.field = field; |
| 642 } | 643 } |
| 643 _currentHolder.addParameter(parameter); | 644 _currentHolder.addParameter(parameter); |
| 644 parameterName.staticElement = parameter; | 645 parameterName.staticElement = parameter; |
| 645 } | 646 } |
| 646 // | 647 // |
| (...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1454 return null; | 1455 return null; |
| 1455 } | 1456 } |
| 1456 | 1457 |
| 1457 /** | 1458 /** |
| 1458 * Return the lexical identifiers associated with the given [identifiers]. | 1459 * Return the lexical identifiers associated with the given [identifiers]. |
| 1459 */ | 1460 */ |
| 1460 static List<String> _getIdentifiers(NodeList<SimpleIdentifier> identifiers) { | 1461 static List<String> _getIdentifiers(NodeList<SimpleIdentifier> identifiers) { |
| 1461 return identifiers.map((identifier) => identifier.name).toList(); | 1462 return identifiers.map((identifier) => identifier.name).toList(); |
| 1462 } | 1463 } |
| 1463 } | 1464 } |
| OLD | NEW |