diff --git a/pkg/dart2bytecode/lib/object_table.dart b/pkg/dart2bytecode/lib/object_table.dart index 06ff4b83d11..9e803e8e3fb 100644 --- a/pkg/dart2bytecode/lib/object_table.dart +++ b/pkg/dart2bytecode/lib/object_table.dart @@ -2173,7 +2173,8 @@ class _NodeVisitor extends VisitorDefault @override ObjectHandle? visitFunctionType(FunctionType node) { - final int numEnclosingTypeParameters = _typeParameters.length; + final int numEnclosingTypeParameters = + objectTable.numEnclosingFunctionTypeParameters + _typeParameters.length; for (int i = 0; i < node.typeParameters.length; ++i) { _typeParameters[node.typeParameters[i]] = objectTable.getOrAddObject( new _TypeParameterHandle( @@ -2198,8 +2199,7 @@ class _NodeVisitor extends VisitorDefault final returnType = objectTable.getHandle(node.returnType) as _TypeHandle; final result = objectTable.getOrAddObject(new _FunctionTypeHandle( - objectTable.numEnclosingFunctionTypeParameters + - numEnclosingTypeParameters, + numEnclosingTypeParameters, typeParameters, node.requiredParameterCount, positionalParams,