| Index: pkg/analyzer/test/generated/resolver_test.dart
|
| diff --git a/pkg/analyzer/test/generated/resolver_test.dart b/pkg/analyzer/test/generated/resolver_test.dart
|
| index 0c1a4a040c58b7200c9da1f29f8eaac8eacf8f33..66380677ec31404b455a47d541cdf6d61177ad40 100644
|
| --- a/pkg/analyzer/test/generated/resolver_test.dart
|
| +++ b/pkg/analyzer/test/generated/resolver_test.dart
|
| @@ -207,17 +207,20 @@ class AnalysisContextFactory {
|
| ElementFactory.requiredParameter2(
|
| "value", futureElement.typeParameters[0].type)
|
| ];
|
| - FunctionElementImpl onValueFunction = new FunctionElementImpl.forNode(null);
|
| - onValueFunction.synthetic = true;
|
| - onValueFunction.parameters = parameters;
|
| - onValueFunction.returnType = provider.dynamicType;
|
| - onValueFunction.enclosingElement = futureElement;
|
| - onValueFunction.type = new FunctionTypeImpl(onValueFunction);
|
| + FunctionTypeAliasElementImpl aliasElement =
|
| + new FunctionTypeAliasElementImpl.forNode(null);
|
| + aliasElement.synthetic = true;
|
| + aliasElement.parameters = parameters;
|
| + aliasElement.returnType = provider.dynamicType;
|
| + aliasElement.enclosingElement = asyncUnit;
|
| + aliasElement.shareTypeParameters(futureElement.typeParameters);
|
| + FunctionTypeImpl aliasType = new FunctionTypeImpl.forTypedef(aliasElement);
|
| + aliasElement.type = aliasType;
|
| DartType futureDynamicType =
|
| futureElement.type.substitute4([provider.dynamicType]);
|
| MethodElement thenMethod = ElementFactory.methodElementWithParameters(
|
| futureElement, "then", futureDynamicType, [
|
| - ElementFactory.requiredParameter2("onValue", onValueFunction.type),
|
| + ElementFactory.requiredParameter2("onValue", aliasType),
|
| ElementFactory.namedParameter2("onError", provider.functionType)
|
| ]);
|
| futureElement.methods = <MethodElement>[thenMethod];
|
| @@ -12212,30 +12215,6 @@ main() {
|
| expect(ft.toString(), '(String) → List<int>');
|
| }
|
|
|
| - void test_genericMethod_functionTypedParameter() {
|
| - _resolveTestUnit(r'''
|
| -class C<E> {
|
| - List/*<T>*/ f/*<T>*/(/*=T*/ f(E e)) => null;
|
| -}
|
| -main() {
|
| - C<String> cOfString;
|
| -}
|
| -''');
|
| - SimpleIdentifier f = _findIdentifier('f');
|
| - MethodElementImpl e = f.staticElement;
|
| - expect(e.typeParameters.toString(), '[T]');
|
| - expect(e.type.typeParameters.toString(), '[T, E]');
|
| - expect(e.type.typeArguments.toString(), '[T, E]');
|
| - expect(e.type.toString(), '((E) → T) → List<T>');
|
| -
|
| - SimpleIdentifier c = _findIdentifier('cOfString');
|
| - FunctionType ft = (c.staticType as InterfaceType).getMethod('f').type;
|
| - expect(ft.toString(), '((String) → T) → List<T>');
|
| - DartType t = e.typeParameters[0].type;
|
| - ft = ft.substitute2([typeProvider.intType], [t]);
|
| - expect(ft.toString(), '((String) → int) → List<int>');
|
| - }
|
| -
|
| void test_pseudoGeneric_max_doubleDouble() {
|
| String code = r'''
|
| import 'dart:math';
|
|
|