// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "fields_require_tracing.h"
namespace blink {
void PartObject::Trace(Visitor* visitor) const {
m_obj1->Trace(visitor); // Don't allow direct tracing.
visitor->Trace(m_obj2);
// Missing visitor->Trace(m_obj3);
visitor->Trace(m_parts);
}
void PartBObject::Trace(Visitor* visitor) const {
// Missing visitor->Trace(m_set);
visitor->Trace(m_vector);
}
void HeapObject::Trace(Visitor* visitor) const {
// Missing visitor->Trace(m_part);
for (auto& member : m_traced_array1) {
visitor->Trace(member);
}
for (int i = 0; i < array_size; ++i) {
visitor->Trace(m_traced_array2[i]);
}
for (auto& member : m_traced_array3) {
visitor->Trace(member);
}
for (int i = 0; i < array_size; ++i) {
visitor->Trace(m_traced_array4[i]);
}
visitor->Trace(m_obj);
}
}