Skip to content

Commit 53defca

Browse files
alexmarkovCommit Queue
authored andcommitted
[vm,dyn_modules] Fix type parameter indices in nested function types in bytecode
TEST=ci (co19/LanguageFeatures/Generic-functions-as-type-args/typedef1_A01_t04) Change-Id: Ia3146e91b4da4adaf14fe34d9dcf5d4129daba9d Cq-Include-Trybots: luci.dart.try:vm-aot-dyn-linux-debug-x64-try,vm-aot-dyn-linux-product-x64-try,vm-dyn-linux-debug-x64-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/444180 Commit-Queue: Alexander Markov <[email protected]> Reviewed-by: Tess Strickland <[email protected]>
1 parent 8ef843e commit 53defca

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

pkg/dart2bytecode/lib/object_table.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2173,7 +2173,8 @@ class _NodeVisitor extends VisitorDefault<ObjectHandle?>
21732173

21742174
@override
21752175
ObjectHandle? visitFunctionType(FunctionType node) {
2176-
final int numEnclosingTypeParameters = _typeParameters.length;
2176+
final int numEnclosingTypeParameters =
2177+
objectTable.numEnclosingFunctionTypeParameters + _typeParameters.length;
21772178
for (int i = 0; i < node.typeParameters.length; ++i) {
21782179
_typeParameters[node.typeParameters[i]] = objectTable.getOrAddObject(
21792180
new _TypeParameterHandle(
@@ -2198,8 +2199,7 @@ class _NodeVisitor extends VisitorDefault<ObjectHandle?>
21982199
final returnType = objectTable.getHandle(node.returnType) as _TypeHandle;
21992200

22002201
final result = objectTable.getOrAddObject(new _FunctionTypeHandle(
2201-
objectTable.numEnclosingFunctionTypeParameters +
2202-
numEnclosingTypeParameters,
2202+
numEnclosingTypeParameters,
22032203
typeParameters,
22042204
node.requiredParameterCount,
22052205
positionalParams,

0 commit comments

Comments
 (0)