aboutsummaryrefslogtreecommitdiff
path: root/tools/clang/blink_gc_plugin/tests/legacy_naming/fields_require_tracing.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/clang/blink_gc_plugin/tests/legacy_naming/fields_require_tracing.cpp')
-rw-r--r--tools/clang/blink_gc_plugin/tests/legacy_naming/fields_require_tracing.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/clang/blink_gc_plugin/tests/legacy_naming/fields_require_tracing.cpp b/tools/clang/blink_gc_plugin/tests/legacy_naming/fields_require_tracing.cpp
new file mode 100644
index 00000000..880ce1e9
--- /dev/null
+++ b/tools/clang/blink_gc_plugin/tests/legacy_naming/fields_require_tracing.cpp
@@ -0,0 +1,26 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// 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) {
+ 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) {
+ // Missing visitor->trace(m_set);
+ visitor->trace(m_vector);
+}
+
+void HeapObject::trace(Visitor* visitor) {
+ // Missing visitor->trace(m_part);
+ visitor->trace(m_obj);
+}
+
+}