[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 <alexmarkov@google.com> Reviewed-by: Tess Strickland <sstrickl@google.com>
This commit is contained in:
committed by
Commit Queue
parent
8ef843ef4f
commit
53defca14d
@@ -2173,7 +2173,8 @@ class _NodeVisitor extends VisitorDefault<ObjectHandle?>
|
||||
|
||||
@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<ObjectHandle?>
|
||||
final returnType = objectTable.getHandle(node.returnType) as _TypeHandle;
|
||||
|
||||
final result = objectTable.getOrAddObject(new _FunctionTypeHandle(
|
||||
objectTable.numEnclosingFunctionTypeParameters +
|
||||
numEnclosingTypeParameters,
|
||||
numEnclosingTypeParameters,
|
||||
typeParameters,
|
||||
node.requiredParameterCount,
|
||||
positionalParams,
|
||||
|
||||
Reference in New Issue
Block a user