diff --git a/pkg/front_end/lib/src/base/incremental_compiler.dart b/pkg/front_end/lib/src/base/incremental_compiler.dart index f2f465e9cfd..5bcd6df83f8 100644 --- a/pkg/front_end/lib/src/base/incremental_compiler.dart +++ b/pkg/front_end/lib/src/base/incremental_compiler.dart @@ -1997,7 +1997,7 @@ class IncrementalCompiler implements IncrementalKernelGenerator { } } - bool isExtensionOrExtensionType = false; + bool isExtensionOrExtensionTypeInstanceMember = false; String? extensionName; if (usedMethodName != null) { int indexOfDot = usedMethodName.indexOf("."); @@ -2023,16 +2023,14 @@ class IncrementalCompiler implements IncrementalKernelGenerator { } extensionName = beforeDot; if (builder is ExtensionBuilder) { - isExtensionOrExtensionType = true; offsetToUse = builder.fileOffset; Builder? subBuilder = builder.lookupLocalMember(afterDot)?.getable; if (subBuilder is MemberBuilder) { if (subBuilder.isExtensionInstanceMember) { - isStatic = false; + isExtensionOrExtensionTypeInstanceMember = true; } } } else if (builder is ExtensionTypeDeclarationBuilder) { - isExtensionOrExtensionType = true; offsetToUse = builder.fileOffset; Builder? subBuilder = builder.lookupLocalMember(afterDot)?.getable; if (subBuilder is MemberBuilder) { @@ -2060,7 +2058,7 @@ class IncrementalCompiler implements IncrementalKernelGenerator { usedDefinitions[syntheticThisName] = substitution .substituteType(positionals.first.type); } - isStatic = false; + isExtensionOrExtensionTypeInstanceMember = true; } } } @@ -2085,9 +2083,9 @@ class IncrementalCompiler implements IncrementalKernelGenerator { for (String name in usedDefinitions.keys) { if (isLegalIdentifier(name)) continue; if (isExtensionThisName(name) && - !isStatic && - isExtensionOrExtensionType) { - // Accept #this for extensions and extension types. + isExtensionOrExtensionTypeInstanceMember) { + // Accept #this for "instance members" on extensions and + // extension types. continue; } @@ -2226,8 +2224,7 @@ class IncrementalCompiler implements IncrementalKernelGenerator { type: def.value, )..fileOffset = offsetToUse ?? libraryBuilder.library.fileOffset; - if (isExtensionOrExtensionType && - !isStatic && + if (isExtensionOrExtensionTypeInstanceMember && isExtensionThisName(def.key) && extensionThis == null) { // The `#this` variable is special. diff --git a/pkg/front_end/testcases/expression/extension_type_04.expression.yaml.expect b/pkg/front_end/testcases/expression/extension_type_04.expression.yaml.expect index eb9d664701b..e072ee8db70 100644 --- a/pkg/front_end/testcases/expression/extension_type_04.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/extension_type_04.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo% /* erasure=dart.core::int, declared=! */ #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo% /* erasure=dart.core::int, declared=! */ #this) → dynamic return #this as{Unchecked} dart.core::int; diff --git a/pkg/front_end/testcases/expression/extension_type_with_inner_function_declaration.expression.yaml.expect b/pkg/front_end/testcases/expression/extension_type_with_inner_function_declaration.expression.yaml.expect index eb9d664701b..e072ee8db70 100644 --- a/pkg/front_end/testcases/expression/extension_type_with_inner_function_declaration.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/extension_type_with_inner_function_declaration.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo% /* erasure=dart.core::int, declared=! */ #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo% /* erasure=dart.core::int, declared=! */ #this) → dynamic return #this as{Unchecked} dart.core::int; diff --git a/pkg/front_end/testcases/expression/extension_type_with_inner_function_expression.expression.yaml.expect b/pkg/front_end/testcases/expression/extension_type_with_inner_function_expression.expression.yaml.expect index eb9d664701b..e072ee8db70 100644 --- a/pkg/front_end/testcases/expression/extension_type_with_inner_function_expression.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/extension_type_with_inner_function_expression.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo% /* erasure=dart.core::int, declared=! */ #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo% /* erasure=dart.core::int, declared=! */ #this) → dynamic return #this as{Unchecked} dart.core::int; diff --git a/pkg/front_end/testcases/expression/extension_type_with_type_parameter.expression.yaml.expect b/pkg/front_end/testcases/expression/extension_type_with_type_parameter.expression.yaml.expect index 2ec96a396c2..65cef505b79 100644 --- a/pkg/front_end/testcases/expression/extension_type_with_type_parameter.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/extension_type_with_type_parameter.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo<#lib2::debugExpr::T>% /* erasure=dart.core::int, declared=! */ #this, #lib2::debugExpr::T constant) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::Foo<#lib2::debugExpr::T>% /* erasure=dart.core::int, declared=! */ #this, #lib2::debugExpr::T constant) → dynamic return constant.{dart.core::Enum::index}{dart.core::int}; diff --git a/pkg/front_end/testcases/expression/extension_with_inner_function_declaration.expression.yaml.expect b/pkg/front_end/testcases/expression/extension_with_inner_function_declaration.expression.yaml.expect index 90ad65a4091..8477a89e535 100644 --- a/pkg/front_end/testcases/expression/extension_with_inner_function_declaration.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/extension_with_inner_function_declaration.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered dart.core::int #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered dart.core::int #this) → dynamic return #this; diff --git a/pkg/front_end/testcases/expression/extension_with_inner_function_declaration_vm_sending_in_weird_order.expression.yaml.expect b/pkg/front_end/testcases/expression/extension_with_inner_function_declaration_vm_sending_in_weird_order.expression.yaml.expect index bbd3d2d29ff..65f8bac2c18 100644 --- a/pkg/front_end/testcases/expression/extension_with_inner_function_declaration_vm_sending_in_weird_order.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/extension_with_inner_function_declaration_vm_sending_in_weird_order.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dart.core::int offset, lowered dart.core::String #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dart.core::int offset, lowered dart.core::String #this) → dynamic return offset.{dart.core::num::+}(#this.{dart.core::String::length}{dart.core::int}){(dart.core::num) → dart.core::int}; diff --git a/pkg/front_end/testcases/expression/extension_with_inner_function_expression.expression.yaml.expect b/pkg/front_end/testcases/expression/extension_with_inner_function_expression.expression.yaml.expect index 90ad65a4091..8477a89e535 100644 --- a/pkg/front_end/testcases/expression/extension_with_inner_function_expression.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/extension_with_inner_function_expression.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered dart.core::int #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered dart.core::int #this) → dynamic return #this; diff --git a/pkg/front_end/testcases/expression/issue_56911_02.expression.yaml.expect b/pkg/front_end/testcases/expression/issue_56911_02.expression.yaml.expect index 13591f4d5d2..4b3add62e9b 100644 --- a/pkg/front_end/testcases/expression/issue_56911_02.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/issue_56911_02.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::ExtensionType% /* erasure=dart.core::String, declared=! */ #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::ExtensionType% /* erasure=dart.core::String, declared=! */ #this) → dynamic return #this as{Unchecked} dart.core::String; diff --git a/pkg/front_end/testcases/expression/issue_56911_03.expression.yaml.expect b/pkg/front_end/testcases/expression/issue_56911_03.expression.yaml.expect index 4aaaffe0439..94097d2d336 100644 --- a/pkg/front_end/testcases/expression/issue_56911_03.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/issue_56911_03.expression.yaml.expect @@ -1,6 +1,6 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::ExtensionType% /* erasure=dart.core::String, declared=! */ #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::ExtensionType% /* erasure=dart.core::String, declared=! */ #this) → dynamic return (() → Null { #this as{Unchecked} dart.core::String; (#this as{Unchecked} dart.core::String).{dart.core::String::codeUnitAt}(0){(dart.core::int) → dart.core::int}; diff --git a/pkg/front_end/testcases/expression/issue_56911_04.expression.yaml.expect b/pkg/front_end/testcases/expression/issue_56911_04.expression.yaml.expect index 14b33839f64..dce00777ea0 100644 --- a/pkg/front_end/testcases/expression/issue_56911_04.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/issue_56911_04.expression.yaml.expect @@ -1,6 +1,6 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::ExtensionType<#lib2::debugExpr::E>% /* erasure=#lib2::debugExpr::E, declared=! */ #this) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered #lib1::ExtensionType<#lib2::debugExpr::E>% /* erasure=#lib2::debugExpr::E, declared=! */ #this) → dynamic return (() → Null { #this{dynamic}.s; #this{dynamic}.s{dynamic}.codeUnitAt(0); diff --git a/pkg/front_end/testcases/expression/issue_61294_01.expression.yaml.expect b/pkg/front_end/testcases/expression/issue_61294_01.expression.yaml.expect index d8cc403074b..c01009e07f1 100644 --- a/pkg/front_end/testcases/expression/issue_61294_01.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/issue_61294_01.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered dart.core::String #this, dart.core::String str) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered dart.core::String #this, dart.core::String str) → dynamic return str; diff --git a/pkg/front_end/testcases/expression/issue_61294_02.expression.yaml.expect b/pkg/front_end/testcases/expression/issue_61294_02.expression.yaml.expect index d8cc403074b..c01009e07f1 100644 --- a/pkg/front_end/testcases/expression/issue_61294_02.expression.yaml.expect +++ b/pkg/front_end/testcases/expression/issue_61294_02.expression.yaml.expect @@ -1,4 +1,4 @@ Errors: { } -method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered dart.core::String #this, dart.core::String str) → dynamic +static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(lowered dart.core::String #this, dart.core::String str) → dynamic return str;