Index: runtime/vm/kernel_binary_flowgraph.cc |
diff --git a/runtime/vm/kernel_binary_flowgraph.cc b/runtime/vm/kernel_binary_flowgraph.cc |
index eb976d501057907c862ded382cf5c70f9c8cdba2..0d605996acf8d50ef73295748053cbc40773f6ea 100644 |
--- a/runtime/vm/kernel_binary_flowgraph.cc |
+++ b/runtime/vm/kernel_binary_flowgraph.cc |
@@ -5311,6 +5311,7 @@ Fragment StreamingFlowGraphBuilder::BuildPropertyGet(TokenPosition* p) { |
(H.IsGetter(itarget_name) || H.IsField(itarget_name))) { |
interface_target = &Function::ZoneHandle( |
Z, LookupMethodByMember(itarget_name, H.DartGetterName(itarget_name))); |
+ ASSERT(getter_name.raw() == interface_target->name()); |
} |
const intptr_t kTypeArgsLen = 0; |
@@ -5342,6 +5343,7 @@ Fragment StreamingFlowGraphBuilder::BuildPropertySet(TokenPosition* p) { |
if (FLAG_experimental_strong_mode && !H.IsRoot(itarget_name)) { |
interface_target = &Function::ZoneHandle( |
Z, LookupMethodByMember(itarget_name, H.DartSetterName(itarget_name))); |
+ ASSERT(setter_name.raw() == interface_target->name()); |
} |
const intptr_t kTypeArgsLen = 0; |
@@ -5573,10 +5575,12 @@ Fragment StreamingFlowGraphBuilder::BuildMethodInvocation(TokenPosition* p) { |
const Function* interface_target = &Function::null_function(); |
NameIndex itarget_name = |
ReadCanonicalNameReference(); // read interface_target_reference. |
- if (FLAG_experimental_strong_mode && !H.IsRoot(itarget_name)) { |
+ if (FLAG_experimental_strong_mode && !H.IsRoot(itarget_name) && |
+ !H.IsField(itarget_name)) { |
interface_target = &Function::ZoneHandle( |
Z, |
LookupMethodByMember(itarget_name, H.DartProcedureName(itarget_name))); |
+ ASSERT(name.raw() == interface_target->name()); |
} |
instructions += |