Index: pkg/compiler/lib/src/inferrer/locals_handler.dart |
diff --git a/pkg/compiler/lib/src/inferrer/locals_handler.dart b/pkg/compiler/lib/src/inferrer/locals_handler.dart |
index b44552906553ddeb537fc002dc550793d9e84ca2..8e4ec2eb3d665677c6428447eef643b567d8d49e 100644 |
--- a/pkg/compiler/lib/src/inferrer/locals_handler.dart |
+++ b/pkg/compiler/lib/src/inferrer/locals_handler.dart |
@@ -300,7 +300,8 @@ class LocalsHandler { |
TypeInformation use(Local local) { |
if (capturedAndBoxed.containsKey(local)) { |
- return inferrer.typeOfElement(capturedAndBoxed[local]); |
+ FieldElement field = capturedAndBoxed[local]; |
+ return inferrer.typeOfMember(field); |
} else { |
if (captured.containsKey(local)) { |
inferrer.recordCapturedLocalRead(local); |
@@ -334,7 +335,7 @@ class LocalsHandler { |
} |
if (capturedAndBoxed.containsKey(local)) { |
- inferrer.recordTypeOfNonFinalField(node, capturedAndBoxed[local], type); |
+ inferrer.recordTypeOfNonFinalField(capturedAndBoxed[local], type); |
} else if (inTryBlock) { |
// We don'TypeInformation know if an assignment in a try block |
// will be executed, so all assignments in that block are |