| 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.element; | 5 library analyzer.src.dart.element.element; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 import 'dart:math' show min; | 8 import 'dart:math' show min; |
| 9 | 9 |
| 10 import 'package:analyzer/dart/ast/ast.dart'; | 10 import 'package:analyzer/dart/ast/ast.dart'; |
| (...skipping 4053 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4064 return hasModifier(Modifier.GENERATOR); | 4064 return hasModifier(Modifier.GENERATOR); |
| 4065 } | 4065 } |
| 4066 | 4066 |
| 4067 @override | 4067 @override |
| 4068 bool get isOperator => false; | 4068 bool get isOperator => false; |
| 4069 | 4069 |
| 4070 @override | 4070 @override |
| 4071 bool get isSynchronous => !isAsynchronous; | 4071 bool get isSynchronous => !isAsynchronous; |
| 4072 | 4072 |
| 4073 @override | 4073 @override |
| 4074 List<kernel.TypeParameter> get kernelTypeParams => null; | 4074 List<kernel.TypeParameter> get kernelTypeParams { |
| 4075 return _kernel?.function?.typeParameters; |
| 4076 } |
| 4075 | 4077 |
| 4076 @override | 4078 @override |
| 4077 List<ElementAnnotation> get metadata { | 4079 List<ElementAnnotation> get metadata { |
| 4078 if (serializedExecutable != null) { | 4080 if (serializedExecutable != null) { |
| 4079 return _metadata ??= | 4081 return _metadata ??= |
| 4080 _buildAnnotations(enclosingUnit, serializedExecutable.annotations); | 4082 _buildAnnotations(enclosingUnit, serializedExecutable.annotations); |
| 4081 } | 4083 } |
| 4082 return super.metadata; | 4084 return super.metadata; |
| 4083 } | 4085 } |
| 4084 | 4086 |
| (...skipping 4075 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8160 .resolveTypeRef(this, _unlinkedParam.type, declaredType: true); | 8162 .resolveTypeRef(this, _unlinkedParam.type, declaredType: true); |
| 8161 } | 8163 } |
| 8162 } | 8164 } |
| 8163 } | 8165 } |
| 8164 | 8166 |
| 8165 /** | 8167 /** |
| 8166 * Create and return [ParameterElement]s for the given [function]. | 8168 * Create and return [ParameterElement]s for the given [function]. |
| 8167 */ | 8169 */ |
| 8168 static List<ParameterElement> forKernelFunction( | 8170 static List<ParameterElement> forKernelFunction( |
| 8169 ElementImpl enclosingElement, kernel.FunctionNode function) { | 8171 ElementImpl enclosingElement, kernel.FunctionNode function) { |
| 8170 if (function.positionalParameters.isNotEmpty || | 8172 return forKernelParameters( |
| 8171 function.namedParameters.isNotEmpty) { | 8173 enclosingElement, |
| 8174 function.requiredParameterCount, |
| 8175 function.positionalParameters, |
| 8176 function.namedParameters); |
| 8177 } |
| 8178 |
| 8179 /** |
| 8180 * Create and return [ParameterElement]s for the given Kernel parameters. |
| 8181 */ |
| 8182 static List<ParameterElement> forKernelParameters( |
| 8183 ElementImpl enclosingElement, |
| 8184 int requiredParameterCount, |
| 8185 List<kernel.VariableDeclaration> positionalParameters, |
| 8186 List<kernel.VariableDeclaration> namedParameters) { |
| 8187 if (positionalParameters.isNotEmpty || namedParameters.isNotEmpty) { |
| 8172 var parameters = <ParameterElement>[]; | 8188 var parameters = <ParameterElement>[]; |
| 8173 | 8189 |
| 8174 // Add positional required and optional parameters. | 8190 // Add positional required and optional parameters. |
| 8175 for (int i = 0; i < function.positionalParameters.length; i++) { | 8191 for (int i = 0; i < positionalParameters.length; i++) { |
| 8176 kernel.VariableDeclaration parameter = function.positionalParameters[i]; | 8192 kernel.VariableDeclaration parameter = positionalParameters[i]; |
| 8177 if (i < function.requiredParameterCount) { | 8193 if (i < requiredParameterCount) { |
| 8178 if (parameter.isFieldFormal) { | 8194 if (parameter.isFieldFormal) { |
| 8179 parameters.add(new FieldFormalParameterElementImpl.forKernel( | 8195 parameters.add(new FieldFormalParameterElementImpl.forKernel( |
| 8180 enclosingElement, parameter, ParameterKind.REQUIRED)); | 8196 enclosingElement, parameter, ParameterKind.REQUIRED)); |
| 8181 } else { | 8197 } else { |
| 8182 parameters.add(new ParameterElementImpl.forKernel( | 8198 parameters.add(new ParameterElementImpl.forKernel( |
| 8183 enclosingElement, parameter, ParameterKind.REQUIRED)); | 8199 enclosingElement, parameter, ParameterKind.REQUIRED)); |
| 8184 } | 8200 } |
| 8185 } else { | 8201 } else { |
| 8186 if (parameter.isFieldFormal) { | 8202 if (parameter.isFieldFormal) { |
| 8187 parameters.add(new DefaultFieldFormalParameterElementImpl.forKernel( | 8203 parameters.add(new DefaultFieldFormalParameterElementImpl.forKernel( |
| 8188 enclosingElement, parameter, ParameterKind.POSITIONAL)); | 8204 enclosingElement, parameter, ParameterKind.POSITIONAL)); |
| 8189 } else { | 8205 } else { |
| 8190 parameters.add(new DefaultParameterElementImpl.forKernel( | 8206 parameters.add(new DefaultParameterElementImpl.forKernel( |
| 8191 enclosingElement, parameter, ParameterKind.POSITIONAL)); | 8207 enclosingElement, parameter, ParameterKind.POSITIONAL)); |
| 8192 } | 8208 } |
| 8193 } | 8209 } |
| 8194 } | 8210 } |
| 8195 | 8211 |
| 8196 // Add named parameters. | 8212 // Add named parameters. |
| 8197 for (var k in function.namedParameters) { | 8213 for (var k in namedParameters) { |
| 8198 if (k.isFieldFormal) { | 8214 if (k.isFieldFormal) { |
| 8199 parameters.add(new DefaultFieldFormalParameterElementImpl.forKernel( | 8215 parameters.add(new DefaultFieldFormalParameterElementImpl.forKernel( |
| 8200 enclosingElement, k, ParameterKind.NAMED)); | 8216 enclosingElement, k, ParameterKind.NAMED)); |
| 8201 } else { | 8217 } else { |
| 8202 parameters.add(new DefaultParameterElementImpl.forKernel( | 8218 parameters.add(new DefaultParameterElementImpl.forKernel( |
| 8203 enclosingElement, k, ParameterKind.NAMED)); | 8219 enclosingElement, k, ParameterKind.NAMED)); |
| 8204 } | 8220 } |
| 8205 } | 8221 } |
| 8206 | 8222 |
| 8207 return parameters; | 8223 return parameters; |
| (...skipping 1378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9586 | 9602 |
| 9587 @override | 9603 @override |
| 9588 DartObject computeConstantValue() => null; | 9604 DartObject computeConstantValue() => null; |
| 9589 | 9605 |
| 9590 @override | 9606 @override |
| 9591 void visitChildren(ElementVisitor visitor) { | 9607 void visitChildren(ElementVisitor visitor) { |
| 9592 super.visitChildren(visitor); | 9608 super.visitChildren(visitor); |
| 9593 _initializer?.accept(visitor); | 9609 _initializer?.accept(visitor); |
| 9594 } | 9610 } |
| 9595 } | 9611 } |
| OLD | NEW |