| Index: pkg/analyzer/lib/src/generated/type_system.dart
|
| diff --git a/pkg/analyzer/lib/src/generated/type_system.dart b/pkg/analyzer/lib/src/generated/type_system.dart
|
| index 426bd4c2c1d035b26b45b9d4bd99553d21a86d13..f7d0e19872f0ddf06b05c11a8fa965f0166af8c2 100644
|
| --- a/pkg/analyzer/lib/src/generated/type_system.dart
|
| +++ b/pkg/analyzer/lib/src/generated/type_system.dart
|
| @@ -348,6 +348,26 @@ class StrongTypeSystemImpl extends TypeSystem {
|
| }
|
|
|
| @override
|
| + DartType refineBinaryExpressionType(
|
| + TypeProvider typeProvider,
|
| + DartType leftType,
|
| + TokenType operator,
|
| + DartType rightType,
|
| + DartType currentType) {
|
| + if (leftType is TypeParameterType &&
|
| + leftType.element.bound == typeProvider.numType &&
|
| + leftType == rightType) {
|
| + if (operator == TokenType.PLUS ||
|
| + operator == TokenType.MINUS ||
|
| + operator == TokenType.STAR) {
|
| + return leftType;
|
| + }
|
| + }
|
| + return super.refineBinaryExpressionType(
|
| + typeProvider, leftType, operator, rightType, currentType);
|
| + }
|
| +
|
| + @override
|
| DartType typeToConcreteType(TypeProvider typeProvider, DartType t) {
|
| if (t is FunctionType) {
|
| return functionTypeToConcreteType(typeProvider, t);
|
|
|