| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 /** | 5 /** |
| 6 * This library is capable of producing linked summaries from unlinked | 6 * This library is capable of producing linked summaries from unlinked |
| 7 * ones (or prelinked ones). It functions by building a miniature | 7 * ones (or prelinked ones). It functions by building a miniature |
| 8 * element model to represent the contents of the summaries, and then | 8 * element model to represent the contents of the summaries, and then |
| 9 * scanning the element model to gather linked information and adding | 9 * scanning the element model to gather linked information and adding |
| 10 * it to the summary data structures. | 10 * it to the summary data structures. |
| (...skipping 3086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3097 @override | 3097 @override |
| 3098 FunctionElementForLink_Local getLocalFunction(int index) { | 3098 FunctionElementForLink_Local getLocalFunction(int index) { |
| 3099 List<FunctionElementForLink_Local_NonSynthetic> functions = this.functions; | 3099 List<FunctionElementForLink_Local_NonSynthetic> functions = this.functions; |
| 3100 return index < functions.length ? functions[index] : null; | 3100 return index < functions.length ? functions[index] : null; |
| 3101 } | 3101 } |
| 3102 | 3102 |
| 3103 /** | 3103 /** |
| 3104 * Store the results of type inference for this function in [compilationUnit]. | 3104 * Store the results of type inference for this function in [compilationUnit]. |
| 3105 */ | 3105 */ |
| 3106 void link(CompilationUnitElementInBuildUnit compilationUnit) { | 3106 void link(CompilationUnitElementInBuildUnit compilationUnit) { |
| 3107 compilationUnit._storeLinkedType( | 3107 if (_unlinkedExecutable.returnType == null) { |
| 3108 _unlinkedExecutable.inferredReturnTypeSlot, inferredReturnType, this); | 3108 compilationUnit._storeLinkedType( |
| 3109 _unlinkedExecutable.inferredReturnTypeSlot, inferredReturnType, this); |
| 3110 } |
| 3109 for (FunctionElementForLink_Local_NonSynthetic function in functions) { | 3111 for (FunctionElementForLink_Local_NonSynthetic function in functions) { |
| 3110 function.link(compilationUnit); | 3112 function.link(compilationUnit); |
| 3111 } | 3113 } |
| 3112 } | 3114 } |
| 3113 | 3115 |
| 3114 @override | 3116 @override |
| 3115 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 3117 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
| 3116 | 3118 |
| 3117 @override | 3119 @override |
| 3118 void _setInferredType(DartType type) { | 3120 void _setInferredType(DartType type) { |
| (...skipping 1940 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5059 * there are no type parameters in scope. | 5061 * there are no type parameters in scope. |
| 5060 */ | 5062 */ |
| 5061 TypeParameterizedElementMixin get _typeParameterContext; | 5063 TypeParameterizedElementMixin get _typeParameterContext; |
| 5062 | 5064 |
| 5063 @override | 5065 @override |
| 5064 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 5066 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
| 5065 | 5067 |
| 5066 @override | 5068 @override |
| 5067 String toString() => '$enclosingElement.$name'; | 5069 String toString() => '$enclosingElement.$name'; |
| 5068 } | 5070 } |
| OLD | NEW |