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

Unified Diff: tools/clang/blink_gc_plugin/CheckTraceVisitor.cpp

Issue 1645763004: blink_gc_plugin: Make RecordInfo::Get{Fields,Bases} return deterministic order (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
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));
}
}

Powered by Google App Engine
This is Rietveld 408576698