Index: pkg/compiler/lib/src/js_backend/backend.dart |
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart |
index 15b8de496ee7a89c6107e068974543cdded93b45..bd59c2d575d2d399d525057c422d6bc91df7a974 100644 |
--- a/pkg/compiler/lib/src/js_backend/backend.dart |
+++ b/pkg/compiler/lib/src/js_backend/backend.dart |
@@ -2738,7 +2738,12 @@ class JavaScriptImpactTransformer extends ImpactTransformer { |
if (type.isTypedef) { |
backend.compiler.world.allTypedefs.add(type.element); |
} |
- if (type.isTypeVariable) { |
+ if (type.isTypeVariable && type is! MethodTypeVariableType) { |
+ // GENERIC_METHODS: The `is!` test above filters away method type |
+ // variables, because they have the value `dynamic` with the |
+ // incomplete support for generic methods offered with |
+ // '--generic-method-syntax'. This must be revised in order to |
+ // support generic methods fully. |
ClassElement cls = type.element.enclosingClass; |
backend.rti.registerClassUsingTypeVariableExpression(cls); |
registerBackendImpact(transformed, impacts.typeVariableExpression); |