aboutsummaryrefslogtreecommitdiff
path: root/tools/clang/blink_gc_plugin/tests/legacy_naming/persistent_field_in_gc_managed_class.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/clang/blink_gc_plugin/tests/legacy_naming/persistent_field_in_gc_managed_class.h')
-rw-r--r--tools/clang/blink_gc_plugin/tests/legacy_naming/persistent_field_in_gc_managed_class.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/clang/blink_gc_plugin/tests/legacy_naming/persistent_field_in_gc_managed_class.h b/tools/clang/blink_gc_plugin/tests/legacy_naming/persistent_field_in_gc_managed_class.h
new file mode 100644
index 00000000..a90f63cc
--- /dev/null
+++ b/tools/clang/blink_gc_plugin/tests/legacy_naming/persistent_field_in_gc_managed_class.h
@@ -0,0 +1,32 @@
+// 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.
+
+#ifndef PERSISTENT_FIELD_IN_GC_MANAGED_CLASS_H_
+#define PERSISTENT_FIELD_IN_GC_MANAGED_CLASS_H_
+
+#include "heap/stubs.h"
+
+namespace blink {
+
+class HeapObject;
+
+class PartObject {
+ DISALLOW_NEW();
+private:
+ Persistent<HeapObject> m_obj;
+};
+
+class HeapObject : public GarbageCollected<HeapObject> {
+public:
+ void trace(Visitor*);
+private:
+ PartObject m_part;
+ HeapVector<PartObject> m_parts;
+ PersistentHeapVector<Member<HeapObject> > m_objs;
+ WeakPersistent<HeapObject> m_weakPersistent;
+};
+
+}
+
+#endif