From 3add88c95580076b0f125b2038966b56e161020b Mon Sep 17 00:00:00 2001 From: Sigmund Cherem Date: Tue, 20 Sep 2022 20:09:05 +0000 Subject: [PATCH] [dart2js] cleanup element_map_impl Small follow up cleanup in element_map_impl addressing comments from the previous code review. Change-Id: I1eea8bba35575b953de4686351e60f0cbf353d84 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260066 Commit-Queue: Sigmund Cherem Reviewed-by: Mayank Patke --- pkg/compiler/lib/src/js_model/element_map_impl.dart | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkg/compiler/lib/src/js_model/element_map_impl.dart b/pkg/compiler/lib/src/js_model/element_map_impl.dart index 8e0b835b1e8..fe5706c4acd 100644 --- a/pkg/compiler/lib/src/js_model/element_map_impl.dart +++ b/pkg/compiler/lib/src/js_model/element_map_impl.dart @@ -1521,12 +1521,12 @@ class JsKernelToElementMap } @override - FunctionEntity getSuperNoSuchMethod(ClassEntity? cls) { - while (cls != null) { - cls = elementEnvironment.getSuperClass(cls); - if (cls == null) break; - MemberEntity? member = - elementEnvironment.lookupLocalClassMember(cls, Names.noSuchMethod_); + FunctionEntity getSuperNoSuchMethod(ClassEntity cls) { + while (true) { + ClassEntity? superclass = elementEnvironment.getSuperClass(cls); + if (superclass == null) break; + MemberEntity? member = elementEnvironment.lookupLocalClassMember( + superclass, Names.noSuchMethod_); if (member != null && !member.isAbstract) { if (member.isFunction) { final function = member as FunctionEntity; @@ -1538,6 +1538,7 @@ class JsKernelToElementMap // `Object.superNoSuchMethod`. break; } + cls = superclass; } return elementEnvironment.lookupLocalClassMember( commonElements.objectClass, Names.noSuchMethod_)! as FunctionEntity;