Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / tools / clang / blink_gc_plugin / tests / weak_fields_require_tracing.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef WEAK_FIELDS_REQUIRE_TRACING_H_
6 #define WEAK_FIELDS_REQUIRE_TRACING_H_
7
8 #include "heap/stubs.h"
9
10 namespace WebCore {
11
12 class HeapObject : public GarbageCollected<HeapObject> {
13 public:
14     void trace(Visitor*);
15     void clearWeakMembers(Visitor*);
16 private:
17     Member<HeapObject> m_obj1;
18     WeakMember<HeapObject> m_obj2;
19     WeakMember<HeapObject> m_obj3;
20     HeapHashSet<WeakMember<HeapObject> > m_set1;
21     HeapHashSet<WeakMember<HeapObject> > m_set2;
22 };
23
24 }
25
26 #endif