| Index: pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
|
| index 5e064d168d61c397e9f89fb6ab510b72f0e6a0e0..dc9d033e9584b9717516fb3ef72f8aede2087baa 100644
|
| --- a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
|
| +++ b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
|
| @@ -177,6 +177,10 @@ abstract class TypeInferrer {
|
|
|
| /// Performs type inference on the given constructor initializer.
|
| void inferInitializer(Initializer initializer);
|
| +
|
| + /// Performs type inference on the given function parameter initializer
|
| + /// expression.
|
| + void inferParameterInitializer(Expression initializer, DartType declaredType);
|
| }
|
|
|
| /// Derived class containing generic implementations of [TypeInferrer].
|
| @@ -489,6 +493,13 @@ abstract class TypeInferrerImpl extends TypeInferrer {
|
| return inferredType;
|
| }
|
|
|
| + @override
|
| + void inferParameterInitializer(
|
| + Expression initializer, DartType declaredType) {
|
| + assert(closureContext == null);
|
| + inferExpression(initializer, declaredType, false);
|
| + }
|
| +
|
| /// Modifies a type as appropriate when inferring a closure return type.
|
| DartType inferReturnType(DartType returnType, bool isExpressionFunction) {
|
| if (returnType == null) {
|
|
|