| 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));
|
| }
|
| }
|
|
|
|
|