From fb02cf80ee6b7600a664a876f7d4e2ac092e35c1 Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Wed, 27 Sep 2017 23:55:42 +0000 Subject: [PATCH] Constructors should not have type parameters when resynthesize from Kernel. Factory constructors are represented as static Procedure(s) with type parameters. This does not match to the language specification and Analyzer element model. We need to pretend that these type parameters are absent, so that we pick up the same named type parameters from the enclosing class. R=brianwilkerson@google.com, paulberry@google.com Bug: Change-Id: Id26cf0e9c08699ac46978e14640e01089a1efcbc Reviewed-on: https://dart-review.googlesource.com/9080 Reviewed-by: Brian Wilkerson --- .../lib/src/dart/element/element.dart | 3 + .../compile_time_error_code_kernel_test.dart | 12 ---- .../non_error_resolver_kernel_test.dart | 7 -- .../generated/strong_mode_kernel_test.dart | 66 ------------------- 4 files changed, 3 insertions(+), 85 deletions(-) diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart index ae539e89c2c..2828e420bf0 100644 --- a/pkg/analyzer/lib/src/dart/element/element.dart +++ b/pkg/analyzer/lib/src/dart/element/element.dart @@ -2375,6 +2375,9 @@ class ConstructorElementImpl extends ExecutableElementImpl @override bool get isStatic => false; + @override + List get kernelTypeParams => const []; + @override ElementKind get kind => ElementKind.CONSTRUCTOR; diff --git a/pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart b/pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart index 1de41956915..3a1b311b639 100644 --- a/pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart +++ b/pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart @@ -556,18 +556,6 @@ class CompileTimeErrorCodeTest_Kernel extends CompileTimeErrorCodeTest_Driver { return super.test_recursiveConstructorRedirect(); } - @override - @failingTest - test_recursiveFactoryRedirect_diverging() async { - return super.test_recursiveFactoryRedirect_diverging(); - } - - @override - @failingTest - test_recursiveFactoryRedirect_generic() async { - return super.test_recursiveFactoryRedirect_generic(); - } - @override @failingTest test_recursiveFactoryRedirect_named() async { diff --git a/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart b/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart index 3edfd9902b8..2aea3dde2bc 100644 --- a/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart +++ b/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart @@ -29,13 +29,6 @@ class NonErrorResolverTest_Kernel extends NonErrorResolverTest_Driver { @override @failingTest - test_async_future_int_with_return_future_int() async { - return super.test_async_future_int_with_return_future_int(); - } - - @override - @failingTest - @FastaProblem('https://github.com/dart-lang/sdk/issues/30812') test_conflictingConstructorNameAndMember_setter() async { return super.test_conflictingConstructorNameAndMember_setter(); } diff --git a/pkg/analyzer/test/generated/strong_mode_kernel_test.dart b/pkg/analyzer/test/generated/strong_mode_kernel_test.dart index 81496d15ff0..97645a57e9e 100644 --- a/pkg/analyzer/test/generated/strong_mode_kernel_test.dart +++ b/pkg/analyzer/test/generated/strong_mode_kernel_test.dart @@ -44,72 +44,6 @@ class StrongModeLocalInferenceTest_Kernel return super.test_factoryConstructor_propagation(); } - @override - @failingTest - test_futureOr_assignFromFuture() async { - return super.test_futureOr_assignFromFuture(); - } - - @override - @failingTest - test_futureOr_downwards1() async { - return super.test_futureOr_downwards1(); - } - - @override - @failingTest - test_futureOr_downwards2() async { - return super.test_futureOr_downwards2(); - } - - @override - @failingTest - test_futureOr_downwards3() async { - return super.test_futureOr_downwards3(); - } - - @override - @failingTest - test_futureOr_downwards4() async { - return super.test_futureOr_downwards4(); - } - - @override - @failingTest - test_futureOr_downwards5() async { - return super.test_futureOr_downwards5(); - } - - @override - @failingTest - test_futureOr_downwards6() async { - return super.test_futureOr_downwards6(); - } - - @override - @failingTest - test_futureOr_downwards7() async { - return super.test_futureOr_downwards7(); - } - - @override - @failingTest - test_futureOr_downwards8() async { - return super.test_futureOr_downwards8(); - } - - @override - @failingTest - test_futureOr_upwards1() async { - return super.test_futureOr_upwards1(); - } - - @override - @failingTest - test_futureOr_upwards2() async { - return super.test_futureOr_upwards2(); - } - @override @failingTest test_generic_partial() async {