Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Unified Diff: pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart

Issue 2963833002: More fixes for missing interface targets when not in strong mode. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.direct.expect » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
index fcbf81920b6cfb44cd3d725718c7cda74d66c322..e5ae7cd8268d4410f31266ef6bce8c811bb80c3c 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
@@ -354,13 +354,17 @@ abstract class TypeInferrerImpl extends TypeInferrer {
var interfaceMember = findInterfaceMember(
receiverType, propertyGet.name, propertyGet.fileOffset,
silent: silent);
- propertyGet.interfaceTarget = interfaceMember;
+ if (strongMode) {
+ propertyGet.interfaceTarget = interfaceMember;
+ }
return interfaceMember;
} else if (propertyGet is SuperPropertyGet) {
var interfaceMember = findInterfaceMember(
receiverType, propertyGet.name, propertyGet.fileOffset,
silent: silent);
- propertyGet.interfaceTarget = interfaceMember;
+ if (strongMode) {
+ propertyGet.interfaceTarget = interfaceMember;
+ }
return interfaceMember;
} else {
throw internalError(
@@ -376,13 +380,17 @@ abstract class TypeInferrerImpl extends TypeInferrer {
var interfaceMember = findInterfaceMember(
receiverType, propertySet.name, propertySet.fileOffset,
setter: true, silent: silent);
- propertySet.interfaceTarget = interfaceMember;
+ if (strongMode) {
+ propertySet.interfaceTarget = interfaceMember;
+ }
return interfaceMember;
} else if (propertySet is SuperPropertySet) {
var interfaceMember = findInterfaceMember(
receiverType, propertySet.name, propertySet.fileOffset,
setter: true, silent: silent);
- propertySet.interfaceTarget = interfaceMember;
+ if (strongMode) {
+ propertySet.interfaceTarget = interfaceMember;
+ }
return interfaceMember;
} else {
throw internalError(
« no previous file with comments | « no previous file | pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.direct.expect » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698