Index: tools/clang/blink_gc_plugin/CheckTraceVisitor.cpp |
diff --git a/tools/clang/blink_gc_plugin/CheckTraceVisitor.cpp b/tools/clang/blink_gc_plugin/CheckTraceVisitor.cpp |
index c996ca7dd1480a76c65ddf12f3fd8d2215aa7009..d5055c8860c2ed9b34a38c6f5872a01b3dd9e70c 100644 |
--- a/tools/clang/blink_gc_plugin/CheckTraceVisitor.cpp |
+++ b/tools/clang/blink_gc_plugin/CheckTraceVisitor.cpp |
@@ -360,11 +360,11 @@ bool CheckTraceVisitor::IsWeakCallback() const { |
return !trace_; |
} |
-void CheckTraceVisitor::MarkTraced(RecordInfo::Fields::iterator it) { |
+void CheckTraceVisitor::MarkTraced(RecordInfo::Field& field) { |
// In a weak callback we can't mark strong fields as traced. |
- if (IsWeakCallback() && !it->second.edge()->IsWeakMember()) |
+ if (IsWeakCallback() && !field.second.edge()->IsWeakMember()) |
return; |
- it->second.MarkTraced(); |
+ field.second.MarkTraced(); |
} |
void CheckTraceVisitor::FoundField(FieldDecl* field) { |
@@ -377,14 +377,13 @@ void CheckTraceVisitor::FoundField(FieldDecl* field) { |
it != info_->GetFields().end(); |
++it) { |
if (it->first->getNameAsString() == name) { |
- MarkTraced(it); |
+ MarkTraced(*it); |
break; |
} |
} |
} else { |
- RecordInfo::Fields::iterator it = info_->GetFields().find(field); |
- if (it != info_->GetFields().end()) |
- MarkTraced(it); |
+ if (info_->HasField(field)) |
+ MarkTraced(info_->GetField(field)); |
} |
} |