| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 part of world_builder; | 5 part of world_builder; |
| 6 | 6 |
| 7 /// World builder specific to codegen. | 7 /// World builder specific to codegen. |
| 8 /// | 8 /// |
| 9 /// This adds additional access to liveness of selectors and elements. | 9 /// This adds additional access to liveness of selectors and elements. |
| 10 abstract class CodegenWorldBuilder implements WorldBuilder { | 10 abstract class CodegenWorldBuilder implements WorldBuilder { |
| (...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 .forEachInstanceField(f, includeSuperAndInjectedMembers: true); | 581 .forEachInstanceField(f, includeSuperAndInjectedMembers: true); |
| 582 } | 582 } |
| 583 | 583 |
| 584 @override | 584 @override |
| 585 void forEachParameter(MethodElement function, | 585 void forEachParameter(MethodElement function, |
| 586 void f(DartType type, String name, ConstantValue defaultValue)) { | 586 void f(DartType type, String name, ConstantValue defaultValue)) { |
| 587 FunctionSignature parameters = function.functionSignature; | 587 FunctionSignature parameters = function.functionSignature; |
| 588 parameters.orderedForEachParameter((_parameter) { | 588 parameters.orderedForEachParameter((_parameter) { |
| 589 ParameterElement parameter = _parameter; | 589 ParameterElement parameter = _parameter; |
| 590 ConstantValue value; | 590 ConstantValue value; |
| 591 if (parameter.constant != null) { | 591 if (parameter.isOptional) { |
| 592 value = _constants.getConstantValue(parameter.constant); | 592 value = _constants.getConstantValue(parameter.constant); |
| 593 } else { | |
| 594 value = new NullConstantValue(); | |
| 595 } | 593 } |
| 596 f(parameter.type, parameter.name, value); | 594 f(parameter.type, parameter.name, value); |
| 597 }); | 595 }); |
| 598 } | 596 } |
| 599 | 597 |
| 600 @override | 598 @override |
| 601 void _processInstantiatedClassMember( | 599 void _processInstantiatedClassMember( |
| 602 ClassEntity cls, MemberElement member, MemberUsedCallback memberUsed) { | 600 ClassEntity cls, MemberElement member, MemberUsedCallback memberUsed) { |
| 603 assert(member.isDeclaration, failedAt(member)); | 601 assert(member.isDeclaration, failedAt(member)); |
| 604 if (member.isMalformed) return; | 602 if (member.isMalformed) return; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 658 | 656 |
| 659 @override | 657 @override |
| 660 void forEachInstanceField( | 658 void forEachInstanceField( |
| 661 ClassEntity cls, void f(ClassEntity declarer, FieldEntity field)) { | 659 ClassEntity cls, void f(ClassEntity declarer, FieldEntity field)) { |
| 662 _elementEnvironment.forEachClassMember(cls, | 660 _elementEnvironment.forEachClassMember(cls, |
| 663 (ClassEntity declarer, MemberEntity member) { | 661 (ClassEntity declarer, MemberEntity member) { |
| 664 if (member.isField && member.isInstanceMember) f(declarer, member); | 662 if (member.isField && member.isInstanceMember) f(declarer, member); |
| 665 }); | 663 }); |
| 666 } | 664 } |
| 667 } | 665 } |
| OLD | NEW |